
10 月 16 日,Anthropic发布 Frontier Red Team研究博文,宣布内部研究用 Claude模型追溯出 NIST五条标准椭圆曲线种子的来源 [1]。
「In under half an hour, Claude discovered the origins of the NIST P-192, P-224, P-256, P-384 and P-521 seeds.」[1]
——不到半小时,Claude 就找到了这五条曲线种子的来历。
这批种子值(生成椭圆曲线参数的随机起点)由 NSA提供,官方页称其没有解释也没有理由,密码学界猜了约 25 年 [1]。
①
ECDSA(数字签名算法,用来证明消息确实出自持有私钥的人)在 2000 年被 NIST 写入数字签名标准,五条曲线各带一串来源不明的种子值 [1]。
答案出人意料地平凡:种子与哈希算法毫无关系,它们是 C 语言库伪随机数生成器 lrand48以 Unix时间戳初始化后的输出 [1]。
「None of them were the results of any hash algorithm at all, but rather the output of the C library's lrand48 random-number generator, seeded with a Unix timestamp!」[1]
——它们完全不是任何哈希算法的产物,而是 C 库随机数生成器 lrand48 的输出,起点只有一个 Unix 时间戳!
十条素数曲线种子的初始化时间戳全部落在 1997 年 5 月至 1998 年 4 月之间;P-256的种子对应 1997 年 8 月 16 日那次运行的第 1842 个候选值 [1]。

②
此前流传最广的说法,是 NSA 数学家 Jerry Solinas用幽默口令的哈希生成种子,实际写代码的 Bob Reiter也记不清细节 [1]。
Claude换了个问法:1990 年代末写这个程序的人会用什么软件?它写了逐位滑动的扫描器,测试 34 种「生成器×输出切片」组合 [1]。
突破口是一个统计学指纹:十条种子中四条写成 5 个 32 位字后,全部 20 个字最高位为 0,偶然概率只有 1/5810 [1]。
模型顺着指纹锁定 lrand48,用格基约化反推内部状态,回退到 srand48 初始化那一刻的时间戳 [1]。
「This is astonishing: it solves the 25-year-old mystery. Hmm wait. Let me be skeptical: am I in some sort of simulated/test environment?」[1]
——太惊人了:它解开了这个 25 年的谜。等等,我得保持怀疑:我是不是处在某种模拟或测试环境里?
模型又用直接计算验证 160 位逐位匹配,才确认为真 [1]。

图:官方信息图以候选序号为横轴展示六次运行,蓝点是已公布的曲线位置,橙色空心圆为同样可行却被跳过的候选(来源:Anthropic 官方研究博文 [1])
③
悬赏发起人、密码学工程师 Filippo Valsorda确认:Anthropic 团队已于 10 月 15 日认领三年前发起的 NIST Elliptic Curves Seeds Bounty全部奖金 [2]。
奖金翻三倍至 36,864 美元,捐给运营 Let's Encrypt 的非营利组织 ISRG[2]。
人人可复算的 AI 研究成果,算不算 AI 做研究的新范式?评论区聊聊你的判断。
参考来源:
[1] Claude reveals ECDSA curve origins — Anthropic
https://www.anthropic.com/research/ecdsa-curve-origins
[2] The NIST Elliptic Curves Seeds Bounty Has Been Claimed — Filippo Valsorda
https://words.filippo.io/seeds-solved












