OKCoin

比特币密码学基础未被撼动,SHA-2加密仍很安全

长铗 发布在 比特币 0 11600

2013年9月10日,美国约翰霍普金斯大学知名密码专家Matthew Green收到一份来自NSA的信件,要求他删除掉关于和NSA加密算法破解有关的博客内容。由于比特币的POW机制所采用SHA-2家族中的SHA-256算法就是NSA所开发,一时间关于比特币安全性的讨论喧嚣尘上。

不了解情况的小伙伴们可以参考比特币安全基础毁灭? SHA-2惊现重大安全疑团一文

on-the-nsa

很多人认为NSA在设计SHA-2系列算法的时候会在该算法中留下后门,以便于自己掌控和监视信息。在棱镜事件爆发后,NSA的行径被暴露到阳光之下,人们对NSA的恐惧感达到了前所未有的高度。发生在密码专家Matthew上的事情,更加让观众们猜测重重。由于SHA-2算法在比特币系统中占重要地位,玩比特币的小伙伴们也忍不住开始怀疑了。
那么SHA-2算法家族有没有所谓的后门呢? 若SHA-2 算法系列被破解,会对比特币系统造成什么影响呢?下面,编者来带着小伙伴们一一分析一下。

SHA-2家族 SHA-2 安全散列算法 是HASH算法的一种。SHA-2 算法家族中包括有 SHA-128、SHA-256、SHA-512、SHA-1024等多个算法,比特币系统中采用的就是SHA-256算法。

SHA-2 经常被用于数字签名中,用来保证信息的一致性和完整性。一段数字信息经过SHA-2函数的计算后会变成一段很短的加密信息,若这段初始文字有任何的修改,则SHA-2的计算结果也会不同。举个例子,软件提供商都会给自己的软件附加一个SHA-2系列的数字签名,如果软件有被篡改那么,使用者给软件重新签名后的结果会与提供商的初始签名不符。这样软件提供商就保证了软件的安全性。
下面编者提供一个SHA-256算法签名的演示程序,读者可以输入任何的信息并进行签名,然后对初始信息稍作修改并再次验证一下签名是否一致。

NSA与SHA-2那么NSA和SHA-2系列算法有什么关系呢? 其实,SHA-1(SHA-2的上一个版本)和SHA-2都是由美國國家安全局(NSA)所设计开发的。2012年10月2,美国国家标准技术研究院开发了SHA-3系列。

2005年二月,有团队找到了 SHA-1 系列算法被碰撞的数学模型。那时便引起了人们对SHA-2这个升级版系列算法的怀疑,但直到现在也没有发现SHA-2系列的有效碰撞算法。
破解还是碰撞其实很多新闻记者并不知道SHA-2和散列算法的实际作用。他们想当然的把SHA-2作为一种信息加密的手段,并且认为经过SHA-2加密的信息还可以被解密。其实,懂行的人都知道,SHA-2系列算法作为一种信息摘要算法根本不可能被逆向破解,也就是说,没有人能够把被SHA-2计算后的签名信息还原成未被加密的初始信息。所谓的破解也就无所谈起了。

那什么是碰撞呢?所谓碰撞就是用数学算法构造出与SHA-2函数进行签名结果一致的信息,被构造的信息和初始信息是不可能相同的。构造签名一致信息的方法非常的复杂需要进行大量的计算, 一般人是不可能完成的。MD5和SHA-1都曾经作为数字签名的方法,但是由于找到签名碰撞方法而慢慢被人们所放弃。SHA-2家族的算法直到现在还没有被找到碰撞方法,换句话说SHA-2家族还是安全的。
关于SHA-2家族的后门问题,编者觉得完全是娱乐记者的杜撰。因为,SHA-2家族算法虽然是被NSA所开发,但是整个算法模型是透明公开的。所谓的后门一说只存在于那些未开放源代码的软件当中,比如,你可以说微软的操作系统有后门,因为微软并未开放源码供大家检查。但你决不能说一个完全公开的数学算法存在后门,除非全世界的数学家和密码学专家都被NSA所收买对此密而不宣。

SHA-256和比特币 SHA-256作为SHA-2家族中的一员,在比特币的Proof Of Work系统中起到重要作用。比特币矿工在挖矿时需要计算出新Block的SHA-256值,并保证新数据块的SHA-256数字签名值要比上一个数据块的要小。

一旦SHA-256的快速碰撞算法被找到,就有可能(注意这里是有可能,虽然可能性非常非常低),很快构造出满足要求的数据区块。那么,比特币挖矿将会变得非常容易,整个比特币的系统将会受到重大影响。
相关参考
不是世界末日就算SHA-2家族的碰撞算法被找到,也不是比特币的世界末日。为什么呢?

首先,从数学算法上来看,未必能轻而易举的构造满足条件的数据区块,要知道所谓碰撞算法是想当复杂的,需要大量的计算才能找出满足条件的碰撞。构造碰撞的计算量可能远大于挖矿的计算量。

第二,假如满足条件的数据区块能被轻易构造出来,比特币社区也能完全避免灾难性的后果。所有节点可以进行算力投票,来决定是否升级现有的SHA-2家族算法(比如升级到SHA-3),以前被开发出的旧区块的HASH值,将被升级后的软件所记录下来并不在使用。

其实,中本聪在离开小伙伴们之前已经考虑到了SHA-256的问题。下面的蓝体字就是中本聪在2010年与开发者信件讨论中的内容:

SHA-256 is very strong. It’s not like the incremental step from MD5 to SHA1. It can last several decades unless there’s some massive breakthrough attack.
If SHA-256 became completely broken, I think we could come to some agreement about what the honest block chain was before the trouble started, lock that in and continue from there with a new hash function.

If the hash breakdown came gradually, we could transition to a new hash in an orderly way. The software would be programmed to start using a new hash after a certain block number. Everyone would have to upgrade by that time. The software could save the new hash of all the old blocks to make sure a different block with the same old hash can’t be used.

中本聪认为SHA-256不会出问题,一旦出现问题,大家投票后升级节点算法就可以了。因此,小伙伴们悬着的心可以放下了。

来自:比巴克

版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。

评论:0

您需要登录后才可以回复 登录|注册