QuarkDash:TypeScript 高负载系统后量子混合协议
QuarkDash 结合 Ring-LWE 实现后量子密钥交换、流密码 ChaCha20 或 Gimli、SHAKE-256 用于密钥派生和 MAC,并防护重放攻击和时序攻击。公钥大小约 2 KB,私钥约 1 KB。会话建立平均耗时 8-9 ms,适用于普通 CPU。完美适配客户端-服务器系统,无架构锁定。
QuarkDash 的原语选择
Ring-LWE 用于密钥交换
Ring-LWE 使用多项式环,参数 N=256、Q=7681、ω=7,提供 128 位后量子安全性。多项式乘法通过 NTT 实现 O(N log N) 复杂度。密钥生成约 12 ms,封装/解封装约 8-9 ms。
对称加密
- ChaCha20:20 轮,256 位密钥,12 字节 nonce。软件实现极快,抗时序攻击。
- Gimli:24 轮,384 位状态,256 位安全性。在 32 位架构上超越 ChaCha20,IoT 代码更精简。
SHAKE-256 实现 KDF 和 MAC
基于 Keccak 的 SHAKE-256 提供抗量子密钥派生和认证。KDF:SHAKE256(salt || sharedSecret || "session-key", 64) → sessionKey (32 字节) + macKey (32 字节)。MAC:SHAKE256(macKey || header || ciphertext, 32),恒定时间验证。
协议流程详解
密钥生成
- 选择 a ∈ Z_Q^N。
- 小型 s、e,系数 {-1,0,1}。
- b = a ⊗ s + e (NTT)。
- 公钥:(a, b),私钥:s。
会话 KEM
发起方:
- u = a ⊗ s' + e'。
- sharedSecret 来自 b ⊗ s'。
接收方:sharedSecret 来自 u ⊗ s。
消息加密
- header = 时间戳 (8 字节) || 序列号 (4 字节)。
- ciphertext = streamCipher.encrypt(plaintext, sessionKey, nonce)。
- mac = SHAKE256(macKey || header || ciphertext, 32)。
- 数据包:header || ciphertext || mac。
消息解密
- 解析数据包。
- 恒定时间验证 MAC。
- 检查时间戳在 5 分钟内。
- 确保序列号唯一(窗口 1000)。
- plaintext = streamCipher.decrypt(ciphertext)。
安全措施
- 后量子抗性:Ring-LWE 无已知量子破解,SHAKE-256 抗 Grover 算法。
- 侧信道防护:恒定时间比较、安全密钥清零、无密钥相关分支。
- 前向保密:临时会话密钥。
- 重放防护:时间戳 + 序列号。
整体安全性:针对经典/量子威胁 128-256 位。
性能基准测试
会话建立 (ms,1000 次平均)
| 操作 | QuarkDash (ChaCha20) | QuarkDash (Gimli) | ECDH P-256 | RSA-2048 |
|----------|----------------------|-------------------|------------|----------|
| 密钥生成 | 12.3 | 12.1 | 1.2 | 48 |
| KEM 封装 | 8.7 | 8.5 | 3.4 | 42 |
| KEM 解封装 | 9.2 | 9.0 | 3.4 | 0.1 |
吞吐量 (MB/s)
| 大小 | ChaCha20 | Gimli | AES-256-GCM | ECIES |
|--------|----------|-------|-------------|-------|
| 1 KB | 125 | 132 | 117 | 10 |
| 1 MB | 2380 | 2630 | 1176 | 48 |
| 10 MB | 2450 | 2710 | 1200 | 50 |
开销:公钥 2 KB,私钥 1 KB,数据包开销 44 字节。
与其他方案对比
- 对比 AES:QuarkDash 内置 KEM、前向保密、重放防护。ChaCha20 在无硬件加速的软件中胜过 AES。
- 对比 ECC:抗 Shor 算法,数据包开销更低 (44 vs 61 字节),大负载更快。
协议针对 TypeScript Web 应用优化,SHAKE-256 在 Keccak 上模拟实现。
核心要点
- Ring-LWE (N=256, Q=7681) 提供 128 位 PQC,NTT 乘法。
- 双密码:ChaCha20 适配软件,Gimli 适配 IoT。
- SHAKE-256 KDF/MAC,恒定时间操作。
- 重放防护:时间戳 + 序列号 (窗口 1000)。
- 基准:加密最高 2710 MB/s,会话约 9 ms。
— Editorial Team
暂无评论。