跳到主要内容
ecdsa.com

ML-KEM(FIPS 203)

FIPS 203(2024年8月)规定的基于模格的密钥封装机制,源自 CRYSTALS-Kyber,是标准的后量子密钥交换方案,参数集为 ML-KEM-512、ML-KEM-768 和 ML-KEM-1024。
其他写法ML-KEMFIPS 203ML-KEM-768ML-KEM-1024Module-Lattice KEM

大小(字节,FIPS 203 表 3),封装密钥 / 密文:ML-KEM-512 为 800 / 768(类别 1),ML-KEM-768 为 1,184 / 1,088(类别 3),ML-KEM-1024 为 1,568 / 1,568(类别 5);共享密钥始终为 32 字节。解封装密钥可以存储为 64 字节的种子 d ‖ z。在单个 Apple M4 Max 核心上,OpenSSL 3.6.5 每秒约可完成 41,000 次 ML-KEM-768 密钥生成、63,000 次封装和 40,000 次解封装。

带隐式拒绝的 Fujisaki–Okamoto 变换使它能够抵御选择密文攻击:无效密文得到的是一个伪随机的秘密值,而不是报错。FIPS 203 要求对封装密钥(§7.2)和解封装密钥(§7.3)做输入检查;实现还必须避免早期 Kyber 代码中出现过的时序泄漏(KyberSlash,2024年)。

ML-KEM-768 是混合密钥交换的主力:TLS 的 X25519MLKEM768、SSH 的 mlkem768x25519-sha256、HPKE 和 X-Wing、Apple iMessage 的 PQ3,以及 Signal 的 PQXDH。CNSA 2.0 选用的是 ML-KEM-1024。ML-KEM 与第 3 轮的 Kyber 无法互操作。

标准与参考资料

全部术语