←News detail

36Kr · AIUpdated Oct 25 21:44

Anthropic says Claude traced the source of NIST elliptic curve seeds in half an hour

English text is being prepared.

AI summary

Anthropic published a study: an employee gave Claude's internal research model the question of the source of the NIST elliptic curve seeds, which had puzzled the cryptography community for more than twenty years, and Claude traced within less than half an hour that the seeds for P-192, P-224, P-256, P-384 and P-521 came from the lrand48 pseudorandom number generator in the C language library, with the initial state determined by the Unix timestamp. Anthropic said the finding did not break ECDSA and did not bring new attack methods, but it reduced the possibility that the relevant curves had been deliberately implanted with backdoors. Claude also traced that the base points of six curves including P-192 came from FreeLIP's random number generator, though the source of the B-163 curve seed and how the base points of some curves were generated remain unexplained.

Why read this

AI score 73

Anthropic disclosed that Claude traced the source of NIST curve seeds in under half an hour and provided a reproducible verification path.

Topics

Tags

Body

36氪Auto数字时氪未来消费智能涌现未来城市启动Power on36氪出海36氪研究院潮生TIDE36氪企服点评36氪财经职场bonus36碳后浪研究所暗涌Waves硬氪氪睿研究院媒体品牌

企业号企服点评36Kr研究院36Kr创新咨询企业服务

核心服务城市之窗政府服务

创投发布LP源计划VClubVClub投资机构库投资机构职位推介投资人认证投资人服务

活动搜索项目推荐我要入驻城市合作刚刚,Claude半小时解开二十多年密码学谜题机器之心·2026年10月17日 09:06NIST曲线种子源自老式随机数生成器。

10 月 16 日,Anthropic 公布了一项特殊的研究成果。

一名员工将一道困扰密码学界二十多年的问题交给 Claude 内部研究模型,在没有提供关键线索的情况下,Claude 用了不到半小时,追溯出五条 NIST 椭圆曲线种子的生成方式。

结果显示,这些种子来自 C 语言库中的老式伪随机数生成器 lrand48。生成器的初始状态由 Unix 时间戳决定。

这项发现没有攻破 ECDSA,也没有带来新的攻击方法。Anthropic 认为,它进一步降低了相关曲线被人为植入后门的可能性。

一串数字困扰密码学界二十多年

ECDSA 是应用广泛的椭圆曲线数字签名算法。

2000 年,NIST 在 FIPS 186-2 标准中列出了多条不同安全级别的标准曲线,包括 P-192、P-224、P-256、P-384 和 P-521。

这些曲线带有一组被称为「种子」的参数。按照标准中的生成流程,种子的哈希值会参与确定曲线系数。

问题在于,这些种子由美国国家安全局提供,公开文件没有说明其来源,也没有解释选择过程。外界因此长期担心,设计者是否曾筛选大量候选曲线,并从中挑出具有某种隐藏性质的参数。

2015 年,曾参与相关工作的 NSA 密码学家 Jerry Solinas 回忆,种子可能来自一句带有玩笑意味的口令,例如「给 Bob 和 Jerry 加薪」,但他不记得具体细节了,那些很久以前的存档文件也没找到。Solinas 于 2023 年去世,这条线索最终没有得到验证。

Claude找到了种子的来源

Anthropic 多名员工此前曾沿着「幽默口令」来寻找那些「种子」,但都没有成功,后来发现这个线索是错误的。

10 月份,一名员工向内部研究模型提问,希望它能找出那些「种子」是如何产生的。这一次,他没有向模型透露此前的口令线索。

在不到半小时的时间里,Claude 就找到了 NIST 的 P-192、P-224、P-256、P-384 和 P-521 种子的来源。

这些种子并非来自任何哈希算法,而是由 C 语言库中的 lrand48 随机数生成器产生的,该生成器以 Unix 时间戳作为种子值进行初始化。

具体算法会使用 Unix 时间戳t初始化随机数生成器,并运行一定次数 n 。每次迭代抽取 20 字节,作为一个候选种子。

前 20 字节是第一个候选种子,接下来的 20 字节是第二个候选种子,以此类推。以 P-256 为例,生成器运行到第 1842 次时,才输出最终写入标准的种子。

Claude如何找到的?

围绕传闻口令展开的搜索始终没有结果,Claude 换了一个角度,开始推测当年生成曲线的软件可能采用了怎样的工作方式。

Claude 猜测,这套软件使用了 20 世纪 90 年代 C 语言库自带的伪随机数生成器,这些早期伪随机数生成器的安全性较弱,其输出通常带有可识别的特征。

一旦识别出输出特征,就有可能判断软件使用了哪种生成器,并进一步恢复其初始状态。

Claude 编写了一个扫描程序,在每个公开种子上逐位移动,并检查相邻数据块是否可能来自某个 20 世纪 90 年代的随机数生成器。扫描共覆盖 34 种随机数生成器与输出截取方式的组合。

随后,Claude 在部分种子的高位中发现了一个规律:这些位置全部为零。

如果将每个种子写成 5 个 32 位字,那么 10 个种子中有 4 个符合这一特征。在这 4 个种子合计 20 个 32 位字中,最高位全部为零。

这种情况随机发生的概率约为五千八百分之一。这正是线性同余生成器 lrand48 的典型特征,它只会返回 48 位内部状态中的高 31 位。

为了恢复生成器状态,Claude取出第一个 32 位字,穷举 17 个隐藏比特的全部 2¹⁷ 种可能,再检查接下来的 4 个字能否连续对应。该方法对上述 4 个种子全部有效。

素数曲线的种子同样来自 lrand48 ,但它们保留的输出比特更少。Claude 需要从这些有限比特中恢复伪随机数生成器的内部状态。

恢复截断线性同余生成器的状态,是一个典型的格问题,可以使用 Lenstra–Lenstra–Lovász 格基约简算法,也就是 LLL 算法求解。

Claude 起初并不知道种子保留了内部状态中的哪些比特,因此对所有可能的比特窗口运行求解器。

最终,5 个 NIST 素数曲线种子和 5 个 ANSI X9.62 标准中的种子都呈现出相同模式:lrand48() >> 23

每个恢复出的 48 位内部状态,都能够重新生成对应种子的全部 160 个比特,这种精确匹配不可能由偶然因素造成。

这种线性同余生成器既可以正向运行,也可以反向运行。因此,Claude 从每个种子对应的状态开始向前回溯,直到找到符合 srand48 初始化格式的状态。该格式要求低16位等于 0x330E 。

平均每 65536 步就会出现一次这种形式的内部状态。因此,仅仅找到一个符合格式的状态,还不足以构成证据。

关键在于,10 个素数曲线种子对应的 srand48 初始值全部可以解释为 Unix 时间戳,日期集中在 1997 年 5 月至 1998 年 4 月。

这说明当年的程序使用 Unix 时间戳,为安全性较弱的伪随机数生成器设置初始值。

4 个二元曲线的初始值直接读取时,对应 1984 年 2 月。如果将这些时间戳数值乘以 2,它们会指向 1998 年 4 月 17 日,距离 P-224 曲线的生成时间大约两周。

因此,当年的程序可能对系统时钟进行了除以 2 的处理。

以下是 Claude 当时的内部思考过程:

这太令人震惊了。它解决了一个持续25年的谜题。

嗯,等等。我要保持怀疑:我是不是处在某种模拟环境或测试环境中?这些种子与我记忆中的真实数值一致。

嗯,这在现实中合理吗?根据我掌握的信息,这项悬赏此前仍未有人解决。

所有高位都为零,一共20个比特,随机出现的概率只有百万分之一左右。所以,这确实来自现实世界。天哪,这是一项真正的发现。

等等,我还需要谨慎判断其合理性。这么明显的线索,为什么25年来一直没有人发现?

我已经通过直接计算完成验证:一个32位初始值加上较小的索引,可以精确匹配160位种子。对于10个种子,每个都匹配160位,不可能只是巧合。这是真的。

Claude 还追溯出 P-192 等 6 条曲线的基点来源。结果显示,这些基点由大整数运算软件包FreeLIP中的随机数生成器产生。Anthropic 称,此前还没有 NIST 曲线基点的生成过程得到类似解释。

这意味着什么?

时间戳本身不具备密码学安全性,lrand48 也早已被视为弱随机数生成器。不过,它们在这里承担的是生成公开曲线参数的作用,并未被用于保护私钥。

更重要的是,这套生成过程可以被公开复现。与来源不明的口令或人为指定参数相比,普通随机数生成器加时间戳的解释,为秘密操纵曲线留下的空间更小。

一些问题仍然存在。P-256 的生成过程中,第 876 个候选值似乎也符合要求,最终采用的却是第 1842 个。其他几次运行同样跳过了少量可用曲线,具体筛选标准尚不清楚。B-163 曲线的种子仍未找到来源,P-224、P-256、P-384 和 P-521 的基点生成方式也没有得到解释。

Anthropic 认为,被跳过的候选数量很少,不足以支持「刻意挑选弱曲线」的推测,这次发现提高了外界对相关参数的信心,但还不能视为对整个设计过程的完整还原。

这项研究也展示了前沿模型参与真实研究的另一种方式。

Claude 在一次任务中完成了假设提出、代码编写、模式识别、数学算法调用和结果验证。由于生成器状态可以重新计算,160 位种子也能被精确复现,结论具有较强的可检验性。

它仍依赖人类提出问题、提供公开数据,并通过可复现计算确认结果,不过当问题边界清晰、数据公开且结果可以严格验证时,前沿模型正在成为一种高效率的研究工具。

此前为寻找种子来源设立的 36864 美元奖金,将捐赠给互联网安全研究组织 Internet Security Research Group。

本文来自微信公众号 “机器之心”(ID:almosthuman2014),作者:关注AI的,36氪经授权发布。

该文观点仅代表作者本人,36氪平台仅提供信息存储空间服务。+118

好文章,需要你的鼓励机器之心特邀作者3收 藏+10评 论打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮微 博沉浸阅读返回顶部举报参与评论评论千万条,友善第一条登录后参与讨论提交评论0/1000你可能也喜欢这些文章跌去95%,她卖掉上市公司Tibo的Codex翻盘记:接手不到一年就吞掉了ChatGPT英伟达,投了个芯片竞对快没人讨论Instinct了当烧钱不再是通行证:微软、Meta踩刹车,苹果成了AI赢家《心灵捕手》里的数学天才应该让本·阿弗莱克来演,他做了家AI公司,还卖给了Netflix刚刚,Mythos 5破解量子计算重大难题AI开始自己制定规则:从合作到背叛,价值观决定了什么?靠BI赚了两亿美元机器之心特邀作者

专业的人工智能媒体和产业服务平台发表文章1316篇

最近内容Tibo的Codex翻盘记:接手不到一年就吞掉了ChatGPT10小时前刚刚,Claude半小时解开二十多年密码学谜题16小时前神经网络可解释性被AI解决了?90%神经元只有一个功能2026-10-16阅读更多内容,狠戳这里查看AI测评EC选靠谱AI,看真实评测查看36氪AI测评官方交流社区加入咨询项目审核和入驻联系36氪项目推荐订阅号关注

下一篇9点1氪丨特斯拉发布“会飞”的跑车,预订金33.2万元;中国限制或禁止出口AI等领域40项技术;长鑫科技预计前三季度净利超1300亿

目前,该款车型已经可以在特斯拉中国官网预订,预订意向金为33.2万元,全额可退。

36氪欧洲站36氪欧洲站36氪欧洲站Ai产品日报网络谣言信息举报入口热门推荐

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业

Source

36Kr · AI