Shor 算法会改变传统公钥密码的安全假设。
从一条 SSH 警告说起:后量子密码迁移正在悄悄发生
某天 git push 的时候,突然看到这样一条警告:
** WARNING: connection is not using a post-quantum key exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html第一次看到这条警告时,我猜大多数人的反应都是:这是什么?要紧吗?要处理吗?
如果你顺着这条警告往下挖,会发现它是密码学界几十年演进、几次重大科学突破,以及一场正在进行的全球基础设施迁移在你屏幕上留下的一小块涟漪。这篇文章把整个故事串起来讲清楚。
某天 git push 的时候,突然看到这样一条警告:
- 警告本身在说什么
- 经典加密为什么“安全”
- Shor 算法:1994 年埋下的雷
- 量子计算的进展:从理论到工程
这篇文章的重点不是恐慌,而是理解“为什么现在开始迁移”这条逻辑链。
今天被记录的密文,未来可能被更强计算能力解开。
后量子密码算法正在进入工程落地阶段。
迁移期通常不是一刀切替换,而是新旧算法并行降低风险。
警告本身在说什么
字面意思很直白:你这次 SSH 连接用的密钥交换算法不具备抗量子计算攻击的能力,可能会被“先存储、后解密”(store now, decrypt later)的攻击模式威胁。
具体来说:
- 当前并不会出问题:你的代码现在能正常推上去,功能毫无影响
- 未来才有风险:攻击者今天截获并保存你的加密流量,等若干年后量子计算机成熟,把这些流量翻出来批量解密
- 根本原因:你的 OpenSSH 客户端(10.0+)支持后量子密钥交换算法(如
mlkem768x25519-sha256),但服务器端不支持,协商时回退到了传统算法
要理解为什么会有这条警告、为什么是现在出现,以及该不该处理,得从头讲起。
经典加密为什么“安全”
我们今天用的几乎所有公钥密码学——RSA、椭圆曲线密码学(ECC)、Diffie-Hellman 密钥交换——安全性都建立在一类数学难题上:
- RSA 依赖大整数分解:给你一个 2048 位的合数,让你找出它的两个质因数,经典计算机要算到宇宙热寂
- ECC / ECDH 依赖椭圆曲线离散对数问题
- DH 依赖普通离散对数问题
这些问题在经典计算机上的复杂度是指数级或亚指数级的,所以 2048 位的 RSA 密钥实际上“算不出来”。整个互联网的安全(HTTPS、SSH、VPN、加密邮件、加密货币签名……)就建立在这个基础上。
Shor 算法:1994 年埋下的雷
1994 年,数学家 Peter Shor 提出了一个算法(现在叫 Shor 算法),证明:如果有一台足够大的量子计算机,上述三类难题都能在多项式时间内解决。
意思就是:
- RSA 完蛋
- ECC 完蛋
- DH 完蛋
整个互联网的公钥基础设施,数学根基在量子计算机面前就像纸糊的一样。
但 1994 年没人造得出量子计算机,所以这事儿被当成“理论威胁”搁了很多年。
量子计算的进展:从理论到工程
过去十年情况变了:
- 2019 年:Google 宣称“量子霸权”,53 量子比特处理器 Sycamore
- 2023 年:IBM 推出 Condor,1121 量子比特
- 2024 年:Google 在 Nature 上发表纠错突破,证明逻辑量子比特错误率可以随物理比特数指数下降
- 2024–2025 年:各大厂在容错量子计算(FTQC)上持续突破
要破 RSA-2048 大约需要百万级别的高质量量子比特,目前还差得远。但工程化的路径越来越清晰。
“Harvest Now, Decrypt Later”:为什么现在就要动手
这是 SSH 警告里那句“store now, decrypt later”的由来,也是整个故事的关键。
攻击模型是这样的:
- 国家级攻击者(各国情报机构)今天就在大规模截获并存储互联网加密流量
- 他们暂时解不开
- 等若干年后量子计算机成熟,把硬盘里的旧流量翻出来批量解密
所以今天传输的数据,机密性的有效期是有限的。如果数据需要保密 10 年以上(政府文件、企业商业机密、医疗记录、源代码……),用经典加密就已经不够安全了。
这个攻击的妙处在于:它不需要等量子计算机出现就开始。攻击者只需要存储能力,今天就在执行。
对策:后量子密码学(PQC)
为应对这一威胁,密码学界从 2010 年代开始研究后量子密码学(Post-Quantum Cryptography, PQC)——经典计算机和量子计算机都解不开的算法。
2016 年,美国 NIST 启动后量子密码标准化竞赛,全球密码学家提交了 80 多个候选方案,经过多轮淘汰:
- 2022 年:NIST 选出第一批胜出者
- 2024 年 8 月:正式发布三个标准
- ML-KEM(原名 Kyber):密钥封装,替代 ECDH
- ML-DSA(原名 Dilithium):数字签名
- SLH-DSA(原名 SPHINCS+):基于哈希的签名
ML-KEM 基于“格密码”(lattice-based cryptography),数学难题是带误差的学习问题(LWE)和模块格上的最短向量问题,目前没有已知的高效量子算法能解决。
混合方案:为什么不是直接换掉
新算法虽然标准化了,但有两个顾虑:
- 它们还年轻——RSA 经过 40 多年攻击考验,ML-KEM 才几年,万一哪天发现致命缺陷呢?
- 格密码学是相对新的领域,密码学界对它的信心还在建立中
所以业界普遍采用混合密钥交换(Hybrid KEX):
把传统算法(X25519)和后量子算法(ML-KEM-768)同时运行,把两个共享密钥拼起来当最终密钥。
这样:
- 如果 ML-KEM 被发现有漏洞 → X25519 还在保护你(抗经典攻击)
- 如果量子计算机出现 → ML-KEM 还在保护你(抗量子攻击)
- 只有两个都被攻破才会失守
OpenSSH 用的算法名 mlkem768x25519-sha256 就是这个意思——ML-KEM-768 + X25519,组合出抗量子的密钥交换。
OpenSSH 的时间线
具体到那条警告本身:
- 2022 年(OpenSSH 9.0):默认启用
sntrup761x25519-sha512,基于 NTRU Prime 的早期后量子混合算法 - 2024 年(OpenSSH 9.9):增加
mlkem768x25519-sha256(NIST 标准化方案),设为最高优先级 - 2025 年 4 月(OpenSSH 10.0):当协商没能用上后量子算法时,开始打印那条警告
这条警告是 OpenSSH 团队有意推动整个生态升级的“舆论压力”——通过让用户看见,倒逼服务器管理员行动。
Google 2026 年的“提速”信号
如果说 NIST 2024 年的标准化是发令枪,那 Google 2026 年 3 月的一份声明就是行业总动员的号角。
关键背景:Gidney 论文
2025 年 5 月,Google 量子团队的 Craig Gidney 发表论文《How to factor 2048 bit RSA integers with less than a million noisy qubits》。研究表明,采用不足 100 万个含噪量子比特的量子计算机可以在一周内分解 2048 位 RSA 整数,比 2019 年的估算实现了 20 倍的资源缩减。
6 年内,破解 RSA 所需的资源减少了 20 倍。原本被认为“还很远”的量子威胁,技术门槛在以远超预期的速度下降。
Google 的 2029 承诺
2026 年 3 月 25 日,Google 安全工程副总裁 Heather Adkins 和高级密码工程师 Sophie Schmieg 联合发布博客,宣布将 Google 自身的后量子加密迁移完成时间设定为 2029 年。
之前业界的隐含共识是参照 NIST 内部报告草案——2030 年后逐步淘汰易受量子计算攻击的加密算法,2035 年后全面禁用。Google 直接把自己的目标拍到 2029,比主流时间表提前 1–6 年。
Google 给出的三个理由:
- 硬件比预想的快:Willow 芯片、IBM 进展,百万量子比特的工程目标不再科幻
- 纠错变得可行:2024 年 Nature 论文证明逻辑量子比特错误率可指数下降
- 算法上更省资源:Gidney 论文降低了破解 RSA 的资源门槛
两个特殊重点
Google 这次声明有两个值得关注的细节:
第一,把数字签名提到和加密同等重要的位置。加密面对的“先存储后解密”威胁是当下就存在的;但数字签名是未来威胁——它必须在密码学相关量子计算机(CRQC)出现之前完成迁移,因为被攻破的签名会让攻击者冒充可信实体、伪造系统更新、分发恶意软件。
第二,Android 17 内置 ML-DSA 签名保护。这意味着后量子密码学第一次大规模铺到几十亿台终端设备上。
行业连锁反应
Google 这一动作的真正影响不在 Google 本身,而在它给整个行业立了一个标杆:
- 最大的量子玩家(Google 同时做量子计算硬件和 PQC)说“我 2029 完成”,等于变相承认“2029 之后量子威胁可能实质化”
- 其他大厂(Microsoft、AWS、Apple)面临对标压力
- 各国政府监管时间表也在收紧:欧盟瞄准 2030 年高风险系统迁移、2035 全面过渡;英国 NCSC 的三阶段路线图同样定在 2035 完全采用;加拿大要求各部门 2026 年提交迁移计划
换句话说,Google 这次“提速”实际上是一次行业总动员。意义不在 2029 这个数字,而在于把 PQC 迁移从“长期议程”重新定义为“未来三年的工程任务”。
回到那条 SSH 警告:该怎么处理
理解了整件事的来龙去脉,处理方式就清晰了。
情况一:你能控制服务器(自托管 Git 服务器、公司内网服务器等)
升级服务器端的 OpenSSH 到 9.9 或 10.x:
# Ubuntu/Debian
sudo apt update && sudo apt upgrade openssh-server
# 查看版本
ssh -V
sshd -V情况二:连接的是 GitHub / GitLab / Gitee 等托管服务
你这边没法控制服务器,只能等服务商升级。这种情况下警告可以暂时容忍——对绝大多数代码仓库来说,“几年后被解密”并非紧迫威胁。
情况三:想暂时关掉警告
如果你确认风险可接受,可以在 ~/.ssh/config 中针对特定主机静音:
Host github.com
LogLevel ERROR但不推荐全局关闭。这条警告本身就是有用的安全信号——等服务商升级后警告自动消失,就是你知道安全性提升的方式。
风险评估参考
| 你推送的内容 | 紧迫程度 |
|---|---|
| 个人开源代码 | 几乎无需担心 |
| 公司内部代码 | 中等,建议关注 |
| 含密钥/秘密的仓库 | 立即在意(且本来就不该把密钥提交到仓库) |
| 国家级敏感系统 | 必须立刻处理 |
更大的图景
SSH 只是冰山一角。同样的迁移正在所有协议上发生:
- TLS 1.3:Cloudflare、Google 已在生产环境部署 X25519+ML-KEM 混合密钥交换,Chrome 124+ 默认开启
- Signal、iMessage:通讯应用已在端到端加密中加入 PQC
- VPN(WireGuard、IPsec):陆续推出 PQ 扩展
- 代码签名、TLS 证书:未来几年要从 RSA/ECDSA 迁移到 ML-DSA
这是密码学几十年一次的大迁移,规模和当年从 SHA-1 换到 SHA-256、从 RSA 换到 ECC 都不可同日而语。
结语
那条 git push 时跳出来的警告,看着不起眼。但它背后是:
1994 年 Shor 算法 →
量子计算硬件持续突破 →
2025 年 Google 量子团队的资源估算论文 →
2026 年 Google 宣布 2029 迁移目标 →
全行业加速 PQC 部署 →
OpenSSH 10.0 对没启用 PQC 的连接打印警告 →
你的屏幕上出现那行字每一条这样的警告,都是密码学界为了赶在 Q-Day 之前把整个互联网的加密底座换掉的一次次动作。下一次再看到它,你大概会会心一笑——这是 30 年来一场静悄悄的大迁徙,正在你眼前发生。
- 这篇文章围绕“从一条 SSH 警告说起:后量子密码迁移正在悄悄发生”建立一条理解线索。
- 真正重要的是问题背后的结构,而不只是单个事实。
- 读完后可以顺着文末问题继续延展。
版权所有
版权归属:Shuo Liu
