吵了 25 年的 NIST 椭圆曲线"后门种子",10 月 16 日 Anthropic 给了答案:P-192 到 P-521 这几条曲线的种子,不是谁藏了口令的哈希,是 90 年代 C 库里的 lrand48 随机数生成器吐出来的,初始值就是当时的 Unix 时间戳。P-256 那颗种子,对应 1997 年 8 月 16 日北京时间上午 9:52:34 那一秒启动的生成器,第 1842 个候选。内部 Claude 模型不到半小时找出来,原作者公开的脚本能逐字复现。悬赏 36,864 美元,团队捐给了 Let's Encrypt 背后的非营利组织。
阴谋论最后的答案是有人看了一眼表,这很符合我对工程师的认知。
几点工程上的看法:
1. 比特币和以太坊用的是 secp256k1,参数就是 a=0、b=7,没有种子这回事,这次跟你的币本来就没关系。P-256 用在 passkey 和手机安全芯片上,用 passkey 签名的智能钱包算是吃了颗定心丸。
2. 没讲完的部分也要说:还有一颗种子和四条曲线的基点来源没解释,当年流程还跳过了一些看起来合格的候选。目前没有证据说是故意削弱。
3. 真正值得散户记住的是反过来那件事。公开参数用时间戳当随机源没问题,反正它本来就公开,只要求事后说得清。私钥用时间戳当随机源就是灾难。2023 年的 Milk Sad 事件,就是某个开源命令行钱包工具拿系统时间去喂随机数生成助记词,攻击者把那几年的时间挨个试一遍,据披露被盗约 90 万美元。
我自己的做法:助记词只让硬件钱包或成熟钱包在本机生成,不用网页上的"助记词生成器",不自己编"有意义"的词组。几年前用小众工具或老版本生成的钱包,去查一下那个版本有没有随机数漏洞公告,有的话新建钱包把资产迁走。
阴谋论最后的答案是有人看了一眼表,这很符合我对工程师的认知。
几点工程上的看法:
1. 比特币和以太坊用的是 secp256k1,参数就是 a=0、b=7,没有种子这回事,这次跟你的币本来就没关系。P-256 用在 passkey 和手机安全芯片上,用 passkey 签名的智能钱包算是吃了颗定心丸。
2. 没讲完的部分也要说:还有一颗种子和四条曲线的基点来源没解释,当年流程还跳过了一些看起来合格的候选。目前没有证据说是故意削弱。
3. 真正值得散户记住的是反过来那件事。公开参数用时间戳当随机源没问题,反正它本来就公开,只要求事后说得清。私钥用时间戳当随机源就是灾难。2023 年的 Milk Sad 事件,就是某个开源命令行钱包工具拿系统时间去喂随机数生成助记词,攻击者把那几年的时间挨个试一遍,据披露被盗约 90 万美元。
我自己的做法:助记词只让硬件钱包或成熟钱包在本机生成,不用网页上的"助记词生成器",不自己编"有意义"的词组。几年前用小众工具或老版本生成的钱包,去查一下那个版本有没有随机数漏洞公告,有的话新建钱包把资产迁走。