Claude 揭示 ECDSA 曲线来源
真正值得关注的不是这条新闻本身,而是它可能把「融资」的竞争焦点推向资本定价和赛道集中度变化。
原文链接:https://www.anthropic.com/research/ecdsa-curve-origins
它列出了一组大小和安全级别不同的标准椭圆曲线。对于在质域和二进制域上的曲线,规格公布了一个“种子”参数,其散列值用于定义曲线系数b。
这些种子的来源是一个长期存在的问题,因为国家安全局没有给出任何解释或理由。
例如,NIST P-256曲线种子没有从哪里得到信息。
阿尔弗雷德·梅内泽斯写了一篇关于这一争议的出色摘要,题为“一个谜语中环绕的里德尔”,其中讨论了有关种子价值的历史和关切。
这个谜团导致了对种子起源的业余调查,以及给任何能找到种子的人的赏金.
.
Claude发现了NIST P-192,P-224,P-256,P-384和P-521种子的起源.
这些都不是任何散列算法的结果,而是C库的随机数生成器的输出结果,该结果带有Unix时间戳 !
) , 用于一些迭代(n ) 。
每个迭代将绘制20字节作为候选的种子。
因此,前20个字节是候选1,后20个字节是候选2,等等。例如,P-256需要1842个迭代来输出标准化种子,这只返回48位状态中前31位的位数。当您知道查找时,这个模式就通过眼睛可见了。
为了恢复状态,克劳德取了第一个词,尝试了17个隐藏位的所有217个值,并检查了接下来的4个词。这对所有正在讨论的4个种子都有效。基数还原算法。
Claude不知道种子可能显示的状态是哪一点,所以它把解答器跑遍了每个窗口。
5个NIST原生曲线种子加上5个ANSI X9.62标准种子都具有相同的模式:lrand48() Q 23。
每个恢复的48位状态会重新产生其种子的全部160位,这不会偶然发生.
.
,低16位等于0x330E.
该形态的内部PRNG状态会每65,536个步骤出现一次,所以达到一个并不是自己的证据.
, Arjen Lenstra 的长整数算术包。
Victor Shoup 的 NTL 库的早期版本运出相同的代码。从 26 位输出中生成候选 x 坐标, 减少 mod p。
重复步骤 3 , 直至 x 在曲线上 。
”和“国家安全局的Yo La Tengo bogeymen”幽默。