对称加密只需适度增强 通过增加密钥长度(如AES-256)抵抗Grover算法搜索攻击 ML-KEM的核心价值 建立量子安全的密钥传输通道,为对称加密提供安全基础。 ML-KEM 的关键流程 关键算法 ● 密钥生成(KeyGen) 生成一个封装密钥和一个解封装密钥 封装密钥可以公开,而解封装密钥必须保密 ● 封装(Encaps) 使用封装密钥生成一个共享秘密密钥和一个相关的密文 Alice保留解封装密钥并公开封装密钥 ● 封装过程 Bob使用Alice的封装密钥生成共享秘密密钥和密文 Bob将密文发送给Alice ● 解封装过程 Alice使用密文和解封装密钥生成共享秘密密钥 ML-KEM 3072 ML-KEM-768 192位量子安全 RSA-7680 ML-KEM-1024 256位量子安全 RSA-15360 与传统场景的结合方式 系统层级 技术组件 量子防护作用 密钥协商层 ML-KEM 分层安全策略 FIPS 203采用分层设计:ML-KEM负责安全分发密钥(抗量子层),对称算法负责数据加密(高效执行层)。这种分工既保障了长期安全性,又避免了大规模替换现有对称加密基础设施的成本。
又一个 ML-KEM 实现?ML-KEM——以前称为 Kyber——从实现角度来看已被充分研究:一方面,Kyber 参考代码提供了一个简洁的 C 实现,多年来一直受到 scrutiny。 另一方面,大量研究论文描述了如何针对不同指标和平台优化 ML-KEM。 因此,我们的团队成员没有自己开发代码,而是加入了 PQCP,并很快推出了 mlkem-native,这是一个高 assurance、高性能的 ML-KEM C 语言实现,旨在将 ML-KEM 参考实现与优化和形式化验证的研究结合起来 与 RSA 和 ECC 一样,ML-KEM 依赖于模运算,其中操作结果除以特定数字——在 ML-KEM 的情况下,素数为 3,329,称为 MLKEM_Q 或简称为 q——并且只传递余数。 在 ML-KEM 的情况下,模 q = 3,329 的数据通常存储在 16 位有符号整数中。
基于 NIST PQC 标准,可以设计一套抗量子的数据加密密钥(DEK)分发机制,将 ML-KEM(Kyber)与 AES-KeyWrap 结合,构建起一个高度安全且鲁棒的 PQC 信封加密体系。 执行 ML-KEM \ Encapsulate操作,生成两个输出:一个临时的抗量子共享秘密(SS)和一个对应的封装密文 C_{kem}。 3. 密钥包装: a. 执行 ML-KEM \ Decapsulate操作,将客户端发来的 C_{kem}作为输入,精确恢复出 共享秘密 SS。 2. 密钥解包: a. KMS 将恢复的 SS作为解密密钥输入。 b.
1. crypto 模块的后量子加密支持 Node.js v24.7.0 通过 OpenSSL 3.5 引入 NIST 的后量子加密标准,支持 ML-KEM (FIPS 203) 和 ML-DSA (FIPS 示例: const crypto = require('crypto'); // ML-KEM 示例 const { publicKey, privateKey } = crypto.generateKeyPairSync ('ml-kem'); const { sharedSecret, ciphertext } = crypto.encapsulate(publicKey); const decryptedSecret Web Cryptography API 的现代算法扩展 globalThis.crypto.subtle 新增算法如 AES-OCB、ChaCha20-Poly1305、ML-DSA、ML-KEM、SHA
后量子加密:提前布局量子安全 系统级加密策略:默认启用混合后量子算法 ML-KEM(模块格基密钥封装机制),并引入纯算法 ML-DSA(模块格数字签名算法),为未来量子计算威胁提供防御能力。 OpenSSL 升级:新增对 ML-KEM、ML-DSA、SLH-DSA 等后量子算法的支持,同时扩展 QUIC 传输协议,提升安全通信性能与低延迟应用体验。 FIPS 模式支持:新增混合 ML-KEM 密钥封装的 FIPS 模式,确保密钥交换时兼容经典与后量子算法。
结论 openssl3.5+开始引入ML-KEM、ML-DSA和SLH-DSA 后量子算法,并在TLS1.3协议中添加了对应的后量子ML-KEM相关密钥交换算法和混合密钥交换算法。 CHANGES.md 文件和 OpenSSL 3.5 的发布信息,OpenSSL 3.5 引入了以下后量子算法: (1) 密钥封装机制 (KEM - Key Encapsulation Mechanism) ML-KEM 包括以下变体: MLKEM512 - 提供约128位安全级别 MLKEM768 - 提供约128位安全级别(推荐) MLKEM1024 - 提供约192位安全级别 混合密钥交换算法 将传统椭圆曲线算法与 ML-KEM
NIST 后量子密码标准:三把新锁 2024 年 8 月,美国国家标准与技术研究院(NIST)正式发布了三个后量子密码学标准: ML-KEM(CRYSTALS-Kyber):密钥封装机制,用于密钥交换。 本周:全球部署加速 本周的消息显示,PQC 部署正在从实验阶段进入生产环境: Google Chrome/Cloudflare:已在 TLS 1.3 中支持 ML-KEM 混合模式 Signal:即时通讯已升级为 PQXDH(后量子扩展 Diffie-Hellman)协议 Apple:iMessage 已部署 PQ3 协议,使用 ML-KEM 进行密钥交换 AWS/Azure:云服务已提供 PQC 相关 API 不需要你马上改代码,但至少要知道 ML-KEM、ML-DSA 是什么,你的系统用了哪些加密算法,哪些需要在未来 3-5 年内迁移。
抗量子加密「备胎」(JEP 510) 新增密钥派生函数(KDF)API,支持后量子密码算法(如ML-KEM),为未来量子计算威胁做准备。
他们的方法包括将 TLS 1.3 与 ML-KEM 等后量子密钥协议一起使用,确保通过 Cloudflare 提供的网站和 API 得到自动保护,而无需更改配置。
后量子加密(PQC)默认启用 系统级集成ML-KEM、ML-DSA、SLH-DSA等抗量子算法,OpenSSL 3.5支持PQC密钥交换与签名,并引入RPMv6多签名机制,支持Sequoia PGP实现未来安全包验证
4.安全增强 引入一些列加密工具类,实现信息加密,例如引入基于晶格密码的 ML-KEM(密钥封装)和 ML-DSA(数字签名)算法,实现代码如下: KeyPairGenerator kpg = KeyPairGenerator.getInstance
2.自动化全生命周期管理,应对算法频繁更新后量子密码标准还没有完全固化——NIST在2024年刚敲定了ML-KEM(原CRYSTALS-Kyber)、ML-DSA等几种算法,未来几年很可能还会出现更好的替代方案
安全与量子抗性加密 在传输中采用新型抗量子算法(如 ML-KEM),并配合行/列/单元格级控制与 SQL 层防火墙,企图把 AI 场景的安全风险降到最低。
美国国家标准与技术研究院一直在努力标准化抗量子算法,并选择ML-KEM用于密钥交换,同时选择ML-DSA用于签名或密码认证。
5.1 支持的 PQC 算法体系 .NET 10 通过 System.Security.Cryptography 命名空间引入了三种关键算法 4: 算法名称 原名 NIST 标准 类型 用途 特点 ML-KEM 这意味着客户端和服务器会同时使用传统的椭圆曲线算法(如 X25519)和后量子的 ML-KEM 算法来派生会话密钥。 附录:数据与对比表 表 1:.NET 10 支持的后量子加密算法概览 算法标识 类型 NIST 标准文档 主要应用场景 性能特征与权衡 ML-KEM (Kyber) 密钥封装 (KEM) FIPS 203
其他重要更新 • 后量子密码学(JEP 496 & JEP 497):引入了基于模块格的密钥封装(ML-KEM)和数字签名(ML-DSA)算法,为抵御未来量子计算机的攻击做好准备,体现了 Java 对安全性的前瞻性布局
这包括在 Windows CNG 中支持 ML-DSA 和 ML-KEM 算法,以及复合算法,帮助开发者构建能抵御未来量子威胁的安全应用程序。
解决方案JDK24集成了两项NIST标准化的PQC算法:JEP496:ML-KEM(Module-LatticeKeyEncapsulationMechanism):用于密钥交换。 代码示例ML-KEM密钥交换展开代码语言:JavaAI代码解释importjavax.crypto.KeyAgreement;importjava.security.KeyPair;importjava.security.KeyPairGenerator
Web Cryptography 算法 • 为 addon 访问 OpenSSL 上下文增加 crypto::GetSSLCtx API • 在 SubtleCrypto 中拒绝没有 seed 的 ML-KEM
Digital Signature Algorithm https://openjdk.org/jeps/497 为通过抗量子性提高 Java 安全性而提出的两个功能包括抗量子的基于模块格的密钥封装机制(ML-KEM