Claude 30 分钟破解 NIST 椭圆曲线种子之谜

2026.10.17 07:20
2026 年 10 月 16 日,Anthropic 宣布其内部 Claude 模型用不到 30 分钟追溯出 NIST 五条标准椭圆曲线(P-192 至 P-521)的种子来源:它们均由 1997–1998 年 Unix 时间戳初始化的 C 语言 lrand48 伪随机数生成器产生,P-256 对应 1997 年 8 月 16 日第 1842 轮输出。这项为持续 26 年的密码学悬案提供可复现答案的研究,基本排除了 NSA 刻意植入后门的重大疑虑,但 B-163 等细节仍未完全阐明。

26 年来,互联网安全最重要的那串数字,一直没有来历。

它藏在大量智能手机、HTTPS 证书和 TLS 握手里。NIST P-256 椭圆曲线的种子参数,自 2000 年写进 FIPS 186-2 标准那天起,就带着一个无人能答的问题:这串十六进制数到底从哪来?有人猜它是某个笑话短语的哈希,有人怀疑它是 NSA 精心挑选的后门。两派人都拿不出证据,这场争论持续了二十多年。

2026 年 10 月 16 日,答案来了。不是密码学家,不是 NSA 前雇员,而是一个 AI 模型。Anthropic 宣布,其内部 Claude 模型用了不到 30 分钟,就还原出这串种子的生成过程:1997 年 8 月 16 日凌晨 1 点 52 分 34 秒,某台 Unix 机器上,一段 C 语言代码调用了 lrand48 这个平平无奇的随机数生成器,从时间戳 871696354 开始,数到第 1842 个候选输出,就是 P-256 的种子。

故事的结局平庸得让所有阴谋论者失望。但这恰恰是密码学家能盼到的最好结果。

现象层:一个 AI 用 30 分钟,解开了人类 26 年的谜题

先看清这件事的冲击力在哪。

P-256,也叫 prime256v1,是过去二十年互联网上使用最广泛的椭圆曲线。浏览器验证网站身份、手机签署交易、硬件钱包保护私钥,背后大概率都是它。而这条曲线的种子 C49D360886E704936A6678E1139D26B7819F7E90,二十多年来没有任何文档说明它的来源。

密码学里有个概念叫“袖中无物”:标准参数的生成必须透明、可验证,让人相信设计者没有偷偷塞进弱点。P-256 的种子恰恰缺了这一环。1997 年秋天,NSA 数学家 Jerry Solinas 把种子交给 ANSI X9.62 委员会时没有附带说明,这个沉默被放大了十几年。2013 年斯诺登披露的 Dual_EC_DRBG 后门事件之后,NSA 在密码标准化中的角色被放在显微镜下,P-256 的未解释种子成了这场辩论里的常客。

于是悬赏来了。密码学家 Filippo Valsorda 设立 NIST 椭圆曲线种子悬赏,奖金从最初的 12000 美元一路加码到 36864 美元,奖励第一个找出种子“前因”的人。多年过去,悬赏无人认领。人类研究者沿着“短语哈希”的方向 brute-force 了无数个类似“Give Bob and Jerry a raise”的句子,无一命中。

然后 Claude 来了。Anthropic 称,模型只用了不到 30 分钟。它没有去猜短语,而是盯着数字本身看:种子的最高位是零,这种统计特征不像 SHA-1 哈希的均匀输出,倒像是某个 48 位状态随机数生成器高位被丢弃后的样子。它顺着这个线索,认出这是 POSIX 标准的 drand48/lrand48 生成器,再用格基规约(LLL 算法)从输出反推出内部状态,最后重建了整个生成流程。

答案朴素到近乎寒酸:有人写了个小程序,用当时的 Unix 时间戳 srand48(seed),然后一个一个取 20 字节候选,取到第 1842 个,停。P-256 的种子就这么诞生了。

Anthropic 把复现代码以 CC0 1.0 协议捐入公有领域。任何人下载、运行,九条 NIST 曲线的种子都能与 FIPS 186-2 标准第一次就完全对上。可复现,才是这个结论真正有力的地方。

分析层一:为什么人类猜了 26 年,方向全是错的

人类为什么没想到?

因为所有人都被一个故事带偏了。Solinas 本人在 2015 年说过,他用的消息大概是“Give Bob and Jerry a raise”这类句子。这句话太具体、太有画面感,成了整个社区的心理锚点。此后十几年,研究者的努力方向就是枚举各种变体短语、做 SHA-1 哈希、比对种子。这是一条看起来最合理、成本最低的路径,也是一条死路。

Claude 的路径完全相反。它不问“哪句话能哈希出这个数”,它问“什么样的代码能产出这个数”。这是两种截然不同的推理范式:前者在答案空间里盲搜,后者在生成机制里反演。

关键突破口是一个不起眼的统计特征。SHA-1 输出是均匀分布的 160 位,而 P-256 的种子最高位是零。单独看,这没什么;但五条素数曲线 P-192、P-224、P-256、P-384、P-521 的种子都有类似特征,模式就浮现了——这更像是一个 48 位状态的生成器,每次返回时把高位截断。lrand48 正是这样的生成器:48 位内部状态,返回高 31 位。

一旦锁定生成器,剩下的就是数学。drand48 是线性同余生成器,状态转移是确定的线性变换。知道连续若干输出,就可以用格基规约反解出 48 位内部状态。这不是暴力破解,这是把生成器当成一道可逆方程来解。解出状态之后,再往前推:状态是从哪来的?srand48 只接受一个种子,而那个年代最常见的种子来源就是时间戳。一试,871696354,1997 年 8 月 16 日 01:52:34 UTC,命中。

这个故事最讽刺的地方在于:真相一直躺在数字的表面特征里,只是人类被“短语哈希”这个权威叙事蒙住了眼睛。AI 没有权威包袱,它只看数据。

分析层二:这不是后门,但也不是什么光彩的事

先说结论:这个发现基本排除了“NSA 刻意植入后门”的最大疑虑。

逻辑很硬。要造一条带后门的椭圆曲线,设计者需要从海量种子中逐个尝试,直到找到一个具有隐藏可利用性质的曲线。这种搜索空间是天文数字。而从某个具体秒数启动的 lrand48,自由度只有时间戳那 30 位量级。研究者估算,NSA 当时只有大约 2 的 30 次方量级的选择空间。在这个空间里“淘”出一条数学上可被利用的弱曲线,概率低到不现实。更何况,P-224 的运行跳过了 3 个候选曲线,ANSI 的运行跳过了 7 个,跳过数量很少,进一步降低了刻意挑选的可能性。

所以密码学家可以松一口气:P-256 没有被动手脚,互联网安全没有因此需要打补丁。Anthropic 明确说,这不是密码学突破、不是攻击、不是漏洞,没有任何东西需要改。

但另一面没那么好看。这些种子不是用现代密码学推崇的透明方法生成的。它们来自一个普通工具,在某个任意时刻被启动,具体细节从未公开记录。换句话说,整个互联网依赖了二十多年的安全基石,其来源的合法性建立在“没人证明它有问题”之上,而不是“我们证明了它没问题”之上。

这是一种典型的工程现实对理想密码学的胜利,也是一种提醒。Jerry Solinas 那一代密码工程师在 1997 年的工作环境下,用随手可得的工具完成了标准化,没人想到这串数字会被后人审查二十多年。今天回头看,这不是恶意,是疏忽。而密码学恰恰是最容不得疏忽的领域。

分析层三:AI 破案,意味着什么

这件事真正值得关注的,不是 P-256 本身,而是破案的方式。

Claude 做对了一件人类没做到的事:它没有接受现成的叙事,而是从数据反推生成代码。这种能力可以迁移。密码学标准、旧协议、未文档化的参数里,埋着大量类似的“历史遗留谜题”。过去人类研究者受限于时间和工具,只能挑最有名的几个下手;现在一个模型可以在几十分钟内完成从模式识别到代码重建的完整链条。

Anthropic 在同一天还发布了另一项成果:Claude 设计出更便宜的量子电路。两件事放在一起看,轮廓就清晰了——AI 正在成为一种新型的研究工具,擅长在旧文献、旧代码、旧标准里做考古式推理。它不是替代数学家,而是把数学家从“猜短语”这种低效劳动里解放出来,让他们去处理真正需要创造力的部分。

但这也有另一面。这个结果之所以能服众,关键不在于 Claude 说了什么,而在于 Anthropic 公开了复现代码,并且代码第一次运行就匹配了 2000 年的标准。可复现性才是科学结论的货币。如果同样的研究以“模型说”的形式发布,没有代码、没有验证,它的说服力会大打折扣。这对所有用 AI 做研究的团队都是一个提醒:AI 可以加速发现,但验证必须独立于 AI。

结论:信任的根基,从权威转向可复现

回头看这场持续 26 年的悬案,最耐人寻味的不是谜底,而是解谜过程的对比。

人类社区花了二十多年,沿着权威人士的一句话,在短语空间里徒劳搜索。AI 花了 30 分钟,从数字的统计特征出发,反推出 1997 年某台机器上的一段代码。前者相信叙事,后者相信证据。

这也解释了为什么这个发现能迅速平息争议。不是因为它来自 Anthropic 或 Claude,而是因为任何人都可以下载那段 CC0 代码,在自己的机器上重跑一遍,看着九条 NIST 曲线的种子与 FIPS 186-2 一一匹配。信任不再来自“NSA 说没问题”或“Anthropic 说没问题”,而来自“我跑了一遍,确实没问题”。

当然,谜题没有完全结束。B-163 这条二元曲线的种子仍不符合任何已知模式;P-224、P-256、P-384、P-521 的基点如何选择也还是未知。但这些未解部分已经不再承载“后门”的想象重量——当绝大多数种子被证明来自同一个平庸的生成器,剩下的那个更可能是另一个被遗忘的工程细节,而不是精心策划的阴谋。

密码学世界里最可怕的东西,从来不是后门,而是遗忘。1997 年某个凌晨,某个工程师敲下一行代码,然后忘了记录它。这行代码在二十年后成了全球互联网的信任基石,也成了二十年的猜疑源头。

而今天,一个 AI 帮人类找回了这段记忆。它告诉我们:真正坚固的信任,不来自权威机构的背书,而来自一段谁都能跑、谁都能验证的代码。

作品声明:内容由AI生成

快报

更多