为什么我们不能等待更好的后量子签名算法

日期 :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
SLH-DSA-128s ✅ 已标准化 32 B 7,856 B 14,000× 40×
FN-DSA-512 📝 标准草案中 897 B 666 B 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 上车,再等更好的方案来升级。 这就是后量子时代的现实------我们无法选择完美的时机,只能选择正确的方向。

相关推荐
长风2302 小时前
Day 16:大屏呈现——管理层视角 Dashboard 设计
人工智能·安全
头茬韭菜2 小时前
4.1-4.2 工具注册 — Fail-Closed 类型安全设计与四层工具架构
java·安全·架构
Sirius Wu3 小时前
OpenClaw SubAgent 三层安全约束完整详解
人工智能·安全·ai·架构·aigc
昊星自动化3 小时前
昊星自动化携智慧实验室环境管理系统亮相2026 青岛蓝博化工装备展,助力实验室安全节能双效协同
安全·自动化·实验室建设·文丘里阀·房间通风控制
Bruce_Liuxiaowei3 小时前
一次内网横向移动实战:从一个 5900 端口到穿越防火墙
运维·网络·安全
2601_9623649714 小时前
Windows Hello VS 传统密码:身份认证安全层级全面对比分析
windows·安全·电脑
2601_9571746518 小时前
零基础学网络安全能学好吗
安全·web安全
aaPIXa62218 小时前
C++ 用 13 条规则让模型写出安全现代 C++
java·c++·安全
m0_7381207221 小时前
PHP代码审计基础——超全局变量(三)
开发语言·安全·网络安全·php