4. 后量子密码标准化进展

后量子密码迁移的工程起点,不是“选一个看起来安全的算法”,而是理解标准化机构已经确认了哪些算法、它们各自解决什么问题、在什么场景下适用。NIST 自 2016 年启动后量子密码标准化项目以来,经过多轮征集、筛选与评估,于 2022 年 7 月公布了首批入选算法,并在 2024 年 8 月正式发布了三项联邦信息处理标准(FIPS):FIPS 203(ML-KEM,源自 CRYSTALS-Kyber)、FIPS 204(ML-DSA,源自 CRYSTALS-Dilithium)和 FIPS 205(SLH-DSA,源自 SPHINCS+)。这三项标准构成了当前后量子迁移最核心的算法基线。

理解这些算法,需要先区分两类完全不同的密码学功能:密钥封装/加密与数字签名。前者用于建立共享密钥、保护数据传输,后者用于身份认证、固件签名、证书签发等场景。NIST 的标准也正是按这两条线推进的。

ML-KEM(FIPS 203):基于 Kyber 的密钥封装机制

ML-KEM 源自 CRYSTALS-Kyber,是一种基于模格上带误差学习问题(Module-LWE)的密钥封装机制(KEM)。它的核心作用是:通信双方在不安全信道上协商出一个共享密钥,供后续对称加密使用。与传统的 RSA 密钥传输或 ECDH 密钥交换相比,ML-KEM 的安全性不依赖大整数分解或椭圆曲线离散对数问题,因此能抵抗 Shor 算法攻击。

ML-KEM 定义了三个参数集:ML-KEM-512、ML-KEM-768 和 ML-KEM-1024,分别对应 NIST 安全强度等级 1、3、5。工程上最常被推荐的是 ML-KEM-768,它在安全强度与性能之间取得较好平衡。其公钥约 1184 字节,密文约 1088 字节,封装和解封装在普通服务器 CPU 上通常只需几十微秒量级。需要注意的是,ML-KEM 是 KEM,不是通用加密算法,不能直接拿来“加密一段任意长度的数据”,而是用于生成共享密钥。

ML-DSA(FIPS 204):基于 Dilithium 的数字签名

ML-DSA 源自 CRYSTALS-Dilithium,同样基于模格困难问题,用于数字签名。它提供 ML-DSA-44、ML-DSA-65、ML-DSA-87 三个参数集,对应安全等级 2、3、5。与 ML-KEM 相比,ML-DSA 的签名和公钥尺寸更大:以 ML-DSA-65 为例,公钥约 1952 字节,签名约 3309 字节。这意味着在 TLS 证书链、代码签名、文档签名等场景中,需要重新评估报文大小、存储开销和传输分片问题。

ML-DSA 的验证速度较快,签名速度也较理想,适合作为通用数字签名的主力算法。NIST 在 FIPS 204 中明确了密钥生成、签名和验证的完整流程,并给出了确定性与随机化签名选项。工程实现中应优先使用经过验证的密码库,而不是自行实现格运算。

FALCON:紧凑型格签名

FALCON 是另一类基于格问题的签名算法,其数学基础是 NTRU 格上的短向量问题。与 Dilithium 相比,FALCON 的签名和公钥更紧凑:在相近安全强度下,FALCON-512 的公钥约 897 字节,签名约 666 字节。这使得它在带宽或存储受限的场景中具有吸引力,例如嵌入式设备、部分区块链和证书压缩场景。

但 FALCON 的工程实现难度更高,主要因为其签名过程涉及浮点运算和高斯采样,侧信道防护和跨平台一致性更复杂。NIST 已将 FALCON 纳入标准化轨道,但在 FIPS 205 之外,FALCON 的正式标准状态与实现成熟度仍需持续关注。实际迁移中,若没有明确的紧凑性刚需,通常优先选择 ML-DSA。

SPHINCS+(FIPS 205):基于哈希的无状态签名

SPHINCS+ 与上述三种格密码不同,它基于哈希函数构造,安全性假设更保守,不依赖格问题的困难性。FIPS 205 将其标准化为 SLH-DSA(Stateless Hash-Based Digital Signature Algorithm)。它的最大优势是安全假设简单、抗量子攻击的信心强;代价是签名尺寸大、签名速度慢。SLH-DSA 的签名可达数千到数万字节,公钥和私钥也较大。

因此,SLH-DSA 更适合作为“备份签名方案”或用于对长期安全性要求极高、但对性能不敏感的场景,例如根证书签名、固件根信任、长期归档签名等。它不适合高频 TLS 握手或大规模终端认证。

NIST PQC 标准算法全景(FIPS 203/204/205 及 FALCON) 密钥封装 / 密钥交换 KEM — 用于协商共享密钥 ML-KEM(FIPS 203) 源自 CRYSTALS-Kyber · Module-LWE ML-KEM-768 安全等级 3 · 推荐主力 ML-KEM-512 / 1024 等级 1 / 5 · 按需选择 数字签名 用于身份认证、证书、固件签名 ML-DSA(FIPS 204) 源自 CRYSTALS-Dilithium · Module-LWE/SIS ML-DSA-65 安全等级 3 · 通用签名 ML-DSA-44 / 87 等级 2 / 5 · 按需选择 FALCON 紧凑型格签名 · NTRU 格 签名/公钥更紧凑 FALCON-512:公钥约 897 B,签名约 666 B 实现复杂度高 浮点运算 · 高斯采样 · 侧信道防护难 SLH-DSA(FIPS 205) 源自 SPHINCS+ · 基于哈希 安全假设保守 · 抗量子信心强 不依赖格问题 · 适合根信任与长期归档 签名尺寸大 · 速度慢 不适合高频 TLS 握手与大规模终端认证 FIPS 203/204/205 于 2024 年 8 月正式发布 · 参数尺寸为公开标准值,实际实现可能略有差异

国际标准化动态与迁移节奏

除 NIST 外,国际标准化组织也在同步推进。ISO/IEC JTC 1/SC 27 正在将后量子算法纳入 ISO/IEC 14888、18033 等系列标准;IETF 则在 TLS 1.3、X.509、SSH、IPsec 等协议中定义后量子混合密钥交换与签名扩展。例如,TLS 1.3 已支持 X25519MLKEM768 这类混合密钥交换,其思路是将经典 ECDH 与 ML-KEM 组合,即使其中一方被攻破,另一方仍能提供保护。这种“混合模式”是当前迁移期最务实的策略。

欧洲方面,BSI、ANSSI 等机构发布了后量子迁移建议,普遍强调“先盘点、再混合、后替换”的节奏。美国 NSA 的 CNSA 2.0 则给出了明确时间表:2030 年前完成高安全场景迁移,2033 年前完成全面迁移。这些时间节点对工程规划具有直接约束力。

工程选型要点

在实际迁移中,算法选型不能只看安全性,还要看协议兼容性、性能开销、实现成熟度和生态支持。一个可操作的判断顺序是:先确认场景需要的是 KEM 还是签名;再确认是否有紧凑性刚需;最后确认目标协议栈是否已支持对应算法。对于绝大多数企业系统,ML-KEM-768 加 ML-DSA-65 是当前最稳妥的组合;若涉及根证书或长期归档,可叠加 SLH-DSA 作为备份;只有在带宽或存储极度受限时,才考虑 FALCON。

迁移提示:后量子算法不是“替换一个库”那么简单。ML-KEM 和 ML-DSA 的密钥、密文、签名尺寸都显著大于传统算法,证书链、TLS 记录、硬件安全模块(HSM)固件、代码签名流程都可能需要同步调整。建议在试点阶段就测量真实握手耗时、证书体积和 HSM 吞吐,而不是等到全面替换时才发现瓶颈。

总体来看,NIST 的三项 FIPS 标准已经为后量子迁移提供了明确的算法锚点。接下来的工程任务,是把这些算法映射到具体的协议、证书体系、密钥管理和硬件信任根中,并在混合模式下逐步验证、逐步切换。