主页 > imtoken钱包收款地址 > 进一步探索比特币签名中的随机风险

进一步探索比特币签名中的随机风险

imtoken钱包收款地址 2023-02-09 07:27:45

进一步探讨比特币签名中的随机风险

众所周知,在签署比特币交易时,每个人都应该知道随机k值的重要性,甚至可以说k值的随机性与私钥的随机性一样重要。现在让我们深入探讨这个主题。

不安全的随机数生成器可能会导致k值重复(对应的r值当然是重复的),导致私钥暴露,所以保证k值不重复应该没问题。 ?

Filippo 甚至提到 bitcoin-core/qt 不够安全(从 2013 年开始的 Pull-Request 改进还没有合并到主线中),当然还有 blockchain.info(由于浏览器依赖)随机数解决方案) 他关于 k 值的观点是“k 必须是秘密的和唯一的。不一定是随机的。” (k值必须是秘密且唯一的,不一定是随机的)。

这句话其实不是很严格,因为“secret and unique”其实就是尽可能“真实”随机的意思,至少在密码学上是安全和随机的,否则什么是“Confidential and unique”,甚至RFC6979规范可以看作是一种专门设计的、密码学安全的随机数生成方法。对于比特币安全来说,最重要的还是随机性,因为我们不仅面临着“在不同的交易中使用重复的k值签名”的风险用同一个私钥出”,还有其他潜在的暴力。泄露私钥的可能性,安全工程师和比特币开发者需要了解这些可能性,而黑客很可能正忙于学习和分析历史区块链数据以寻找窃取硬币的机会.

可能性一:

用户A和用户B使用同一个钱包方案,因为钱包所依赖的随机数生成器不够安全,所以A和B使用相同的k值对交易进行签名,见上图区块链数据是两个不同比特币地址签出的交易中 r 的值相同。在这种情况下,作为第三方观察者的黑客可能无法使用这两个地址,但理论上,如果 A 记录了自己的 k 值,就可以计算出 B 的私钥,反之亦然。当然,因为没有人或任何钱包软件会记录过去签名使用的k值(如果记录了,那就更成问题了,因为如果有人获取了你之前使用的k值,就可以从你那里推导出来私钥来窃取你的比特币),所以一般来说,这种重复 r 值的风险远低于相同地址签出的交易出现重复 r 值的情况。但不排除黑客分析了钱包中的随机数漏洞,并试图通过降低概率空间的方式暴力破解k值,从而盗取钱包用户的比特币资产。

可能性2:

用户A和用户B使用同一个钱包方案,因为钱包所依赖的随机数生成器不够安全,导致出现A和B两种情况。重复k次的值(不是和自己,而是与对方),即A使用k1和k2,B也使用k1和k2。在这种情况下,任何第三方黑客都可以逆向推导出A的私钥和B的私钥,双方的比特币资产都将被盗取。

可能性3:

由于一个钱包解决方案所依赖的随机数生成器不够安全,用于签署交易的k值与私钥相同(钱包软件一般使用相同的随机数算法生成私钥并计算k值),不用担心,交易一经广播,币将立即丢失。如果黑客运气好,程序运行得更快,甚至可能将刚刚广播的交易发送到 Double 花。

看到上面的可能性,你应该明白了,除了私钥的安全性,k值的随机性对比特币的安全性有多重要?我们都知道,比特币私钥可以看作是宇宙中的 2^256 个抽屉(其实私钥的范围比这个数字还小)。生成私钥相当于拿出一个抽屉,往里面放钱。这样,我们也可以将 k 值视为宇宙中有 2^256 个键。每次花钱,都得拿钥匙,用完就扔掉。这两个过程必须保证是随机的,以免被别人复制。反复重复可能会导致财产损失。这就是肖夫人说“随机性是比特币的命脉”的根本原因。

这些有问题的r值在历史上都出现过,单个地址的r值重复多次直接导致丢币(这种情况最容易被黑客判断),而所有这些这篇文章中的可能性也出现过,但不知道是否真的导致用户丢币,因为即使丢了,用户也可能不知道为什么,是谁偷的,怎么偷的?被偷了,没人知道。如前所述,k值的概率空间为2^256,即使地球上每个人每天从早到晚都在与比特币交易,也不应该有重复。目前仅仅几百万的钱包,几千万的交易,就造成了这么多的r值问题,这足以说明目前很多钱包的解决方案也“太随意”了。历史上的一个区块中(322925),很多地址的很多交易的r值都重复了(兄弟,你签比特币交易的时候用了同一个k值,写个循环干掉吧)对吗?)。

这里还要补充一点,如果每个人都使用尽可能“真实”的密码安全随机数生成器来生成k值,那么从逻辑上讲,整个区块链上的r值也应该是随机分布的随着区块链上交易数量的增加,r 值的分布在统计上应该越来越均匀。但实际情况是,整个区块链 r 值的分布非常集中(可能是由于部分钱包采用了不安全的随机数方案),并且随着交易数量的增加比特币有可能被破解吗,与问题地址发生冲突的概率越来越高,这也有点加密货币未来发展的巨大隐患比特币有可能被破解吗,应该引起钱包解决方案提供商和比特币公司的足够重视。也许黑客比你更关注!

最后,我想问你一个问题,你的随机数安全吗? ?