引言:密码学的量子威胁
现代密码学的基石——RSA、ECC(椭圆曲线密码)和Diffie-Hellman密钥交换——的安全性依赖于大整数分解和离散对数问题的计算困难性。然而,Peter Shor在1994年证明:一台足够强大的量子计算机可以在多项式时间内解决这些问题,从而在多项式时间内破解目前广泛部署的公钥密码体系。虽然当前最强的量子计算机仅有数百个噪声量子比特(NISQ时代),但量子计算能力的指数级增长意味着"先存储,后解密"(Harvest Now, Decrypt Later)攻击已经在威胁今天的机密数据。为此,美国国家标准与技术研究院(NIST)从2016年启动了后量子密码标准化进程,并于2024年正式发布了首批三个PQC标准。
1. 格问题的数学基础
格(Lattice)是n维欧几里得空间中的离散子群,由基向量的整数线性组合生成。格中最核心的两个计算困难问题构成了格密码的基础:
1.1 最短向量问题(SVP)
给定格的基B,找到格中最短的非零向量:λ₁(L) = min{‖v‖ : v ∈ L \ {0}}。该问题在最坏情况和平均情况下均被推测为NP-hard,且目前不存在已知的量子加速算法。
1.2 带错误学习问题(LWE)
2005年Oded Regev提出的LWE问题是格密码构造的核心:给定(A, As+e),在模q下恢复秘密向量s,其中A是随机矩阵,e是小噪声向量。LWE的最坏情况到平均情况归约证明:求解平均情况的LWE至少与求解最坏情况的格问题一样困难。
1.3 模格与理想格
为提升效率,实际方案多采用Module-LWE和Ring-LWE变体: Ring-LWE使用多项式环Zq[x]/(x^n+1),将密钥大小从O(n²)压缩到O(n);Module-LWE在效率和安全性之间取得平衡,是NIST最终选择的基础。
2. NIST PQC三大标准
2.1 ML-KEM(CRYSTERS-Kyber)—密钥封装机制
FIPS 203基于Module-LWE问题,是NIST选定的通用密钥封装标准。核心参数:
- ML-KEM-512:安全等级1(等效AES-128),公钥800字节
- ML-KEM-768:安全等级3(等效AES-192),公钥1,184字节
- ML-KEM-1024:安全等级5(等效AES-256),公钥1,568字节
性能优势:在x86-64和ARM Cortex-M4上仅需约10万次cycles完成封装/解封装,比RSA-2048快约100倍。Kyber的安全性基于Module-LWE问题的困难性,目前未发现已知的量子攻击优势。
2.2 ML-DSA(CRYSTALS-Dilithium)—数字签名
FIPS 204基于Module-LWE和Module-SIS问题,是NIST选定的主要数字签名标准:
- ML-DSA-44:签名大小2,420字节
- ML-DSA-65:签名大小3,293字节
- ML-DSA-87:签名大小4,595字节
相比ECDSA(64字节签名),Dilithium签名较大但可通过批量验证优化。Google已在Chrome TLS 1.3中启用X25519+ML-KEM混合密钥交换。
2.3 SLH-DSA(SPHINCS+)—基于哈希的备选签名
FIPS 205是NIST选定的无状态哈希签名标准。其安全性仅依赖于哈希函数的抗碰撞性(不被Shor或Grover算法破坏),是最保守的PQC选择。缺点是签名较大(约8-50KB),状态管理复杂(需无状态变体)。
2.4 FN-DSA(FALCON)—待定标准
基于NTRU格的签名方案,签名大小仅约666字节(与RSA相当),但实现需要浮点运算的恒定时间实现,对侧信道泄露敏感。FIPS 206仍在制定中。
3. 迁移挑战与工程实践
3.1 性能权衡
与经典PKI相比,格密码面临新的挑战:
- 密钥/签名大小:ML-KEM公钥比ECDH大约30倍,TLS握手需考虑MTU限制
- 计算开销:在资源受限设备(智能卡、IoT)上,Kyber可能比ECDH慢数倍
- 侧信道攻击:Dilithium的浮点运算需要严格的恒定时间实现
3.2 混合模式过渡策略
行业推荐采用混合(Hybrid)方案:在协议层面同时执行经典和PQC算法,安全性取两者的较强一方:
// TLS 1.3混合密钥交换
共享密钥 = HKDF(ECDH共享密钥 || ML-KEM共享密钥)
// 这样即使PQC算法被攻破(目前极不可能),经典部分仍保证安全
Cloudflare、Google、Mozilla已在2024年全面部署混合PQC TLS。
3.3 密码敏捷性(Crypto Agility)
组织应建立密码敏捷性框架:将密码算法实现为模块化组件,支持运行时更换算法,为未来密码更新做好准备。
4. 其他PQC技术路线
4.1 基于编码的密码(Code-based)
Classic McEliece基于纠错码译码问题,密钥大小约1MB但安全性极高(自1978年未被攻破)。适用于高安全长期存储场景。
4.2 基于多变量的密码(Multivariate)
Rainbow等方案基于多变量多项式方程组求解的NP-hard问题,但多个候选方案在NIST轮次中被攻破。
4.3 基于同源的密码(Isogeny-based)
SIKE(超奇异同源 Diffie-Hellman)曾在NIST第4轮被考虑,但2022年被经典计算机在1小时内攻破,标志着同源密码路线的重大挫折。
5. 行业迁移路线与时间线
- 2024年:NIST正式发布FIPS 203/204/205三大PQC标准
- 2025年:NSA CNSA 2.0时间表要求国防系统启用PQC
- 2026年:主流浏览器和云服务商完成混合PQC部署
- 2030年:NSA要求所有国家安全系统完成PQC迁移
- 2035年:NIST计划全面停止经典公钥密码在联邦系统中的使用
结论
NIST PQC标准化标志着密码学从"经典公钥时代"向后量子时代的正式过渡。以Kyber和Dilithium为代表的格密码凭借优异的性能和安全归约成为主流选择。面对"先存储后解密"的现实威胁,企业和政府机构必须立即启动PQC评估、原型开发和试点部署。密码敏捷性将成为未来系统的必备属性——今天建立的PQC能力不仅是在防御量子威胁,更是在构建面向下一代的密码基础设施韧性。

发表评论 取消回复