当前位置:首页 > 经验分享

Claude 揭开 NIST 曲线种子来源:26 年悬案

【导语】26 年没人能说清 NIST 椭圆曲线种子是怎么来的。Claude 用不到半小时找到了答案,这篇文章把破案过程和你能用上的部分讲清楚。

26 年悬案:NSA 给的种子,没人知道怎么来的

2000 年,NIST 把 ECDSA 写进了 FIPS 186-2 数字签名标准。标准里列了一组椭圆曲线,每条曲线都带一个叫 seed(种子)的参数,这个种子的哈希值决定了曲线方程里的系数 b。

麻烦在于,这些种子由美国国家安全局(NSA)提供,却没有任何生成过程的说明。签名算法管的是“这条消息是不是真的由你发出”,种子的来源不明,等于地基没有验收报告。公开种子,别人才能复算,检查参数是不是真按公布的步骤算出来的。

2013 年 Dual_EC_DRBG 事件曝光后,外界对 NSA 参与密码标准的警惕明显上升,这批种子又被翻出来讨论。密码学家 Koblitz 和 Menezes 专门写过一篇《A Riddle WrAPPed in an Enigma》梳理争议,加密圈里还开出了悬赏。

流传最广的猜测来自 NSA 老员工 Jerry SoliNAS 在 2015 年的一段回忆:种子大概是拿一句玩笑话做哈希得到的,大意是“给 Bob 和 Jerry 加薪”。他说写代码的是 Bob Reiter,可两人都记不清细节。Jerry 在 2023 年去世,这条线索就断在这里。

种子到底是什么:一段 20 字节的起始数据

把生成曲线参数的过程想成一台固定程序的机器:投进去的原料就是种子,同样的原料按同样的规则处理,永远得到同样的结果。

原料不公开,操作空间就大了。设计者可以反复挑,一直挑到一条对自己有利的曲线为止。这也是当年怀疑后门的逻辑起点。

NIST P-256 的种子是一个 40 位十六进制数:C49D360886E704936A6678E1139D26B7819F7E90。P-256 也叫 prime256v1 或 secp256r1,是眼下用得最广的一条曲线,HTTPS 证书、数字签名里到处都是它。

破案思路:不猜那句话,改猜 1990 年代的软件

Anthropic 前沿红队在 2026 年 10 月 16 日发布了研究说明。起点是一位员工让内部研究模型 Claude 试着找种子来源,而且没有把“玩笑话哈希”这条线索告诉它。

Claude 换了个方向:如果这些种子是 1990 年代生成的,当年的软件会怎么写?它判断当初用的应该是 C 语言库自带的伪随机数生成器(PRNG)。这类老生成器很弱,输出规律能被识别出来。

它写了一个扫描器,沿着每个种子的比特逐位滑动,测试相邻的数据块是不是某个老式生成器的连续输出,一共试了 34 种生成器和输出切片的组合。

扫描过程里冒出一个特征:部分种子按 5 个 32 位字排列时,10 个种子中有 4 个,全部 20 个字的高位都是 0。这种规律纯属偶然的概率约 1/5810。这是线性同余生成器 lrand48 的签名——它只返回 48 位内部状态里的高 31 位。Claude 自己的判断是,知道要找什么之后,这个模式用眼睛就能看出来。

从 160 位反推出 1997 年的那一秒

素数曲线的种子每个输出保留的比特更少,得先把被截断的内部状态算回来。Claude 把它当成一个标准的格(lattice)问题,用 LLL 格基约简算法求解,对每一个可能的比特窗口都跑了一遍求解器。

结果覆盖了 5 条 NIST 素数曲线和 5 条 ANSI X9.62 曲线,全部符合同一个模式:lrand48() >> 23。每个恢复出来的 48 位状态,都能完整再生该种子的全部 160 位,这种巧合不可能发生。

接下来是逆向推算。lrand48 这类线性同余生成器正着走反着走一样容易,Claude 把状态一步步回退,直到出现 srand48 初始化时的形态,也就是低 16 位等于 0x330E。这个形态每 65,536 步出现一次,单独撞上不算证据,关键是下一步。

10 个素数曲线种子的初始化值,全部是 Unix 时间戳,落在 1997 年 5 月到 1998 年 4 月之间。P-256 对应的时间戳是 871696354,换算过来是 1997 年 8 月 16 日 01:52:34 UTC,它是那一次运行里的第 1842 个候选值。生成器每轮抽 20 字节作为一个候选种子,第一个 20 字节是候选 1,接下来是候选 2,依次往下排。

  • P-192、P-224、P-256、P-384、P-521:种子来自 lrand48 加 Unix 时间戳
  • 素数曲线种子时间戳范围:1997 年 5 月至 1998 年 4 月
  • P-256:候选编号 1842,时间戳 871696354(1997-08-16 01:52:34 UTC)
  • 二进制曲线种子:时间戳读出来是 1984 年 2 月,翻倍后落在 1998 年 4 月 17 日

顺手把基点也找到了:FreeLIP 和 20000 这个种子

曲线还有第二个参数叫基点 G,所有 ECDSA 公钥都是它的某个倍数。种子不决定 G,所以基点怎么来的又是一笔糊涂账。

查种子的过程中,Claude 把一部分基点也对上了。1997 年 5 月生成的 6 条曲线——P-192,加上 ANSI X9.62 的 prime192v2、prime192v3、prime239v1、prime239v2、prime239v3——它们的基点来自 FreeLIP 里的随机数生成器。FreeLIP 是 Arjen Lenstra 写的大整数运算软件包,Victor Shoup 的 NTL 库早期版本也带着同一份代码。

生成配方只有四步:用一个小整数给生成器播种;丢掉前 7 个输出;用 26 位输出对素数 p 取模,得到候选 x 坐标;重复第三步,直到 x 落在曲线上。据 Anthropic 说,此前没有任何一个 NIST 曲线的基点被解释过。

  • P-192:初始种子 20000
  • prime239v1 / v2 / v3:20420 / 20507 / 20509
  • prime192v2 / v3:20512 / 20517

还剩三个尾巴没接上

Anthropic 这次没有把话说满,研究里明确列出了没解决的部分。

第一,第 5 个二进制种子 B-163 不符合试过的任何模式,来源仍然不明。第二,P-224、P-256、P-384、P-521 的基点怎么生成的,以及 NIST 二进制曲线的基点,都还没有答案。

第三,被跳过的候选。不是每个候选种子都能生成可用曲线,但研究里看到一些本来可用的曲线被越过了:P-256 的候选 876 同样能得到合格曲线,P-224 的那次运行越过了 3 条,两条 ANSI X9.62 示例曲线背后的运行又越过了 7 条。用什么判据跳过的,有没有别的原因,现在没人知道。

Anthropic 的解释是:被跳过的数量太少,“专门去找弱曲线”这个说法站不住脚,那意味着弱曲线得满地都是。理论上仍然可以通过搜索时间戳,挑出一条有特定性质的曲线,但只有打算把时间戳当成“种子是无害生成”的证据公开时,才需要这么干。数字本身不会告诉你当时跑了多少次。

对普通人有什么用:三件可以马上做的事

结论先说清楚:这不是破解,没有新攻击方式,曲线本身也没有任何变化。Anthropic 的表述很直接——没有需要采取的行动,不用改配置,不用换证书。

如果你想自己验证一遍,官方给了复现代码。核心几步并不复杂。

  • 打开 Anthropic 研究页的复现脚本(Python),本地跑一遍,它会重新算出 14 条曲线的种子和 6 条曲线的基点横坐标,输出里会出现一行 matches published Gx: True。
  • lrand48 的推进公式是 x = (0x5DEECE66D * x + 0xB) % 2**48,初始化时 srand48(t) 把状态设为 (t << 16) | 0x330E。拿 P-256 的时间戳和 1842 这个编号手算,能还原出那串种子。
  • 查自己用了哪些曲线:装了 OpenSSL 的话执行 openssl ecparam -list_curves | grep -i prime256;看服务器证书可以找“公钥算法”一栏,写着 prime256v1 或 secp256r1 的就是 P-256。

更值得记的是方法:AI 怎么给老标准做考古

这次能成,靠的不是算力堆出来的暴力搜索。Claude 真正做对的是换了个提问角度:不去翻那句玩笑话,而是问 1997 年的人会用什么工具。当年软件的性能上限和库的限制,本身就是线索。

可复现是第二个要点。种子来源这种结论,光说“我找到了”没意义,必须有人能独立跑出同样的结果。研究里公开了时间戳、迭代次数、生成器参数,附了完整脚本,连 P-256 被跳过的候选 876 这种细节都写了出来。

还有个细节挺有意思:Claude 的推理记录里留了一段自我怀疑,它先问自己是不是在某个测试环境里,直到用直接计算验证 160 位匹配、确认不可能是巧合,才接受这是个真实发现。

老标准、没写文档的参数、只在旧刊物里留过一句的算法,这类陈旧悬案在各行各业都不少。这次的路径说明,把它们重新过一遍,成本比过去低得多。

顺带一提,悬赏的 36864 美元被 Anthropic 团队领走之后,捐给了互联网安全研究小组(ISRG)。

关注格熊,持续分享最新免费资源!

  • 随机文章
  • 热门文章
  • 热评文章

扫描二维码推送至手机访问。

版权声明:本文由格熊发布,如需转载请注明出处。

免责声明:本站收集的内容,都来自网络,版权争议与本站无关。

本文链接:https://gexiong.com/jyfx/810.html

分享给朋友:

相关文章

【经验分享】手机拍照不清晰?试试这5个设置,立刻提升照片质量

【经验分享】手机拍照不清晰?试试这5个设置,立刻提升照片质量

手机相机默认设置并非最优,手把手教你调整5个参数,让你的照片媲美单反。…

AI智能体大规模普及的救命稻草:为什么分布式智能架构是未来?

AI智能体大规模普及的救命稻草:为什么分布式智能架构是未来?

Omdia最新报告指出,分布式智能架构是AI智能体大规模普及的关键。本文深度分析当前AI智能体的三大结构性局限(被动架构、设备孤岛、技术负担),以及分布式架构如何破解成本困境、打破设备孤岛。1500字深度长文。…

2026年8款免费AI工具实测:写作、搜索、抠图、编程全覆盖,附操作步骤

2026年8款免费AI工具实测:写作、搜索、抠图、编程全覆盖,附操作步骤

【导语】2026年最好用的免费AI工具清单!涵盖写作、视频、搜索、编程、抠图5大类,每个都附带操作步骤,小白照着用就能提升效率。一、AI对话助手:你的万能"瑞士军刀"1. DeepSeek——国内免费首选2026年,DeepSeek已稳居国内免费AI助手第一梯队。推理和代码能力出…

2026年AI行业大变局:从百模大战到价值验证,普通人如何抓住新机会

2026年AI行业大变局:从百模大战到价值验证,普通人如何抓住新机会

2026年AI行业正式告别百模大战进入价值验证期。GPT-5.5能力增长放缓、DeepSeek开源策略成功、中国大模型调用量首超美国、AI Agent规模化落地。本文深度解析行业变局,给普通人实用的应对建议。…

2026年AI应用落地元年:从「聊天玩具」到「数字员工」,普通人如何抓住这波红利?

2026年AI应用落地元年:从「聊天玩具」到「数字员工」,普通人如何抓住这波红利?

2026年是AI从聊天工具走向实际落地的关键一年,八部门发文力推AI+消费、Agent全面进入企业流程、国产大模型登顶全球前五,普通人如何在这波变革中找到机会?深度解析三大趋势与四条行动路径。…

当AI开始“抬杠”和“说教”:Claude Sonnet 5翻车,暴露了智能助手最难的命题

当AI开始“抬杠”和“说教”:Claude Sonnet 5翻车,暴露了智能助手最难的命题

Claude Sonnet 5上线后被大量吐槽“反驳成风、道德说教”,本文深度分析AI助手在“有用”与“有态度”之间的失衡,以及它对真实办公效率的影响与应对。…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。