木桌上摊开的图纸与圆规、铅笔等制图工具

悬案的起点:一串没有出处的数字

ECDSA 是当今使用最广的椭圆曲线密码学标准。2000 年,美国 NIST 把它写进 FIPS 186-2 数字签名标准,同时公布了一组不同安全强度的标准曲线。问题出在曲线的生成方式:规范里给了一个叫种子(SEED)的参数,它的哈希值决定了曲线方程的系数 b。

种子本身是一串十六进制数字。比如 NIST P-256 的种子是 C49D3608 86E70493 6A6678E1 139D26B7 819F7E90,由美国国家安全局(NSA)提供,没有任何解释,也没有生成过程的记录。密码学界为此争论多年——如果种子可以任意挑选,挑选者就可能构造出一条自己掌握弱点的曲线。Koblitz 和 Menezes 一篇综述《A Riddle Wrapped in an Enigma》梳理了这场争议,也带火了业余溯源,甚至有人为找到种子来源设了赏金。

流传最广的那个说法,其实是错的

最有名的一条线索来自 NSA 的老员工 Jerry Solinas。他在 2015 年回忆,种子大概是用一句玩笑话的哈希生成的,大意是「给 Bob 和 Jerry 加薪」或者「Bob 和 Jerry 说了算」,具体措辞和实现细节谁都不记得了。

Jerry Solinas 于 2023 年去世,其他当事人也没回应,线索就此断了。Anthropic 有几位员工按「玩笑话的哈希」这个方向反复试过,都没成功。

半小时,五条曲线

2026 年 10 月,一位 Anthropic 员工把这个问题丢给内部推理模型,没给任何线索。不到半小时,Claude 找出了 P-192、P-224、P-256、P-384、P-521 五条曲线种子的来历。

结果是:它们根本不是任何哈希算法的输出。种子来自 C 标准库里的 lrand48 伪随机数生成器,Anthropic 用一句话概括了这个答案——「就是时间戳」。三十年来被无数人怀疑藏了后门的参数,来源朴素到近乎随意:一个用时间做初始值的老式伪随机函数,跑出来的数被直接当种子用了。

Anthropic 说得克制:这只是一段有趣的收尾,终结了多年的猜测,没有任何需要采取的行动,多数研究者本来就信任这些曲线。工作归在 Frontier Red Team 名下,标签是网络安全、发现、推理和编程。

值得注意的不是结论,是过程

这件事有意思的地方,在于它展示了一种和「写代码」完全不同的模型用法。要解这个问题,得同时推理几件事:种子可能来自哪种随机源、当年的 C 库在什么平台上可用、哈希假设为什么站不住、以及猜到的生成路径能不能精确复现那串十六进制值。

换言之,模型在这里扮演的不是「生成器」,而是「考古队」:面对别人留下的、文档缺失的历史产物,目标是把当时的现场还原出来。这类任务的共同特征是——答案唯一、可以被严格验证、但搜索路径极长。

对做企业数字化的实际启发

企业手上都堆着这类「考古」问题:十年前某个字段为什么这么设计、某个密钥怎么生成的、一段没人敢动的老代码在防什么。过去只能找当事人回忆,人走了就成了永久黑箱。

现在可以换个做法:把历史代码、提交记录、配置和日志作为证据交给模型,让它提出可验证的假设,再用脚本复现比对。关键在于可验证——凡是能被一条命令证实或推翻的推测,就值得让模型去试;凡是只能给出「大概是」的结论,就不该进决策。

对小团队还有一层用处:接手遗留系统时先让模型做一遍来历梳理,产出物不是文档,而是一组能跑起来验证的测试。