量子计算机破解RSA的那天还没到来,但把今天的加密流量全部存档等那天到来的行动,已经在进行中了。
本周,Google Linux内核密码学专家Eric Biggers向内核邮件列表提交了一组补丁,为Linux密码子系统增加ML-KEM和X-Wing的概念验证支持。这是两种NIST在2024年正式标准化的后量子密码算法。这件事的意义不在于量子威胁已经迫在眉睫,而在于防御时间轴的逻辑:等到量子计算机真的来了,再迁移就太晚了。
现在被偷,将来才解密
标准公钥密码体系——RSA、椭圆曲线密码(ECC)——依赖的是大整数因式分解或离散对数难题对经典计算机的困难性。这些问题对足够强大的量子计算机而言,可以用Shor算法在多项式时间内解决。
问题在于时序:加密保护的有效期往往长达十年、二十年,甚至更长。政府通信、医疗记录、金融结算、军事指令——这些数据今天被加密传输,需要在2035年、2040年依然安全。
"Harvest Now Decrypt Later"(HNDL,现在收割,以后解密)描述的是这样一个攻击场景:具备国家级能力的对手,今天在互联网骨干节点、海底光缆分接点大规模记录加密流量。他们现在解不开,但他们在等。等一台足够强的量子计算机就绪。那台机器出现时,今天存档的所有流量都会重新被处理。
美国国家情报机构(NSA)已经承认这种威胁是真实的。NSA在2022年发布CNSA 2.0(商业国家安全算法套件第二版),明确要求国家安全系统完成从经典密码学到后量子密码学的迁移。英国NCSC、欧盟ENISA的建议文件中都有类似的HNDL威胁评估。
ML-KEM做什么,X-Wing为什么是混合方案
ML-KEM(Module Lattice Key Encapsulation Mechanism,模块格密钥封装机制)是2024年8月NIST发布的FIPS 203标准,基于CRYSTALS-Kyber算法族。它解决的是密钥交换问题——两方如何在不安全信道上协商出一个共享密钥,而对手即使有量子计算机也无法从截获的通信中恢复这个密钥。
ML-KEM的安全性建立在格密码学(lattice-based cryptography)的困难假设上:带错误学习问题(Learning With Errors,LWE)被认为量子计算机也没有高效算法来解。从2016年NIST发起标准化征集,到2024年FIPS 203发布,这一算法族经历了8年的公开安全审查。
X-Wing是一个混合方案:X25519(经典椭圆曲线)+ ML-KEM-768,两个密钥协商的结果组合成一个共享密钥。混合方案的逻辑是防御深度——即便量子计算机将来能破解ML-KEM(虽然目前没有已知方法),X25519部分仍然保持了经典安全;反过来,即便经典的椭圆曲线被量子攻击,ML-KEM部分依然有效。两层保护,只有同时破解才能得到密钥。
为什么应用层TLS不够,必须进内核
主流TLS库——OpenSSL、BoringSSL(Google)、rustls(Rust社区)——其实已经在实现或计划支持ML-KEM了。Chrome和Firefox在TLS 1.3中已经开始实验性使用混合后量子密钥交换。那么为什么还需要内核层的支持?
Linux内核密码子系统(crypto API)服务的不只是应用程序的HTTPS连接。内核级TLS(ktls)处理文件系统加密(dm-crypt / fscrypt);IPsec负责网络层加密;Wi-Fi的WPA3-Enterprise用到ECC密钥交换;这些都直接依赖内核的密码原语。
更关键的是:内核密码子系统是硬件加速密码操作的统一接口。Intel AES-NI、ARM Cryptographic Extension、这些硬件加速指令都通过内核crypto API被上层访问。未来当CPU厂商在硬件里实现ML-KEM加速时,内核需要先有对应的驱动接口。在没有内核支持的情况下,所有调用者都只能绕一圈走软件实现,效率和维护性都更差。
Biggers在邮件中明确标注这是"proof-of-concept"——概念验证而非生产就绪代码。这是合理的,因为后量子算法的内核实现需要经过侧信道攻击审查(constant-time实现、抵抗缓存计时攻击),不是把算法代码翻译进内核那么简单。但把接口和基础框架先放进去,才能让后续的硬件加速、TLS/IPsec集成有地方落脚。
国密SM系列与NIST PQC:两条标准的兼容问题
中国密码体系以SM系列为主:SM2(ECC密钥交换和签名)、SM4(对称加密)、SM9(标识密码学),这些被纳入国家标准和商用密码产品要求。从原理上看,SM2同样基于椭圆曲线离散对数,面临与ECDH相同的量子威胁。
国内在"后量子"方向的投入,重心长期在量子密钥分发(QKD,Quantum Key Distribution)上。中国建设了全球规模最大的QKD网络——北京-上海骨干线路超过2000公里,京沪之间的部分卫星量子通信也已经落地试验。但QKD需要专用硬件信道,部署成本高,无法替代互联网上的通用密码学。
现实的迁移路径更可能是:SM系列走国产化替代路线,同时兼容NIST PQC标准(对需要国际互操作性的场景)。中国密码学会已经在关注NIST PQC流程,但目前尚无对应SM-PQC标准的公开发布时间表。
对于直接面向国际网络的系统——云服务商、境外业务部门、参与国际科研合作的机构——NIST PQC的迁移压力和时间线是真实的,Linux内核的Biggers补丁在某种意义上是在说:迁移窗口已经开始倒计时了。