2016年,美国国家标准与技术研究院(NIST)发起了一场密码学竞赛:征集能抵抗量子计算机攻击的加密算法。8年后,这场竞赛尘埃落定——首批后量子密码学标准正式发布。这标志着密码学进入了一个新纪元。

为什么需要后量子密码学

当前互联网的加密基础设施几乎全部依赖于RSA、椭圆曲线加密(ECC)和Diffie-Hellman密钥交换。这些算法的安全性建立在两个数学难题上:大整数分解和离散对数。

量子计算机上的Shor算法可以在多项式时间内解决这两个问题。一旦足够强大的量子计算机出现,攻击者可以:破解任何RSA或ECC密钥、伪造数字签名、解密HTTPS流量。这意味着整个互联网的安全基础设施都需要重建。

基于格的密码学

大多数后量子算法的安全性依赖于格(lattice)问题。格是高维空间中的离散点阵,听起来很抽象,但它的数学性质非常优美:在高维格的特定点上找到最短向量(SVP)或最近向量(CVP),即使对量子计算机也是极其困难的。

代表性的基于格的算法包括:

  • ML-KEM(原CRYSTALS-Kyber):用于密钥封装和加密,由NIST选定为密钥交换标准
  • ML-DSA(原CRYSTALS-Dilithium):用于数字签名,由NIST选定为签名标准
  • FALCON:另一种基于格的签名算法,签名更短,但实现更复杂

NIST后量子标准

2024年8月,NIST正式发布了首批后量子密码学标准:

FIPS 203是ML-KEM标准,密钥封装速度极快,适合互联网协议。它基于Module-LWE问题,提供三种安全级别。

FIPS 204是ML-DSA标准,用于数字签名。和现有ECDSA相比,签名和公钥都更大,但安全性对量子和经典计算机都成立。

FIPS 205是SPHINCS+标准,基于哈希的签名算法。它的安全性最保守——只要哈希函数是安全的,它就是安全的。但签名较长(几十KB)。

迁移的挑战

从现有加密迁移到后量子加密是个大工程。公钥基础设施(PKI)、TLS协议、数字证书、SSH密钥、VPN等所有依赖公钥加密的地方都需要升级。

混合方案是目前的折中选择:在TLS握手阶段同时运行传统密钥交换(如X25519)和后量子密钥交换(如ML-KEM),最终密钥是两个输出的组合。这样即使用户使用了还不支持PQC的客户端,安全性也不会降低。

后量子密码

总结

后量子密码学已经不是"未来"——它已经来了。Chrome和Firefox已经开始实验性地支持X25519+ML-KEM混合密钥交换。对于任何需要长期安全(10年以上)的系统,现在就是开始规划迁移的时候。