Claude 这次解开的是一道挂了 25 年的密码学悬案:2026 年 10 月 16 日,Anthropic 的 Frontier Red Team 发布研究记录称,公司内部的一个研究模型在不到半小时里追溯出了 NIST 椭圆曲线种子(seed)的生成方式。这批种子由美国国家安全局在上世纪 90 年代提供,NIST 在 2000 年的 FIPS 186-2 数字签名标准中采用了相应的椭圆曲线,但从未说明种子是怎么来的,后门疑云因此缠了 ECDSA 二十多年。
先说清这串数字为什么值得惦记
ECDSA 是如今应用最广的椭圆曲线签名方案,标准曲线 P-192、P-224、P-256、P-384、P-521 的种子都写在标准文件里,任何人都能查到数值本身,却没人能说清它的出处。长期流传的说法来自当年 NSA 员工 Jerry Solinas 的回忆:种子可能是某句玩笑短语的哈希。但 Solinas 已于 2023 年去世,相关同事多年没有回应,短语路线也被反复尝试而无果;民间甚至为这道题挂出了 36,864 美元的悬赏。一种无法溯源的"魔法数字"待在全球基础设施级的标准里,本身就是信任问题。
答案不在短语里,在一台老生成器里
2026 年 10 月,一名 Anthropic 员工把问题交给内部研究模型,并特意没有提示那条短语线索。模型换了个方向:它假设当年写生成程序的人用的是 90 年代 C 语言库自带的弱伪随机生成器,这类输出带有可识别的指纹。它写了一个扫描程序,把每颗种子切成小块,逐段检验它们是否像某个老式生成器的连续输出,前后试了 34 种生成器与切片的组合。决定性的线索是比特层面的:其中四颗种子的 20 个 32 位字里,最高位全部为零,这种排布纯属巧合的概率约为 1/5810——这正指向 lrand48,它只返回 48 位内部状态的高 31 位。模型随后枚举了第一个字缺失的 17 个比特(2 的 17 次方种可能),逐一验证后续输出是否吻合,四个种子的生成器状态都被完整恢复。
结论因此很朴素:五颗素数域曲线的种子都是 lrand48 的输出,初始化用的是 Unix 时间戳,时间落在 1997 年 5 月到 1998 年 4 月之间,中途没有用任何哈希算法;程序每轮抽取 20 字节作为候选种子,P-256 的种子是某次运行中排第 1842 位的候选,那次运行始于 1997 年 8 月 16 日凌晨(UTC)。同一方法还首次解释了 P-192 及另外五条 ANSI X9.62 曲线的基点来源。
这不是攻破,尾巴也还没有收完
Anthropic 明确表示,这项发现不构成对 ECDSA 的破解,曲线本身没有被发现弱点,使用者什么都不需要改;团队公开了能重现全部种子的代码,那笔悬赏将捐给运营 Let's Encrypt 的非营利组织 Internet Security Research Group。不过也要标明证据等级:结果目前来自 Anthropic 自家的发布,尚未得到独立复核,尽管可重现代码降低了验证门槛。没解开的部分同样被如实列出——P-256 那次运行中排第 876 位的候选同样可用却被跳过,原因不明;二进制曲线 B-163 的种子、以及 P-224、P-256、P-384、P-521 的基点来源,仍无解释。
这件事和Claude 自主优化量子电路:八项任务超过已发表最佳设计是同一种工作模式的两次显形:把问题交给模型,让它在能自动验算的闭环里反复试,人的工作退到提出问题和核对结果。对密码学界而言,25 年的疑云散去靠的不是新数学,而是一个模型愿意去翻 90 年代的旧工具箱——很多"无解"的老问题,缺的可能只是这种耐心。