后量子密码 (PQC,Post-Quantum Cryptography,抗量子密码)
定义
后量子密码(PQC)是专为抵御大规模量子计算机攻击而设计的公钥密码算法,用来替代可能被量子计算机破解的 RSA 和 ECC。
后量子密码指的是运行在普通计算机上、但基于量子计算机也难以求解的数学问题(如模格问题、哈希函数)的公钥算法。足够大的量子计算机运行 Shor 算法,可以解决大数分解和离散对数问题,从而破解 RSA、Diffie-Hellman、ECDHE 和 ECDSA。2024 年 8 月,NIST 发布了首批标准:FIPS 203(ML-KEM)用于密钥建立,FIPS 204(ML-DSA)和 FIPS 205(SLH-DSA)用于签名。AES、SHA-256 等对称算法最多只需加大参数。
为什么重要
最紧迫的威胁是"先收集、后解密":今天被录下的流量,等量子计算机出现后就可能被解密。所以密钥交换最先迁移,采用把经典算法与 ML-KEM 组合起来的混合密钥交换。Chrome 从 131 版起把混合密钥交换切换为 X25519MLKEM768,基于 Chromium 的国内浏览器在跟进内核版本后也会具备同样能力。签名和证书的迁移则是另一项更慢的工作:ML-DSA 的密钥和签名比 ECDSA 大很多倍,而且伪造签名无法回头攻击已经结束的会话。
例子
使用 OpenSSL 3.5 及以上版本,测试服务器是否支持混合后量子密钥交换:
openssl s_client -connect example.com:443 -groups X25519MLKEM768
只有服务器支持 X25519MLKEM768 时握手才会成功。在 Chrome 中,开发者工具的 Security 面板也会显示当前页面使用的密钥交换算法。
常见误区
- 后量子密码需要量子硬件。 它就是普通软件算法。量子密钥分发(QKD)是另一种依赖专用硬件的技术,不要混为一谈。
- 量子计算机会破解所有加密。 AES 和 SHA-256 仍然可用,需要更换的是公钥算法部分。
- 量子计算机出现之前什么都不用做。 今天录下的数据,只受今天所用密钥交换的保护。