有人对一个声称用 IBM Quantum 硬件恢复 ECDLP 私钥的项目做了个很小的手术:只把 solve_ecdlp() 里的 IBM Quantum backend 换成 os.urandom。补丁约 59 行。电路构造、ripple-carry oracle、提取流程、d·G == Q 经典验证,都没动。

结果没有按“量子后端被拿掉就应崩掉”的剧本走。4-bit 到 10-bit 小挑战首跑复现;16-bit 5 次中 4 次成功;17-bit 5 次中 2 次成功。17-bit 正是拿到 1 BTC 奖励的案例。

这件事的边界要先划清。它没有证明 IBM Quantum 没价值,也没有证明真实世界 ECC 被打穿。实验规模最高只有 17-bit,离实际椭圆曲线密码常见的 256-bit 安全参数很远。它击中的,是这次“量子硬件完成密码分析攻击”这个结论。

/dev/urandom 替换 QPU,结果仍能命中

这次替换克制得近乎残酷。不是另写求解器,不是换一套算法,只是让本该来自量子后端的 counts,变成同样长度的均匀随机 bitstrings。

挑战规模shots/dev/urandom 结果该怎么看
4-bit 至 10-bit8192 为主均首跑复现shots 已远大于 n,随机命中不意外
16-bit200004/5 成功和随机基线可相容
17-bit200002/5 成功理论随机成功率约 26.43%,实测可解释

关键机制不神秘。每个 shot 会生成一个候选值:

d_cand = (r − j)·k⁻¹ mod n

然后系统用经典方式验算:

d_cand · G == Q

如果候选在 [0,n) 上近似均匀,至少命中一次的概率就是:

P(至少一次命中)=1-(1-1/n)^S

这里的 S 是 shots 数。当 shots 相对 n 足够大,随机噪声本来就可能恢复 d。原项目 README 自己也承认:shots >> n 时,random noise alone can recover d with high probability。

问题不在承认随机噪声能命中。问题在于,后续叙事仍把这类命中包装成量子硬件完成了密码分析攻击。

这不是量子工程归零,是密码学证据不够

项目工程实现可能真实,也可能复杂。六种 oracle、CDKM ripple-carry adder、heavy-hex 拓扑映射、半经典相位估计、中途测量,这些都不是几行脚本能糊出来的东西。

但密码学结论看的是另一把尺。你说量子计算机恢复了私钥,就必须证明硬件输出比随机噪声多带了信息。现在随机数替身能以相近概率过关,验证器又只负责最后验对,这更像抽样加验票,不像量子攻击证据。

对关注量子计算与密码学安全的技术读者,动作很具体:别只看“验出了私钥”。要看随机基线、shots/n、输出分布和统计显著性。团队如果在评估类似方案,采购、立项或安全公告都应该延后到这些数据补齐之后。

对关心科技奖项、AI/量子叙事泡沫的行业观察者,这件事更像一次评审压力测试。奖项不能只奖励“最后答案对了”。如果随机噪声也能跑进领奖台,评审看的就不该只是结果截图,而是对照实验和反事实基线。

这和早年一些“量子优越性”争论有点像,但不能混为一谈。Google 2019 年 Sycamore 至少把任务限定在随机线路采样,并和经典模拟成本较量。这里讨论的是 ECDLP 私钥恢复,而且最高只有 17-bit。拿小规模演示做工程验证可以,拿它讲“攻破椭圆曲线密码”,尺度就变了。

“天下熙熙,皆为利来。”这句话放在这里,不是指控谁作恶。它只是提醒一件旧事:奖金、曝光和前沿叙事,会放大最容易传播的结论,也会惩罚那些不够热闹的基线检验。

接下来只看三件事

这件事不该被读成“量子计算没用”。它也不该被读成“ECC 已经危险”。目前能成立的判断更窄:该提交展示的恢复结果,没有和 /dev/urandom 拉开可见距离。

接下来最该看的变量只有三个:

  • 原项目能否给出相对 /dev/urandom 的统计检验,而不是只给成功案例。
  • 能否在 shots 不碾压 n 的设置下稳定恢复私钥。
  • 能否说明 IBM 硬件输出相对均匀随机噪声多了什么可测量信息。

给不出这些,电路图越漂亮,问题越尴尬。复杂工程可以存在,错误结论也可以同时存在。密码学不吃气氛,它只认可重复、对照和可区分信号。

对普通钱包用户和企业安全团队,结论反而简单:不用因为一个 17-bit 实验恐慌,也不要把它当作迁移 ECC 的触发器。该做的是观望证据,而不是跟着标题改安全策略。

该紧张的是项目叙事、奖项筛选和媒体口径。一次随机基线都没有压住的“突破”,不该被直接送进“量子攻破密码”的陈列柜。