日期 :2026-07-13 主题 :为什么我们不能等待更好的后量子签名算法 原文 :为什么我们不能等待更好的后量子签名算法 来源 :The Cloudflare Blog 领域:🔒 安全/网络
背景
2024 年,NIST 正式标准化了 ML-KEM(加密)和 ML-DSA(签名)------这是后量子密码学迈出的里程碑式一步。如今,Cloudflare 上已有大部分流量使用 ML-KEM 加密,迁移工作正在加速推进。
但在签名算法方面,情况要复杂得多。ML-DSA 虽然已经可用,但与经典的 Ed25519 或 RSA 相比,它的公钥和签名体积大了整整一个数量级。许多基于 RSA 和 ECC 的"花式密码学"技巧在 ML-DSA 上根本无法实现。
好消息是,NIST 并没有停下脚步。就在上个月,他们宣布将 九种后量子签名方案 推进到第三轮评估("签名 on-ramp"),其中还包括即将发布的 FN-DSA(前身为 Falcon)标准草案。
那么问题来了:这些新的签名算法到底有多好?我们能不能等它们出来再用?Cloudflare 这篇深度分析给了我们一个非常清晰的答案------不能等,但原因恰恰是这些新算法太重要了。
核心内容
后量子签名全景图:没有"全能冠军"
我们先来看一张宏观对比表。Cloudflare 整理了一份全面的基准数据,比较了各种签名算法在 128 位安全级别下的性能表现。
| 算法 | 安全级 | 公钥大小 | 签名大小 | 签名耗时 | 验签耗时 |
|---|---|---|---|---|---|
| Ed25519 | ❌ 经典 | 32 B | 64 B | 0.15× | 1.3× |
| RSA-2048 | ❌ 经典 | 272 B | 256 B | 80× | 0.4× |
| ML-DSA-44 | ✅ 已标准化 | 1,312 B | 2,420 B | 1× | 1× |
| SLH-DSA-128s | ✅ 已标准化 | 32 B | 7,856 B | 14,000× | 40× |
| FN-DSA-512 | 📝 标准草案中 | 897 B | 666 B | 3× | 0.7× |
| SQIsign I | 🤔 第三轮 | 65 B | 148 B | 300× | 50× |
| MAYO one | 🤔 第三轮 | 1,420 B | 454 B | 2.1× | 0.4× |
| UOV Is-pkc | 🤔 第三轮 | 66,576 B | 96 B | 0.3× | 2.4× |
注:CPU 耗时以 ML-DSA-44 签名为基准(1×),数据来自 NIST 提交文档和 PQShield 签名动物园。
这张表透露了一个残酷的事实:Ed25519 在不考虑量子安全的情况下,几乎在所有指标上都是最好的------公钥仅 32 字节,签名仅 64 字节,签名速度极快。而进入后量子时代后,没有一个算法能同时在所有指标上接近 Ed25519 的水平。
新算法大致分为两类:"专精型" (在某个指标上表现优异但其他方面有明显短板)和 "通才型"(各方面表现均衡,但没有特别突出的单项)。ML-DSA 就是典型的通才型------签名大小 2.4KB、公钥 1.3KB,虽然比 Ed25519 大得多,但各项指标都在可接受范围内。
专精型算法逐个看
SQIsign:签名最小,但慢得令人揪心
SQIsign 的签名仅 148 字节,公钥只有 65 字节------这已经比 RSA-2048 还小了。如果光看网络传输字节数,SQIsign 几乎是 ECC 的完美后量子替代品。
但天下没有免费的午餐。SQIsign 有三个致命弱点:
第一,它是所有候选方案中 数学上最复杂的。基于同源密码学(isogenies),SQIsign 的后台数学极其丰富,这意味着巨大的"数学攻击面"。之前同样是基于同源的 SIKE 就在 NIST 竞赛后期被彻底攻破,这是一个前车之鉴。
第二,签名速度极慢 。即使不考虑侧信道防护,SQIsign 签名也比 ML-DSA 慢 300 倍。如果加上时序侧信道防护,还会更慢。这意味着在可预见的未来,SQIsign 不太可能用于 TLS 握手这样的 在线签名 场景。不过对于 CA 证书签名、DNSSEC 这类 离线签名 场景(验签速度比签名速度更重要),SQIsign 仍有应用空间。
第三,实现难度极高,尤其是在侧信道安全方面。
Cloudflare 给了 SQIsign 团队一个愿望清单:进一步降低验签时间(即使牺牲签名速度),让侧信道安全实现成为默认配置,以及最重要的是------简化方案本身。
UOV:签名超小,但公钥巨大
UOV(非平衡油醋方案)是 1999 年提出的经典多变量签名算法。它的签名仅 96 字节------比 RSA-2048 的签名还小。但代价是公钥高达 66KB。
这么大的公钥在 TLS 证书场景中几乎不可用------每次建立连接都要传输公钥,66KB 的开销不可接受。但在 公钥预分发 的场景下,UOV 就有用武之地了。比如 WebPKI 中,浏览器信任大约一百个根证书和 30 个证书透明度日志,如果全部用 UOV,公钥总量约 8MB,这还是可以接受的。
不过,UOV 的安全历史值得我们关注。2020 年发现的"交集攻击"(Intersection Attack)移除了约 30 位的安全性。2025 年发表的"楔子攻击"(Wedges Attack)又移除了约 15 位。尽管 UOV 可以通过调整参数来缓解这些攻击,但这种频繁的"安全修正"说明我们对多变量密码学的理解还不够成熟。
Hash-Based Signatures:极致保守,但代价巨大
基于哈希的签名方案(如 SLH-DSA 和状态化的 LMS/XMSS)有一个独特优势------它们的安全性完全建立在哈希函数上,而哈希函数是密码学中最经过考验的基石。不需要担心格密码或多变量密码学中那种"突然被攻破"的风险。
但代价也很明显。SLH-DSA-128s 的签名高达 7.8KB,签名速度比 ML-DSA 慢 14,000 倍。即使选择速度优化版 SLH-DSA-128f,签名也有 17KB,速度慢 720 倍。
更麻烦的是状态化哈希签名(LMS/XMSS)。它们要求签名者精确追踪"一次性签名密钥"的使用状态,如果状态管理出错(比如从备份恢复旧状态),攻击者就能伪造签名。这让它在实际部署中极其脆弱。
FN-DSA:指标漂亮,但实现是噩梦
FN-DSA(前身 Falcon)的指标看起来非常诱人:公钥 897 字节,签名 666 字节,验签速度比 ML-DSA 还快。它已被选为 FIPS 206 标准。
但问题在于 签名实现 。FN-DSA 最自然的实现依赖硬件浮点运算------这在密码学标准中是史无前例的。浮点运算在不同 CPU 上的行为不同(a+(b+c) 和 (a+b)+c 的结果只保证"近似"而非"相等"),这使得安全实现变得极其微妙。
更致命的是,两个由不同实现从同一私钥产生的确定性签名,可以被用来 推导出私钥的一部分。虽然 FN-DSA 使用了随机化来防止这一点,但这给测试和验证带来了巨大挑战。
通才型候选:谁是 ML-DSA 的继任者?
MAYO vs SNOVA:多变量方案的双雄对决
MAYO 和 SNOVA 都是 UOV 的变体,通过在公钥中增加额外结构来减小其体积。但它们采取了完全不同的路线。
MAYO 走的是保守路线。它在 UOV 之上增加了"鞭打"(whipping)结构,但至今没有发现针对这一特定结构的攻击。MAYO one 的签名仅 454 字节,公钥 1.4KB,验签速度是所有后量子方案中最快的之一。如果要求 174 位安全边际(而非 128 位),公钥+签名合计约 2.1KB------仍然比 ML-DSA-44 的 3.7KB 小。
SNOVA 则大胆得多。它的主参数集签名仅 248 字节(比 RSA-2048 还小!),公钥仅 1KB。在所有后量子方案中(除 SQIsign 外),SNOVA 的公钥+签名合计是最小的。
但 SNOVA 的安全记录令人担忧。它已经多次因特定结构攻击而被迫调整参数------不是微调,而是 彻底改变底层结构。NIST 已经表示多变量方案至少还需要一轮评审,对 SNOVA 来说这可能是好事,但对 MAYO 来说,它的设计已经足够稳定。
Proof-of-Knowledge 方案:未来可期的通用框架
FAEST、MQOM 和 SDitH 共享一个精巧的设计:它们的公钥是一个困难问题的实例,私钥是该问题的解。签名就是一个"零知识证明",证明签名者知道这个解。
这三者的最大亮点是 通用性 。它们的零知识证明系统可以用来证明任意陈述,不只是签名。这意味着我们可以基于它们构建 盲签名 、匿名凭证 等更高级的密码学原语。例如,结合 FAEST 和 MAYO,已经有人构建出了高效的后量子匿名凭证系统。
FAEST 的安全性甚至可以基于 AES------全世界研究最深入、最受信任的密码算法之一。这使得 FAEST 与 SLH-DSA 一样保守,但性能却好得多。
时间线:为什么说"不能等"
Cloudflare 梳理了 ML-DSA 从竞赛到实际部署的时间线:
| 阶段 | 时间 |
|---|---|
| 提交竞赛 | 2017 年 11 月 |
| NIST 选择标准化 | 2022 年 7 月 |
| 最终标准发布 | 2024 年 8 月 |
| 证书标准 RFC | 2025 年 10 月 |
| OpenSSL 支持 | 2025 年 4 月 |
| WebPKI 首批证书 | 预计 2027 年初 |
整个过程用了 将近 10 年。现在来看看新算法的时间预期:
- FN-DSA :如果今天发布草案,以 ML-DSA 的速度推进,最早也要 2033 年 才能广泛可用
- 多变量方案 :至少还需要一轮评审(约 2 年),广泛可用不早于 2034 年
- SQIsign :很可能需要第四轮评审,广泛可用 2035 年之后
- Proof-of-Knowledge 方案 :最快可能在 2030 年 看到标准
Cloudflare 的目标是在 2029 年 完成全面后量子迁移。美国最新的行政令将截止日期定在 2031 年。这些新算法没有一个能赶得上。
但这不是放弃的理由。正如 Cloudflare 所说:"You go to war with the algorithms you have, not the ones you wish you had."
总结与展望
ML-DSA 虽不完美,但它是我们今天唯一能用的后量子签名算法。那些指标更好、签名更小、速度更快的新算法,要么在安全上还需要更多验证,要么在实现上过于复杂,要么两者兼备。它们将在未来十年陆续成熟,届时将帮助解决 ML-DSA 在一些特定场景中的不足------比如带宽极度受限的环境、需要更小签名的特殊设备,以及匿名凭证等更高级的密码学应用。
但迁移不能等。先用 ML-DSA 上车,再等更好的方案来升级。 这就是后量子时代的现实------我们无法选择完美的时机,只能选择正确的方向。