织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 比特币 > 比特币资讯

他山之石丨价值百万美元的比特币密钥追回记 (3)

时间:2021-01-07 12:50来源:未知 作者:admin 点击:
我注意到由于两次使用密码都是一样的,所以每次密码的第一个流字节都是一样的。就像电灯开关两次操作会让它停留在开始的地方一样,用相同的数据流

我注意到由于两次使用密码都是一样的,所以每次密码的第一个流字节都是一样的。就像电灯开关两次操作会让它停留在开始的地方一样,用相同的数据流字节 xor 一个字节两次会让它回到初始状态。这让我可以发动一个非常强大且只针对密码文本的攻击:给定一个档案中的五个加密文件,我可以推导出 C 的 rand 函数中的内部状态,而无需查看时间戳或知道进程 ID 。这就得以让我可以生成原始、未加密的头文件。而因为密码的每一部分只有几位影响下一部分,所以我也只能猜测状态的几位,并检查两次解密一个字节是否给了我预期的答案。随着我的继续,我需要猜测的内容越来越少,每一个额外的档案也让我排除了更多潜在的可能。当时这个过程在一台台式机上花了几个小时。我之后发表了一篇关于这个攻击的论文,并在 2001 年日本的快速软件加密会议(Fast Software Encryption)上公开发表。

2002 年我离开了 AccessData,接着在一家神经网络初创公司工作了一年,在奥克兰大学和 Cris Calude 一起读了三年计算机科学硕士,在加州大学河滨分校和数学物理学家 John Baez 一起读博士,在 Google 的应用安全团队工作了六年并完成了博士学业,又过了几年,最后成为一家初创公司的 CTO。

比特币来敲门

大约半年前,我在 LinkedIn 上突然收到了一个俄罗斯人的消息。他看了我 19 年前写的那篇论文,想知道攻击是否能在只有两个档案的场景上发挥作用。我分析了一下后表示,没有巨大的计算能力和大量的金钱是行不通的。因为我只有两个档案可以使用,所以每个阶段都会有更多的假设需要去计算验证。最后会有 2^73 个可能的密钥需要测试,将近 10^22 这么大。我估计需要一个大型的 GPU 农场一年才能攻破,成本在 10 万美金左右。可是他让我大吃一惊,因为他表示愿意花这么多钱来找回密钥。

早在 2016 年 1 月,他就花了 1 万或 1.5 万美元买了左右的比特币,并把密钥放在一个加密的压缩文件中。现在它们的价值高达 30 多万美元,而他却不记得密码了。幸运的是,他还保留着原来的笔记本电脑,并且知道加密发生的确切时间。因为 InfoZip 使用了时间戳作为熵的种子,这就大大地减少了工作量,只需要 10^19 次测试,并使它变得相当可行,在一个中等的 GPU 农场上只需要几个月的时间。我们签订了合同,我就开始工作了。

我花了一会儿时间根据当初论文中的概述重建了这次的破解。令我懊恼的是,有一些棘手的细节在我撰写论文时忽略了,不过我又顺利把它们解决了。然而我发现我在估算工作时犯了一个可怕的错误!

在我最初的攻击中,我会去猜测 key1*c、key1*c^2、key1*c^3 和 key1*c^4 的高字节。当我猜到第四个字节的时候,我已经知道了密码其余部分的完整状态,我只需要把这四个字节转换成原始的 key1 就可以了。我会尝试在 key1 的 32 位空间中找出所有可能,并检查每一个状态是否给出了正确的高字节。不过在这里,我有 10^19 个密钥要检查,如果我必须对每个密钥进行 2^32 次测试,那就需要花上几十万年的时间。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容