🏠 总目录📚 本教程 23 · 后量子密码
📑 本页目录(点开跳转)

23 · 后量子密码

30 分钟 | ⭐⭐ 这是正在发生的迁移,不是未来学


🎯 一句话

量子计算机会彻底打死 RSA、DH、椭圆曲线(本教程第 14–17 章的全部公钥密码), 但几乎不影响 AES 和哈希。 所以这不是"密码学完蛋了",而是换掉公钥那一半 —— 而且现在就必须开始


⚛️ 一、两个算法,两种命运

Shor 算法 —— 对公钥密码是灭顶之灾

   能在【多项式时间】内解决:
   ├─ 大整数分解      ⟹ RSA 死  💀
   ├─ 离散对数        ⟹ DH、DSA、ElGamal 死  💀
   └─ 椭圆曲线离散对数 ⟹ ECDH、ECDSA、Ed25519 死  💀

   ⭐ 注意:不是"变慢一点",是【从指数时间降到多项式时间】
      加密钥长度完全没用 —— 2048 位换 4096 位只是拖一点点

Grover 算法 —— 对对称密码只是"减半"

   把暴力搜索从 O(N) 降到 O(√N)

   ⟹ AES-128 的有效强度 ≈ 64 位  ⚠️
   ⟹ AES-256 的有效强度 ≈ 128 位 ✅ 仍然安全

   哈希同理:SHA-256 抗碰撞 ≈ 128 位 → 仍够用
算法 量子影响 对策
RSA / DH / ECC 💀 完全破解 必须换算法
AES-128 ⚠️ 强度减半 换 AES-256
AES-256 ✅ 基本无影响 不动
SHA-256/3 ✅ 基本无影响 不动

🔑 一句话记住对称密码"加倍密钥长度"就行,公钥密码必须"换掉整个算法"。


⏰ 二、为什么"现在"就要做

「先存后解」攻击(Harvest Now, Decrypt Later)

   攻击者【今天】就把你的加密流量存下来
   等【十年后】有了量子计算机再解密 💀

   ⭐ 所以真正的截止时间不是"量子计算机造出来那天",而是:

      今天 + 数据需要保密的年限  <  量子计算机出现的时间
      ─────────────────────────
      如果这个不等式不成立,你【已经晚了】

Mosca 定理:设

$$\boxed{x + y > z \;\Longrightarrow\; \text{你现在就有麻烦了}}$$

💡 代入现实:政府和医疗数据 $x$ 常常是 25–50 年; 大型机构的密码学迁移 $y$ 历史上要 5–15 年(想想 SHA-1 和 TLS 1.0 退役花了多久)。 即便 $z$ 是 20 年,$x+y$ 也早就超过它了。

这就是为什么 NIST 把最后期限定在 2030(弃用)/ 2035(禁用)。


🏆 三、NIST 标准化的结果

2024 年 8 月正式发布的三个标准

标准 原名 用途 数学基础
FIPS 203 · ML-KEM CRYSTALS-Kyber 密钥封装(替代 DH/ECDH) 格(Module-LWE)
FIPS 204 · ML-DSA CRYSTALS-Dilithium 签名(主力) 格(Module-LWE)
FIPS 205 · SLH-DSA SPHINCS+ 签名(备份) 只依赖哈希

2025 年补充HQC 被选为基于编码的备份 KEM —— 理由是不能把所有鸡蛋放在"格"这一个篮子里

尺寸代价(这是迁移最现实的痛点)

方案 公钥 密文/签名
X25519(经典) 32 B 32 B
ML-KEM-768 1184 B 1088 B
Ed25519(经典) 32 B 64 B
ML-DSA-65 1952 B 3309 B
SLH-DSA(小参数) 32 B 7856 B 💀

⚠️ 为什么尺寸是大问题: TLS 握手要传证书链(多个签名 + 公钥)。 从 64 字节涨到 3309 字节,握手可能超过初始拥塞窗口,多一个 RTT —— 在移动网络上这是可感知的延迟。 PQC 迁移的主要工程挑战是带宽和延迟,不是 CPU。


🧮 四、格密码为什么可信(直觉版)

   格 = 空间里规则排列的点阵

   ⭐ 困难问题(SVP / LWE):
   给你一组"歪斜的"基向量,
   找出格中【离原点最近的非零点】—— 高维下极难

   LWE(带错误的学习):
   给你一堆 (aᵢ, bᵢ),其中 bᵢ = ⟨aᵢ, s⟩ + eᵢ(eᵢ 是小噪声)
   求 s

   💡 没有噪声就是解线性方程组(高斯消元,很简单)
      ⭐ 加了一点点噪声,就变成了公认的困难问题

🔑 格密码的两个额外优点: ① 有最坏情况到平均情况的归约 —— 随机实例和最难实例一样难,这个保证很罕见 ② 能支撑同态加密第 22 章的 FHE 几乎都建在格上)


🔀 五、迁移怎么做:混合模式

   ⭐ 当前最佳实践 —— 【混合密钥交换】:

   共享密钥 = KDF( X25519 的结果  ‖  ML-KEM 的结果 )

   → 只要【两者之一】还安全,整体就安全 ✅
   → 经典算法防"新算法有未知缺陷"
   → 后量子算法防"量子计算机"

💡 这个设计非常值得学在对新算法还没有几十年信心时,不要单独依赖它。 Chrome/Firefox 从 2024 年起默认启用 X25519MLKEM768 混合组, Signal(PQXDH)、iMessage(PQ3)、Cloudflare 都已上线。 今天你访问大网站,很可能已经在用后量子密钥交换了。

一个真实的警示:不要自己上新算法

   💥 SIKE(基于同源):进入 NIST 决赛,被认为很有前途
      2022 年被一台【普通笔记本】在【一小时内】用数学攻击彻底击破 💀

   💥 Rainbow(多变量签名):同样进决赛,2022 年被击破

🔑 教训后量子算法的分析历史比 RSA 短得多,缺陷仍在被发现。 这正是混合模式存在的理由,也是别自己实现、别抢跑用未标准化方案的理由。


🧭 六、你现在该做什么

   ① 【盘点】哪里用了公钥密码,用了什么算法、什么密钥长度
      —— ⭐ 这一步最容易被跳过,也最花时间

   ② 【识别长寿数据】哪些数据 10 年后还敏感(Mosca 的 x)

   ③ 【建立密码学敏捷性】把算法做成可替换的配置,而不是硬编码
      —— ⭐ 这是最有长期价值的一步,无论下一次换什么算法

   ④ 【优先换密钥交换】因为"先存后解"只威胁保密性;
      签名可以晚一点(伪造签名需要【当下】就有量子计算机)⭐

   ⑤ 【用混合模式】不要单独依赖 PQC

🔑 第 ④ 点的逻辑值得单独记保密性是"追溯性"风险(今天的流量十年后能被解密), 认证性是"实时性"风险(伪造签名必须在签名有效期内完成)。 所以密钥交换的迁移比签名的迁移更急。


🔗 和站内其他章的关系

相关的地方 和这一章的关系
第 14 章 RSA / 第 15 章 DH / 第 16 章 ECC 全部被 Shor 打死
第 6 章 AES Grover 只让强度减半 → 用 AES-256
第 9 章哈希 基本不受影响,SLH-DSA 全靠它
第 21 章 STARK 只依赖哈希,天然抗量子
第 18 章 PKI 证书链尺寸暴涨是最大工程挑战
第 19 章密码学敏捷性 迁移能否顺利的关键
大模型 · 合规与伦理 那边「数据保留期限」那一条就是你的迁移倒计时:你承诺留多久的密文,就得提前多久换算法(Harvest Now, Decrypt Later) ⭐
模型上线之后 · 灰度影子与回滚 混合模式本质就是灰度:新旧两条路同时跑、随时能退回——⚠️ 动手前先去那边把回滚触发条件要预先写死这一条学走
模型上线之后 · 成本与容量 签名从 64 字节涨到几 KB、握手包变大,这是一笔要重做的容量账,不是纯密码学问题

✅ 检查点

  1. Shor 和 Grover 分别影响什么?为什么说影响完全不同量级?
  2. 为什么"把 RSA 密钥加长"救不了?
  3. 什么是"先存后解"攻击?
  4. 写出 Mosca 定理并解释每个变量。代入现实数字说明为什么现在就晚了。
  5. NIST 2024 年发布的三个标准分别是什么、干什么用?
  6. 为什么 2025 年还要补一个 HQC?
  7. PQC 迁移最主要的工程挑战是什么?为什么?
  8. LWE 问题去掉噪声会变成什么?说明了什么?
  9. 什么是混合密钥交换?为什么必须这么做?举一个被击破的候选算法。
  10. 为什么密钥交换的迁移比签名更紧急?
👀 答案
  1. Shor 完全破解 RSA/DH/ECC(分解和离散对数降到多项式时间);Grover 只把对称密码强度减半(O(N)→O(√N))。量级不同:一个是"从指数降到多项式",一个只是开平方。
  2. 因为 Shor 是多项式时间算法,加长密钥只带来多项式级的成本增长,2048→4096 位只拖延一点点,改变不了它可解的事实
  3. 攻击者今天就把加密流量存下来,等十年后有量子计算机再解密。所以截止时间不是"量子计算机出现那天"。
  4. x + y > z ⟹ 现在就有麻烦。x=数据保密年限,y=迁移所需年限,z=距量子计算机的年数。现实:政府/医疗数据 x 常为 25–50 年,大机构迁移 y 历史上 5–15 年,即便 z=20 年,x+y 也早已超过。
  5. FIPS 203 ML-KEM(Kyber,密钥封装,替代 DH/ECDH)、FIPS 204 ML-DSA(Dilithium,主力签名)、FIPS 205 SLH-DSA(SPHINCS+,只依赖哈希的备份签名)。
  6. 因为 ML-KEM 和 ML-DSA 都基于格不能把所有鸡蛋放在一个篮子里。HQC 基于编码,提供数学基础上的多样性。
  7. 带宽和延迟,不是 CPU。签名从 64 B 涨到 3309 B,TLS 证书链可能超过初始拥塞窗口,多一个 RTT,移动网络上可感知。
  8. 变成解线性方程组(高斯消元,很简单)。说明加一点点噪声就把简单问题变成了公认的困难问题
  9. 共享密钥 = KDF(经典算法结果 ‖ PQC 结果),只要两者之一还安全整体就安全。必须这么做是因为PQC 分析历史短、缺陷仍在被发现——SIKE 进了 NIST 决赛,2022 年被一台普通笔记本在一小时内击破;Rainbow 同样被破。
  10. 因为保密性是追溯性风险(今天的流量十年后能解密),而认证性是实时性风险(伪造签名必须在有效期内完成,需要当下就有量子计算机)。

🛑 可以停在这里

走神救援

Shor 彻底打死 RSA/DH/ECC(分解和离散对数从指数降到多项式,所以加长密钥没用);Grover 只把对称强度减半(AES-128→64 位⚠️,AES-256 和 SHA-256 基本不受影响)。🔑一句话:对称密码加倍密钥长度就行,公钥密码必须换掉整个算法。⏰⭐"先存后解":攻击者今天存流量、十年后解密 → 截止时间不是量子计算机出现那天Mosca 定理:x(保密年限)+y(迁移年限)>z(距量子计算机) ⟹ 你已经晚了;现实中政府/医疗 x=25–50 年、大机构迁移 y=5–15 年,即便 z=20 也早就超了 —— 这就是 NIST 定 2030 弃用/2035 禁用的原因。NIST 2024 三标准ML-KEM(Kyber,密钥封装)、ML-DSA(Dilithium,主力签名)、SLH-DSA(SPHINCS+,只靠哈希的备份);2025 补 HQC(基于编码)因为不能把鸡蛋都放在"格"这个篮子里。⚠️⭐迁移的主要挑战是带宽和延迟不是 CPU:签名 64B→3309B,TLS 证书链可能超过初始拥塞窗口多一个 RTT格密码LWE:b=⟨a,s⟩+e,去掉噪声就是高斯消元(简单),加一点噪声就变成困难问题;优点是有最坏到平均情况的归约,且能撑起 FHE第 22 章)。⭐混合模式:KDF(X25519 ‖ ML-KEM),两者之一安全则整体安全 —— 必须这么做,因为💥SIKE 进了 NIST 决赛却在 2022 年被一台普通笔记本一小时内击破,Rainbow 同样被破。现在该做:盘点公钥用法 → 识别长寿数据 → ⭐建立密码学敏捷性(算法可配置而非硬编码)优先换密钥交换 → 用混合模式。🔑⭐为什么密钥交换比签名急:保密性是追溯性风险(今天流量十年后可解),认证性是实时性风险(伪造签名要当下就有量子机)

下一节 👉 24-实战与挑战项目.md

打卡记录保存在你的浏览器里,首页能看到总进度