-

带你相识区块链与密码学:哈希函数简史

来源: 数字货币 时间:2020-09-16 08:10:34
导读: 本系列为大家呈现区块链与密码学领域相关知识,这里有知识也有故事,从感兴趣到有乐趣,全民课堂等你来学


带你相识WeDPR:微众银行区块链开源隐私庇护中心算法组件

微众银行区块链围绕隐私保护核心业务场景,面向各方合作伙伴,率先开源WeDPR即时可用场景式隐私保护解决方案中的一系列核心算法组件,填补领域中的空白

本教室用通俗易懂的系列内容为人人显现区块链与暗码学范畴相干学问。这里有学问也有故事,从感兴趣到有兴趣,全民教室等你来学。

这个系列中的课程内容首先从比特币动手举行入门引见,再延长至区块链的相干手艺道理与生长趋势,然后深入浅出地顺次引见在区块链中运用的各种暗码学手艺。迎接人人定阅本民众号,延续举行进修。

【本教室内容悉数选编自PlatON首席暗码学家、武汉大学国度网络平安学院传授、博士生导师何德彪传授的《区块链与暗码学》讲课课本、课本及互联网,版权归属其原作者一切,若有侵权请马上与我们联络,我们将及时处理。】

5.1

哈希函数的定义与性子

图学院第五单位开课啦!这单位我们将进修哈希函数及其在区块链中的运用。

哈希函数的定义

哈希函数(Hash Function)是一个公然函数,用于将恣意长的音讯M映照为较短的、牢固长度的一个值H(M),又称为散列函数、杂凑函数。我们称函数值H(M)为哈希值、杂凑值、杂凑码、或音讯择要。

哈希函数功用示意图

杂凑值是音讯中一切比特的函数,因而供应了一种毛病检测才能,即转变音讯中任何一个比特或几个比特都会使杂凑值发作转变。

哈希函数的性子

哈希函数具有以下性子:

H能够作用于一个恣意长度的数据块(实际上是否是恣意,比方SHA-1请求不凌驾264)。

H发生一个牢固长度的输出(比方SHA-1的输出是160比特,SHA-256的输出是256比特)。

对恣意给定的x,H(x)盘算相对轻易,无论是软件照样硬件完成。

单向性(抗原像)(One-Way):关于恣意给定的音讯,盘算其哈希值轻易。然则,关于给定的哈希值h,要找到M使得H(M)=h在盘算上是不可行的。

个中前3条是有用性请求,后3条是平安性请求。

单向性:即给定音讯能够发生一个哈希值,而给定哈希值不可能发生对应的音讯;不然, 设传送数据C=,K是密钥。进击者能够截获C,求出哈希函数的逆,从而得出H-1(C),然后从M和M‖K即可得出K。

弱抗碰撞性:是保证一个给定的音讯的哈希值不能找到与之雷同的别的的音讯,即防备捏造。不然,进击者能够截获报文M及其哈希函数值H(M),并找出另一报文M’使得H(M’)=H(M)。如许进击者可用M’去假装M,而收方不能发明。

强抗碰撞性:是对已知的生日进击要领的防御才能,强抗碰撞天然包括弱抗碰撞。

暗码学上平安的杂凑函数H应具有以下性子:

关于恣意的音讯x,盘算H(x)是轻易的

H是单向的

H是强抗碰撞的

5.2

哈希函数的生长

1978年,Merkle和Damagad设想MD迭代构造。

1993年,来学嘉和Messay革新增强MD构造。

在90年代初MIT Laboratory for Computer Science和RSA数据平安公司的Rivest设想了散列算法MD族,MD代表音讯择要。

MD族中的MD2、MD4和MD5都发生一个128位的信息择要。

哈希函数构造示意图

MD2(1989年)、MD4(1990年)、MD5(1991年):由美国暗码学家罗纳德·李维斯特(Ronald Linn Rivest)设想,经MD2、MD3和MD4生长而来,输出的是128位牢固长度的字符串。

RIPEMD-128/160/320:国际有名暗码学Hans Dobbertin在1996年攻破了MD4算法的同时,也对MD5的平安性发生了质疑,从而促使他设想了一个类MD5的RIPEMD-160。在构造上,RIPEMD-160能够视为两个并行的类MD5算法,这使得RIPEMD-160的平安性大大提高。

值得注意的是,MD4、 MD5已经在2004年8月Crypto2004 上,被我国暗码学者王小云等破译,即在有用的时间内找到了它们的大批碰撞。

SHA系列算法是美国国度规范与手艺研讨院(National Institute of Standards and Technology,NIST)依据Rivest设想的MD4和MD5开发的算法. 美国国度平安局(National Security Agency,NSA)宣告SHA作为美国政府规范。

SHA-0-SHA-0正式地称作SHA,这个版本在刊行后不久被指出存在缺点.

SHA-1-SHA-1是NIST于1994年宣告的,它与MD4和MD5算法异常类似,被认为是MD4和MD5的后继者.

SHA-2-SHA-2实际上分为SHA-224、SHA-256、SHA-384和SHA-512算法。

SHA系列哈希函数相干参数比较

2017年2月23日谷歌宣告,谷歌研讨人员和阿姆斯特丹CWI研讨所协作宣告了一项新的研讨,详细描述了胜利的SHA1碰撞进击。

NESSIE工程引荐运用的哈希算法有SHA-256/384/512和Whirlpool (Vincent Rijmen和Paulo S. L. M. Barreto在2000年设想,当选国际规范ISO/IEC 10118-3)。(NESSIE是欧洲一项为期三年的暗码规范设计, 详见:

http://www.nessieproject.com/)

日本暗码研讨与评价委员会引荐运用的算法有RIPEMD-160、SHA-256/384/512。

另外,NIST于2008年启动新的哈希规范的征集运动。

除迭代构造之外的构造

适用于任何平台的紧缩函数

2008年10月提交文档,收到64个算法,公然56个,51个进入第一轮评价。2009年10月,第二轮评价入手下手,盈余14个算法。第三轮盈余五个算法,2012年10月2日, Keccak被选为SHA-3。

哈希函数碰撞进击复杂度示意图

图学院第五单位的第一课本日就完毕啦!这一单位我们将深入探讨哈希函数。敬请期待啦~