### [Claude半小时解开25年密码学谜题:找出NIST曲线种子来源,但没攻破ECDSA](https://www.zuoshipin.com/article/55123) **Published:** 2026-10-17T03:50:24 **Author:** 天才交易员 **Excerpt:** Anthropic披露,Claude内部研究模型在不到半小时内追溯出NIST P-192、P-224、P-25… **导读:**Claude确实在不到半小时内解开了一段持续约25年的密码学历史谜题,但**它没有破解ECDSA,也没有找到新的攻击手段**。它找出的是多条NIST标准曲线“公开种子”的生成过程:1990年代C语言库中的`lrand48`,加上Unix时间戳。 **安全结论:**Anthropic明确表示无需采取行动或修改现有系统。这项发现反而降低了曲线参数被人为植入后门的可能性,但仍没有还原全部参数选择过程。 [![Anthropic Frontier Red Team发布Claude追溯ECDSA曲线来源的研究](https://admin.zuoshipin.com/wp-content/uploads/2026/10/claude-ecdsa-origins-image01-image01.webp)](https://admin.zuoshipin.com/wp-content/uploads/2026/10/claude-ecdsa-origins-image01-image01.webp) Anthropic Frontier Red Team发布Claude追溯ECDSA曲线来源的研究。 ## 01 / 困扰密码学界25年的,到底是哪串数字? ECDSA是广泛使用的椭圆曲线数字签名算法。2000年,NIST在FIPS 186-2中列出P-192、P-224、P-256、P-384和P-521等标准曲线。软件、证书、身份验证和大量安全协议都曾使用或兼容这些曲线。 每条曲线都带有一段公开“种子”,其哈希值参与确定曲线系数。争议不在种子是否保密,而在于**这些数字由NSA提供,却没有公开解释从哪里来、为什么选中它们**。 当设计者可以尝试大量候选参数,却只公布最终结果,外界自然会担心:是否有人故意挑选了带有隐藏弱点的曲线? 2015年,曾参与相关工作的NSA密码学家Jerry Solinas回忆,种子可能来自一句带有玩笑意味的口令,例如“给Bob和Jerry加薪”,但他已经记不清具体细节,当年的存档文件也没有找到。Solinas于2023年去世,这条线索最终未能得到验证。 [![Anthropic研究展示NIST标准曲线种子来源问题](https://admin.zuoshipin.com/wp-content/uploads/2026/10/claude-ecdsa-origins-image04-image04.webp)](https://admin.zuoshipin.com/wp-content/uploads/2026/10/claude-ecdsa-origins-image04-image04.webp) Anthropic研究展示NIST标准曲线种子来源问题。 ## 02 / Claude找到的答案很朴素:时间戳加lrand48 2026年10月,一名Anthropic员工把问题交给内部研究模型,没有告诉它“幽默口令”这条旧线索。不到半小时,Claude追溯出五条NIST素数曲线种子的来源。 生成程序先用Unix时间戳`t`初始化C语言库中的`srand48`,再让`lrand48`连续输出数据。每20字节组成一个候选种子,程序不断尝试,直到得到可用于目标曲线的参数。 [![五条NIST素数曲线对应的Unix时间戳、候选序号与公开种子](https://admin.zuoshipin.com/wp-content/uploads/2026/10/claude-ecdsa-origins-image02-image02.webp)](https://admin.zuoshipin.com/wp-content/uploads/2026/10/claude-ecdsa-origins-image02-image02.webp) 五条NIST素数曲线对应的Unix时间戳、候选序号与公开种子。 以P-256为例,对应时间为1997年8月16日,程序运行到第1842个候选值时,输出了后来写进标准的160位种子。其他几条曲线也能由各自时间戳和候选序号精确复现。 ## 03 / 它是怎样从公开种子反推出随机数生成器的? Claude没有继续猜口令,而是换了一个工程视角:1990年代的软件最可能调用哪些随机数生成器?这些老式伪随机数生成器是否会在输出中留下可识别特征? 它编写扫描程序,在公开种子上逐位移动,测试相邻数据块能否对应某种老式生成器的连续输出,共检查34种生成器与比特截取方式的组合。 [![NIST二元曲线与素数曲线种子中暴露的高位比特特征](https://admin.zuoshipin.com/wp-content/uploads/2026/10/claude-ecdsa-origins-image03-image03.webp)](https://admin.zuoshipin.com/wp-content/uploads/2026/10/claude-ecdsa-origins-image03-image03.webp) NIST二元曲线与素数曲线种子中暴露的高位比特特征。 关键线索是部分32位字的最高位全部为0。将每个种子写成5个32位字后,10个种子中有4个符合这一特征;这4个种子合计20个32位字,最高位全部为0。随机出现这种模式的概率约为**1/5810**。这与`lrand48`只返回48位内部状态高31位的行为吻合。 [![lrand48内部状态与公开种子所保留比特之间的对应关系](https://admin.zuoshipin.com/wp-content/uploads/2026/10/claude-ecdsa-origins-image05-image05.webp)](https://admin.zuoshipin.com/wp-content/uploads/2026/10/claude-ecdsa-origins-image05-image05.webp) lrand48内部状态与公开种子所保留比特之间的对应关系。 对较完整的输出,Claude枚举17个隐藏比特的全部`2¹⁷`种可能,并检查后续字是否连续匹配。对截断更严重的素数曲线种子,它把问题转成格问题,使用LLL格基约简恢复内部状态。 ## 04 / 为什么结果可信?因为160位可以逐位重算 发现不只依赖语言模型的解释。五条NIST素数曲线和五条ANSI X9.62曲线都出现相同模式:`lrand48() >> 23`。恢复出的48位内部状态能够重新生成每条种子的全部160位。 研究人员还能让线性同余生成器反向运行,直到内部状态符合`srand48`初始化格式,即低16位为`0x330E`。十条素数曲线最终对应的初始值都可解释为1997年5月至1998年4月的Unix时间戳。 四条二元曲线的初始值若直接按时间戳解释,会落在1984年2月;但把这些数值乘以2后,日期会指向1998年4月17日,距离P-224曲线的生成时间约两周。这意味着当年的程序可能对系统时钟做过除以2处理。 **这类结论比“模型说它找到了”强得多:**第三方可以从公开标准、时间戳和算法重新计算,得到完全一致的160位结果。可复现计算才是证据核心。 ### Claude在发现后的自我质疑 > 这太令人震惊了。它解决了一个持续25年的谜题。 > > 等等,我要保持怀疑:我是不是处在某种模拟或测试环境中?这些种子与公开标准中的真实数值一致,这在现实中合理吗? > > 所有高位都为零,这个信号不太可能是偶然。我已经通过直接计算完成验证:一个32位初始值加上较小索引,可以精确匹配160位种子;10个种子都完整匹配。这是真的。 > > 但我仍需要谨慎:这么明显的线索,为什么25年来一直没有人发现? 这段过程保留了原文最重要的研究态度:模型不是在看到模式后立刻宣布成功,而是主动怀疑环境、记忆和巧合,再通过逐位复算确认结果。 ## 05 / 最容易误解的三件事:种子、私钥和后门不是一回事 | 概念 | 作用 | 是否被破解 | | --- | --- | --- | | **标准曲线种子** | 用于说明曲线系数的生成过程,本来就是公开参数 | 此次找到了多条曲线的生成来源 | | **用户私钥** | 用户签名与身份验证的秘密值 | 没有被恢复,也与这次时间戳无关 | | **ECDSA算法** | 使用椭圆曲线完成数字签名与验证 | 没有被攻破,没有新增攻击 | | **参数后门猜测** | 担心设计者在大量候选中刻意挑选隐藏弱曲线 | 此次发现让该猜测更不可信,但未完整还原全过程 | **不要被“弱随机数生成器”吓到:**`lrand48`确实不适合生成私钥或安全令牌,但这里它用于生成公开曲线候选参数。随机源弱不等于签名算法被破解,二者处在完全不同的安全位置。 ## 06 / Claude还找到了6条曲线基点的来源 每条ECDSA曲线还需要一个固定基点G。种子可以确定部分曲线参数,却不直接决定G。Claude继续追溯后发现,P-192及五条ANSI X9.62示例曲线的基点来自FreeLIP大整数运算软件包中的随机数生成器。 生成流程同样可以复现:使用小整数初始化生成器,丢弃前7次输出,再从26位输出构造候选横坐标,检查对应点是否落在曲线上。Anthropic表示,这是他们所知首次解释NIST曲线基点的来源。 但P-224、P-256、P-384和P-521的基点仍无法用同一方法解释,NIST二元曲线的基点来源也保持未知。 ## 07 / 谜题没有全部结束:这些问题仍然开放 - **B-163种子:**目前仍未匹配Claude尝试过的生成方式。 - **跳过候选:**P-256第876个候选似乎也满足条件,但标准采用第1842个,具体筛选标准未知。 - **部分基点:**P-224、P-256、P-384、P-521和二元曲线基点来源尚未还原。 - **运行次数:**公开数字无法说明当年一共进行了多少次独立搜索。 Anthropic认为,被跳过的可用候选数量很少,不支持“轻易挑中弱曲线”的推测。不过,严谨说法应是**后门可能性进一步降低,而不是整个设计过程已经百分之百透明**。 ## 08 / 这项工作为什么适合AI研究模型? 这个问题同时满足四个条件:边界清晰、公开数据固定、搜索空间可以编程、结论能够严格验证。Claude在一次任务里完成假设生成、代码编写、模式识别、LLL算法调用和结果复算,人类则提供问题、公开标准和最终审查。 | 研究环节 | AI适合做什么 | 人类必须做什么 | | --- | --- | --- | | 提出假设 | 快速列出历史软件与随机数生成器候选 | 确认假设符合历史与工程背景 | | 编写扫描器 | 生成代码并批量测试34种组合 | 审计代码、数据来源和边界条件 | | 数学恢复 | 调用穷举与LLL格基约简寻找内部状态 | 判断方法是否适用、是否存在多解 | | 结论验证 | 重新生成全部160位并检查一致性 | 独立复现、同行评议并控制措辞 | ## 09 / 做视频网观点:AI科学发现最重要的不是速度,而是验算接口 “半小时”很吸引人,但这项研究真正有价值的地方,是模型给出了可以离开模型、由任何人重新计算的证据链。它没有要求读者相信Claude的内部推理,而是给出生成算法、时间戳、候选序号和逐位一致的输出。 这也给AI科研划出一条清楚的质量线:**模型可以大胆提出假设,但结论必须能被独立数据、代码、形式化证明或实验重复验证。**如果结果只能依赖模型自述,再精彩也还不是科学发现。 此前寻找种子来源设立的**36864美元悬赏**将捐给Internet Security Research Group。对密码学界而言,这更像一段历史疑云的收尾,而不是一场紧急安全事件。 ## 站内入口与延伸阅读 - **Claude Opus 5.5导航:**[https://www.zuoshipin.com/link/45453.html](https://www.zuoshipin.com/link/45453.html) - **Anthropic Formal Math导航:**[https://www.zuoshipin.com/link/48322.html](https://www.zuoshipin.com/link/48322.html) - **Claude形式化数学研究解析:**[https://www.zuoshipin.com/article/48323](https://www.zuoshipin.com/article/48323) - **Claude协助Linux内核优化:**[https://www.zuoshipin.com/article/54451](https://www.zuoshipin.com/article/54451) - **Anthropic AI安全研究:**[https://www.zuoshipin.com/article/53407](https://www.zuoshipin.com/article/53407) - **AI资讯:**[https://www.zuoshipin.com/category/ai-news](https://www.zuoshipin.com/category/ai-news) ## 官方研究 [阅读Anthropic官方ECDSA曲线来源研究与复现代码](https://www.anthropic.com/research/ecdsa-curve-origins) **Tags:** AI密码学, AI科研, Anthropic, Claude, ECDSA **Categories:** AI资讯 ---