PQC: ML‐KEM - emmansun/gmsm GitHub Wiki
ML-KEM(以前叫KYBER)
全称:Modular Lattice-based Key Encapsulation Mechanism。它是美国国家标准与技术研究院(NIST)批准的首批后量子加密标准之一,主要用于抵御量子计算机攻击的安全场景。
ML-KEM的核心特点
- 基于模块格理论:ML-KEM依赖于模块格(Modular Lattice)中的数学问题,特别是模块学习与错误(MLWE,Modular Learning With Errors)问题。这些问题在经典和量子计算中都被认为是难以解决的。
- 密钥封装机制(KEM):ML-KEM是一种密钥封装机制,用于保护对称密钥的传输。在密钥交换过程中,它能够生成一个安全的共享密钥,同时抵御量子计算机的攻击。
- 高效性:与其他后量子加密算法相比,ML-KEM在计算效率上表现优异,适合用于需要高吞吐量和低延迟的场景,例如HTTPS连接和VPN加密通道。
应用场景
ML-KEM主要用于以下领域:
- 网站安全访问:通过HTTPS密钥交换,确保通信内容在量子计算机时代的安全性。
- VPN加密通道:在虚拟专用网络中,提供量子安全的加密保护。
- 数据存储与传输:保护存储在云服务器或通过公共网络传输的数据免受量子攻击。
NIST批准的背景
NIST在后量子密码学领域进行了多年的研究,最终于2022年批准了包括ML-KEM在内的首批后量子加密标准。这一批准标志着ML-KEM成为未来量子计算时代加密通信的重要工具。
通过这些特点和应用场景,ML-KEM在保障数据安全方面发挥了关键作用,特别是在量子计算威胁日益凸显的背景下。
实现现状
注:以下名单并不完整。
- BoringSSL,谷歌项目,已经实现ML-KEM 768 / ML-KEM 1024。
- SymCrypt,微软项目。
- Golang已经实现ML-KEM 768 / ML-KEM 1024,并已在TLS1.3中支持X25519MLKEM768。
- Cloudflare Circl Go语言实现。
- OpenSSL已经实现ML-KEM 512 / ML-KEM 768 / ML-KEM 1024,ML-KEM Design,OpenSSL 3.5,OpenSSL 3.5 SSL CONF
- PQClean,一个专注于后量子密码学的开源项目,支持多种后量子算法。
国密标准
尚无