关于PQC
关于PQC
PQC 是 Post-Quantum Cryptography(后量子密码学) 的缩写,中文通常称为抗量子密码学 / 后量子密码算法。
它指的是:在量子计算机出现并具备实用攻击能力之后,仍然安全的密码算法体系。
一、为什么需要 PQC?
1. 现有主流密码体系的前提假设
当前互联网广泛使用的公钥密码(统称“传统公钥密码”)主要包括:
- RSA
- ECC(椭圆曲线密码)
- Diffie–Hellman(DH / ECDH)
它们的安全性依赖于以下数学难题:
| 算法 | 安全性基于的问题 |
|---|---|
| RSA | 大整数因数分解 |
| ECC | 椭圆曲线离散对数 |
| DH | 离散对数 |
这些问题在经典计算机上计算成本极高,因此被认为“安全”。
2. 量子计算对这些假设是“降维打击”
量子计算机可以运行一种关键算法:
Shor 算法(1994)
Shor 算法可以在 多项式时间 内解决:
- 大整数因数分解
- 离散对数问题
这意味着:
- RSA → 理论上 完全不安全
- ECC / ECDH → 完全不安全
一旦可规模化量子计算机出现,现有 TLS、VPN、数字签名体系会在数学层面直接失效。
3. “现在加密,将来解密”(Harvest Now, Decrypt Later)
即使量子计算机现在还不成熟,也存在现实风险:
- 攻击者 现在截获并存储加密通信
- 等未来量子计算机成熟后 回溯解密
这对以下场景是致命的:
- 国家安全通信
- 医疗数据
- 长期隐私数据
- 软件签名与固件安全
因此,必须提前部署 PQC。
二、什么是 PQC(后量子密码学)
定义
PQC 是一类在经典计算机和量子计算机模型下都被认为是安全的密码算法。
注意重点:
- 不是“量子密码”
- 可以在普通计算机上运行
- 只是假设攻击者拥有量子计算能力
三、为什么 PQC 能够抵御量子攻击?
核心原因:
PQC 所依赖的数学问题,目前不存在已知的高效量子算法可以破解。
下面分类型说明。
四、PQC 的主要数学基础
1. 基于格(Lattice-based Cryptography)
这是目前 最成熟、最被看好 的方向。
代表问题
- Learning With Errors(LWE)
- Ring-LWE
- Module-LWE
核心直觉(简化理解)
- 在高维空间中寻找“最短向量”
- 存在大量噪声(误差)
- 问题在高维下极其复杂
为什么量子也难?
- 目前 没有已知的 Shor 类算法 能高效解决格问题
- 即使量子计算,最优算法也只是常数级加速
代表算法(已标准化)
- Kyber(密钥交换 / KEM)
- Dilithium(数字签名)
2. 基于哈希(Hash-based Signatures)
核心基础
- 哈希函数的单向性
- 抗碰撞性
为什么安全?
- Grover 算法只能带来 平方根级别加速
- 通过 加长哈希长度 即可抵消量子优势
特点
- 非常安全
- 签名体积大
- 有些是一次性签名(如 XMSS、SPHINCS+)
3. 基于编码(Code-based Cryptography)
代表问题
- 随机线性码的解码问题
代表算法
- Classic McEliece
特点
- 安全历史非常长(40+ 年)
- 公钥非常大(数百 KB)
4. 基于多变量多项式(Multivariate)
- 基于求解多变量非线性方程组
- 有些方案曾被破坏,目前较谨慎
五、与“传统密码”的根本差异
| 对比维度 | 传统密码(RSA/ECC) | PQC |
|---|---|---|
| 安全假设 | 因数分解 / 离散对数 | 格 / 哈希 / 编码 |
| 量子攻击 | Shor 算法可完全破解 | 无已知有效量子算法 |
| 密钥大小 | 小 | 通常更大 |
| 成熟度 | 非常成熟 | 正在标准化 |
| 当前部署 | 广泛 | 正在推进 |
六、PQC 的现实状态(简述)
-
NIST 已完成第一轮标准化
-
已选定:
- Kyber(密钥封装)
- Dilithium(签名)
- SPHINCS+(签名)
-
TLS、SSH、VPN 正在推进 混合模式(ECC + PQC)