7.1 NIST 名录与参数对照


7.1 NIST 名录与参数对照

NIST 后量子密码标准化的最终答卷:FIPS 203(ML-KEM,出自 Kyber)、FIPS 204(ML-DSA,出自 Dilithium)、FIPS 205(SLH-DSA,出自 SPHINCS+) 三项已定稿,FN-DSA(Falcon)与备用 KEM 的标准化在途。本节给出完整时间线、四件标准的参数全表与选型决策树——选型从此有据可查。

承接第 4 章:你已在构造层摸过 Kyber 与 Dilithium 的参数;本节把它们放进标准化的全局货架,并补上哈希签名的对照项,通往 7.2 节的实现层。

六年流程:一张时间线

2016 年 12 月 NIST 发布征集;2017 年底收满 82 份提交、69 份进入首轮;2019 年 1 月第二轮剩 26 件;2020 年 7 月第三轮剩 15 件(7 正选加 8 备选);2022 年 7 月 5 日宣布胜者:Kyber 出任 KEM,Dilithium 出任主签名,Falcon 与 SPHINCS+ 出任补充签名;2023 年 8 月 24 日发布 FIPS 草案;2024 年 8 月 13 日 FIPS 203、204、205 正式定稿。后续两件事仍在推进:FIPS 206(FN-DSA,基于 Falcon 的紧凑签名)草案在编;2025 年 3 月 NIST 选定编码基的 HQC 作为 KEM 备胎——算法多样化的官方动作。往前还有个反面注脚:2022 年同届候选 SIKE 被经典算法数小时击破,证明这套马拉松式流程不是官僚主义,是必要冗余。

参数全表:把第 4 章的表格合龙

KEM 类(对照 FIPS 203;尺寸单位字节):

参数档 NIST 类别 封装密钥 解封装私钥 密文
ML-KEM-512 800 1632 768
ML-KEM-768 1184 2400 1088
ML-KEM-1024 1568 3168 1568

签名类(对照 FIPS 204、205 与在编的 FN-DSA):

方案 类别 公钥 签名 备注
ML-DSA-44 1312 2420 格,Fiat-Shamir 加拒绝
ML-DSA-65 1952 3309 同上
ML-DSA-87 2592 4627 同上
FN-DSA-512 目标 897 约 666 Falcon 血统,陷门采样,草案在编
FN-DSA-1024 目标 1793 约 1280 同上
SLH-DSA-128s 32 7856 哈希签名,保守派
SLH-DSA-256s 32 29792 私钥极小、签名巨大

对照经典算法:X25519 公钥 32 字节、TLS 密文即 32 字节;ECDSA P-256 签名 64 字节、公钥 64 字节;RSA-2048 公钥与签名各 256 字节。把尺子摆齐:ML-KEM-768 的公钥是 X25519 的 37 倍,ML-DSA-65 的签名是 ECDSA 的 52 倍——尺寸是后量子迁移最刚性的成本,带宽敏感场景(物联网、证书链)的设计都必须围绕它展开。

图:签名尺寸对照——抗量子的字节代价

图:签名尺寸对照——抗量子的字节代价

选型决策树与三个常见误选

按三问走树。一问场景:密钥交换与加密选 KEM(ML-KEM);认证与完整性选签名。二问预算:带宽紧、只求合规底线,KEM 选 512 档、签名选 ML-DSA-44;追求长期安全或防御量子算力超预期,各上一到两档。三问极值:签名尺寸是生死线(如射频标签、区块链按字节收费)→ 评估 FN-DSA 与 Falcon 系(需要高精度采样防侧信道,实现门槛高);私钥存储是生死线(如海量设备)→ SLH-DSA 的 32 字节公钥形态或哈希签名变体。三个常见误选:拿 SLH-DSA 当默认签名(签名 7856 字节起步,普通 TLS 证书链会被撑爆);为 KEM 选"更高更安全"的档却忽略密文尺寸随档位同步膨胀(对每秒百万次握手的网关是真金白银);以为定稿即立刻全面替换(7.3 节你会看到,迁移是按协议逐层推进的多年工程)。

新旧名字对照:别被缩写绕晕

生态里的称呼有新旧两套,读文档时对号入座。ML-KEM 即 CRYSTALS-Kyber 的标准化名;ML-DSA 即 CRYSTALS-Dilithium;SLH-DSA 即 SPHINCS+;FN-DSA 是 Falcon 的标准化名。前缀 ML 指 Module-Lattice,SL 指 StateLess Hash-based,FN 取自 FN-DSA 所用的 FFT 采样。同理,试验名与标准名并存期(如 X25519Kyber768 与 X25519MLKEM768)常让抓包的新手困惑——看到 7.3 节的组名对照表即可解开。类别数字也有一层容易误读的台阶:类别一是"AES-128 级"而非"128 位对称密钥"的字面换算,NIST 用的是指定基准计算任务的开销口径,所以出现 143 这类数字——口径细节回看 3.3 节。

问题:HQC 备胎为什么选编码基

2025 年 NIST 选定 HQC 作为 KEM 备份,用的是与格完全独立的数学底座(代数编码上的译码难题)。动机是纯粹的组合管理:若未来出现针对格结构的新攻击(历史上 SIKE 的猝死殷鉴不远),备用路线能接住切换。对企业的启示是把"算法敏捷性"写进架构——密钥封装接口别把算法写死,让"换引擎"成为配置变更而非系统重构。

再给一份贴在评审会上的三行选型速记。速记一:KEM 无脑 ML-KEM-768 起步,带宽极限场景降到 512、高价值长寿命场景升 1024。速记二:签名默认 ML-DSA,公钥与签名的合计字节数写进设计文档并给出预算依据——未来评审时这是被问到的第一行。速记三:哈希签名 SLH-DSA 留给"根信任"节点(根 CA、固件签名根),那里 32 字节公钥与无假设依赖的价值超过签名偏大的代价。三行速记覆盖九成会议决策,剩下的一成拿全表去谈。再补一条版本纪律:引用本节任何尺寸数字时注明"FIPS 定稿口径",因为早期论文、三轮竞选版本与定稿之间参数动过不止一次——网上旧文里的密文尺寸与定稿不符,多半不是谁错了,是年代不同。

下一节把表格里的算法变成跑得快的代码:数论变换的加速原理、常量时间的红线清单、以及主流库的生态地图。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U