Synth Daily

Shor 算法:那个一夜之间终结 RSA/ECC 的量子算法

Shor 算法利用量子计算机,能高效解决大整数分解和离散对数问题,这使得当前主流的 RSA 和椭圆曲线加密(ECC)变得不堪一击。这种能力不仅威胁未来的数据安全,更形成了一种“先采集,后解密”的追溯性风险,即现在被加密的数据,未来能被量子计算机轻易破解。应对这一威胁的唯一出路是迁移到基于新数学难题(如格密码)的后量子密码(PQC)算法,并立即开始采用混合加密方案,逐步淘汰旧系统。

传统加密的末日

Shor 算法的出现,意味着支撑现代互联网公钥密码体系的根基已经崩塌。它不是像其他算法那样提供轻微的加速,而是将指数级难度的计算问题转变为多项式时间可以解决的问题。

  • RSA 加密已死: 依赖于大整数分解的困难性。
  • ECC 和 DH 加密已死: 依赖于离散对数问题的困难性。

对于足够强大的量子计算机来说,破解这些加密只是时间问题。这种威胁并非遥远的未来,而是一种 追溯性威胁

政府和各类组织已经在记录和储存今天加密的数据,赌的就是明天 Shor 算法的实现。你的云备份、银行交易、私人信息,都可能在今天被截获,在未来被解密。

问题的核心:两个“困难”的数学问题

今天的互联网安全建立在两个经典计算机难以解决的问题之上:

  • 大数分解: 给出一个巨大的数字 N,它是两个素数 p 和 q 的乘积,找到 p 和 q。这是 RSA 加密 的基础。
  • 离散对数: 给定一个数学表达式,求解其中的指数 x。这是 Diffie-Hellman (DH)椭圆曲线加密 (ECC) 的基础。

经典计算机解决这些问题需要耗费数百年甚至更久,但 Shor 算法利用量子计算的特性,可以轻易攻破它们。

量子技巧:将分解问题变为周期查找

Shor 算法的精髓在于,它巧妙地将一个看似无关的数学技巧——周期查找 (Period Finding)——应用于破解加密。

算法通过量子叠加态和量子傅里叶变换,能够极快地找到一个特定数学函数的周期。一旦找到这个周期,就可以通过简单的计算推导出大整数的因子。

  • 经典方法: 像暴力破解一样,一个一个地尝试可能的因子,效率极低。
  • 量子方法: 将问题转化,利用量子特性直接找到答案的关键线索(周期),效率呈指数级提升。

同样的方法也适用于解决离散对数问题,因此 ECC 加密也同样脆弱。许多人认为 ECC 的密钥更短所以更安全,这是错误的。实际上,由于密钥短,破解 ECC 所需的量子比特数甚至可能比破解 RSA-2048 更少。

“先采集,后解密”的现实威胁

“等量子计算机出现再升级”是一种极其危险的想法。情报机构已经在执行“先采集,后解密”策略。

他们正在大量储存今天通过光纤传输的任何加密数据——VPN 流量、TLS 会话、加密邮件。等到量子计算机成熟的那一天,他们只需按下“运行”按钮,就能读取过去数十年所有的秘密。

这意味着,你在 2025 年上传的医疗记录,可能在 2035 年被公开。你在 2017 年进行的比特币交易,其私钥可能在未来被窃取。

唯一的出路:后量子密码 (PQC)

既然增加密钥长度已经无效,我们唯一的选择就是转向全新的加密算法,这些算法的安全性基于连量子计算机也难以解决的数学问题。

这就是 后量子密码 (Post-Quantum Cryptography, PQC)

目前的主流方向包括:

  • 格密码 (Lattices): 这是最有前途的方向,NIST(美国国家标准与技术研究院)选择的 Kyber (密钥交换) 和 Dilithium (数字签名) 都基于此。
  • 编码密码 (Codes): 例如 Classic McEliece。
  • 哈希签名 (Hash-based): 例如 SPHINCS+。

这些新算法不依赖于大数分解或离散对数,因此能够抵御 Shor 算法的攻击。

迁移之痛:为什么我们还没准备好

理论上我们有解决方案,但现实是,整个数字世界都深度依赖于 RSA 和 ECC。

  • 网站的 TLS 证书
  • SSH 登录密钥
  • VPN 连接
  • 硬件安全模块 (HSM) 和智能卡
  • 区块链钱包 (比特币、以太坊等)
  • 几乎所有需要数字签名和加密通信的系统

将所有这些基础设施全部替换,是一项持续数十年的艰巨任务。许多公司和组织仍在观望,但这无异于等到小行星进入大气层才开始挖避难所。

立即行动:现在该做什么

等待不是一个选项。以下是现在就必须采取的行动:

  • 停止使用旧加密: 不要再为需要长期保密的系统部署单独的 RSA 或 ECC 加密。
  • 采用混合模式: 立即开始使用 混合加密。例如,同时使用 X25519 (经典 ECC) 和 Kyber (PQC) 来协商密钥。这样,即使其中一个被破解,通信依然安全。
  • 轮换长期密钥: 如果有需要保密超过 10 年的数据,现在就应该用纯 PQC 算法重新加密。
  • 向供应商施压: 询问你的云服务商、银行和软件供应商,他们的 PQC 迁移计划是什么。
  • 推动实践: 已经有先行者在生产环境中支持 PQC,例如 Cloudflare 和 Google。开始在你的系统中测试和部署。

Shor 算法为我们划下了一条明确的死线。传统的公钥加密事实上已经死亡,我们只是在等待它的葬礼。你今天部署的加密,未来一定会被破解。唯一的问题是,你是否关心,并在此之前采取行动。