内容提要
Anthropic披露,Claude在不到半小时内查明了NIST五条标准椭圆曲线的种子生成方式。此前有猜测认为种子源于“加薪”口令,但Claude推断种子来自90年代的lrand48伪随机数生成器,并用LLL算法恢复其状态,锁定了Unix时间戳初始化时刻,例如P-256对应1997年8月16日。结果经悬赏发起人复核,表明这些曲线不存在潜在安全漏洞,但部分历史细节仍未得到解释。
延伸解读
从“加薪口令”到时间戳:线索如何被推翻
文章指出,此前关于NIST椭圆曲线种子的主流猜测是源于一句“给Bob和Jerry加薪”的口令哈希,连当事人Jerry Solinas也记忆模糊。但Claude在未获知该线索的情况下,自行推断种子来自90年代C语言库的伪随机数生成器,并通过扫描程序发现种子整数的最高位全为0,从而锁定lrand48。这一转折说明,历史记忆并不可靠,而技术痕迹(如输出位模式)可能比口述线索更接近真相。
lrand48与LLL算法:技术破案的关键两步
Claude先识别出lrand48生成器的输出特征——只保留高31位、剩余位补0,再借助LLL格基约简算法恢复被截取的状态。随后,它推断初始化函数srand48的输入来自Unix时间戳,并将时间范围缩小到1997年5月至1998年4月。以P-256为例,对应时刻为1997年8月16日UTC 01:52:34。这两步结合了模式识别与数学工具,展示了AI在密码学历史溯源中的实际能力。
安全结论与未解之谜:哪些可以放心,哪些仍需追问
文章明确,新结果经悬赏发起人独立复核,表明这些曲线不存在潜在安全漏洞,可以放心使用。但同时也指出,部分历史细节仍未得到解释:当年的程序跳过了一些符合条件的候选曲线,原因不明;B-163的种子以及部分曲线基点的生成方式也尚未被解释。因此,读者应区分“种子来源已查明”与“所有生成细节已完全还原”,后者仍有空白。
Q&A
Claude是如何破解NIST椭圆曲线种子生成方式的?
Claude猜测种子来自90年代C语言库的伪随机数生成器,通过扫描程序测试34种生成器组合,发现种子整数的最高位全为0,锁定lrand48生成器,再用LLL算法恢复被截取的状态,并推断初始化使用Unix时间戳。
NIST椭圆曲线种子之前被误认为来自什么?
此前猜测种子源于一句“给Bob和Jerry加薪”的玩笑口令的哈希运算,但Claude证明这是错误的。
Claude破解种子来源用了多长时间?
不到半小时。
这些椭圆曲线是否存在安全漏洞?
不存在。Claude的结果表明这些曲线没有潜在安全漏洞,可以放心使用。
P-256曲线的种子对应哪个初始化时间?
1997年8月16日,UTC时间01:52:34。
Claude使用了什么算法来恢复种子状态?
LLL格基约简算法。
还有哪些历史细节未得到解释?
当年程序跳过一些符合条件的候选曲线的原因不明;B-163的种子以及部分曲线基点的生成方式也尚未解释。