Claude半小时解开密码学悬案,学界集体走偏20年
鹭羽 发自 凹非寺 量子位 | 公众号QbitAI
刚刚,据Anthropic披露,Claude用 不到半小时 ,查明了五条NIST标准椭圆曲线的种子生成方式。
这串业界用了二十多年的数字,一度被写进密码学标准,但最初是怎么选出来的,一直没人能说清。
人们甚至找到了当事人,线索指向一句 “给Bob和Jerry加薪” 的口令哈希运算。
它能让接收方检查,一份数据是否由声称的签署者签发,以及签署后有没有被修改。2000年,它被美国国家标准与技术研究院NIST纳入FIPS 186-2数字签名标准。
使用这套算法之前,还得先选定一些公共数学参数,包括曲线P-192、P-224、P-256、P-384和P-521。
可以把种子理解为生成曲线参数的起始材料:拿到种子,按照标准规定的步骤运算,就能检查后面的参数是否对得上。
就连当年提供种子的Jerry Solinas也已经记忆模糊,只大致记得,他们曾把一句可能是加薪的玩笑口令转换成数字,再加了计数器。
于是这二十多年来,大家都在往这个方向猜,密码学工程师Filippo Valsorda还发布了 悬赏令 ,高调邀请大家寻找这五组种子的前身。
按照Anthropic的描述,员工在把问题交给内部研究模型时,并没有告知这条加薪口令的线索。
Claude于是自行猜测,这些数字也许来自 90年代C语言库 里的伪随机数生成器。
因为这类程序生成的数字看似杂乱,背后却遵循固定规律。只要认出规律,就有机会倒推出生成过程。
随后Claude写了一个 扫描程序 ,把公开种子里的二进制数字一位位挪着检查,测试了34种生成器与输出截取方式的组合。
结果发现,四组种子分别拆成五个32位整数后,这20个整数的最高位, 居然全是0 。
lrand48内部保存着一个48位整数,每调用一次,它就把这个整数乘上固定常数,再加上另一个常数,最后只保留结果的低48位,作为下一轮状态。
负责初始化的函数叫srand48,它会把输入值放进48位状态的高32位,再把低16位固定设为0x330E,再沿着递推关系往回算,目标指向 Unix时间戳 。
也就是说, 把某一刻的时间变成整数 ,交给生成器,再按固定方式取出数字,就能重新得到标准里的种子。
以P-256为例,对应的初始化时刻是:1997年8月16日,UTC时间01:52:34。
从这个时间出发运行生成器,取第1842组候选,得到的正是那串以C49D开头的种子。另外四组也能一一对应上。
研究者发现,当年的程序跳过了一些看起来也符合条件的候选曲线,原因仍不明确;B-163的种子,以及部分曲线基点的生成方式,也尚未得到解释。
参考链接: [1] https://www.anthropic.com/research/ecdsa-curve-origins [2] https://x.com/sweis/status/2111165738836717980 [3] https://words.filippo.io/seeds-bounty/
突发!DeepSeek新模型发布,超级性价比斩杀一切 2026-10-17
何恺明团队新作:看猫片就能学会ARC挑战 2026-10-01
相关阅读
Claude封杀龙虾后推自家Agent服务,又被开源平替了
Claude开始接管物理世界!能用机械臂阻拦5000万美元打款了
arXiv创始人亲测:水论文这一块,Grok最强,Claude最不配合
Claude加速上新:基础版数学编程双提升,「幻觉」也更少,CEO:两三年内AI将成高知人类
Anthropic模型,也失控了。。。
20年未解的MIT加密难题,被自学成才的程序员破解,比预计早15年
热门文章
智谱新模型,490 tokens/s!
DeepSeek服务器全球宕机!神秘Harness账号同时现身
DeepSeek Bot来了!民间版,DSH装个插件就能用
iPhone断网跑35B多模态!国产开源新模型,只占3G内存
何恺明团队发布多模态Harness框架
量子位 QbitAI 版权所有©北京极客伙伴科技有限公司 京ICP备17005886号-1