当前位置:首页区块链带你了解区块链和密码学:哈希函数的简史

带你了解区块链和密码学:哈希函数的简史

这一系列知识的内容很容易理解。这里有知识和故事,从趣味性到趣味性,国课等着你去学习。

本系列课程内容从比特币的介绍开始,延伸到区块链的相关技术原理和发展趋势,然后简单介绍区块链中应用的各种密码技术。欢迎您订阅官方账号,继续学习。

[本课程内容全部选自武汉大学网络安全研究所教授、博士生导师、平台首席密码学家何德彪教授从区块链与密码学的讲义、教材、互联网中选取。版权归原作者所有。如有侵权行为,请立即与我们联系,我们会及时处理。]

五点一

散列函数的定义与性质

图学院第五单元开学了!在本单元中,我们将学习哈希函数及其在区块链中的应用。

散列函数定义

哈希函数是一个公共函数,用于将任何长消息M映射为一个短的、固定长度的值H(M),也称为哈希函数和哈希函数。我们将函数值H(m)称为哈希值、哈希值、哈希代码或消息摘要。

带你了解区块链和密码学:哈希函数的简史

哈希函数的函数图

哈希值是消息中所有位的函数,因此它提供了错误检测功能,即更改消息中的任何位或几个位都会更改哈希值。

散列函数的性质

哈希函数具有以下属性:

H可以作用于任意长度的数据块(无论它实际上是任意的,例如SHA-1要求不超过264)。

H产生固定长度的输出(例如,SHA-1的输出为160位,SHA-256的输出为256位)。

对于任何给定的x,H(x)计算相对容易,无论是在软件还是硬件中实现。

一种方法:对于任何给定的消息,很容易计算其哈希值。然而,对于给定的散列值H,求m使得H(m)=H在计算上是不可行的。

前三个是实际要求,后三个是安全要求。

单向性:给定的消息可以生成哈希值,但给定的哈希值不能生成相应的消息;否则,设置传输数据C=,K为密钥。攻击者可以截获C,找到hash函数的倒数,然后得到H-1(C),然后从m和m∥k中得到k。

弱防冲突:确保给定消息的哈希值找不到另一个具有相同哈希值的消息,即防止伪造。否则,攻击者可以截获消息M及其散列函数值H(M),并找到另一条消息M’,使得H(M’)=H(M)。这样,攻击者可以使用M’来模拟M,但是接收方找不到它。

强大的抗碰撞能力:它是对已知的生日攻击方法的防御能力。强防撞自然包括弱防撞。

加密安全哈希函数H应具有以下属性:

对于任何消息x,很容易计算H(x)

H是单向的

H具有很强的抗碰撞性

五点二

散列函数的发展

1978年,Merkle和damagad设计了MD迭代结构。

1993年,赖学佳和梅赛伊对MD结构进行了改进和加强。

上世纪90年代初,麻省理工学院计算机科学实验室和RSA数据安全公司Rivest设计了MD哈希算法家族。MD代表消息摘要。

MD家族中的MD2、MD4和MD5都产生128位的信息摘要。

带你了解区块链和密码学:哈希函数的简史1

哈希函数结构图

MD2(1989)、MD4(1990)、MD5(1991):由美国密码学家罗纳德·林恩·里维斯特设计,MD2、MD3、MD4开发,输出128位定长字符串。

Ripemd-128/160/320:Hans dobbertin是国际**的密码学,他在1996年打破了MD4算法,但也对MD5的安全性提出了质疑,这促使他设计了类似Ripemd-160的MD5。在结构上,ripemd-160可以看作两个类似MD5的并行算法,大大提高了ripemd-160的安全性。

值得注意的是,中国密码学家王晓云于2004年8月在crypto2004上对MD4和MD5进行了破译,也就是说,在有效时间内发现了它们之间的大量碰撞。

Sha系列算法是由美国国家标准技术研究所(NIST)在Rivest设计的MD4和MD5的基础上开发的。美国国家安全局(NSA)发布Sha作为美国政府的标准。

Sha-0-Sha-0的正式名称是Sha,这个版本在发布后不久就被确定为弱版本

Sha-1-Sha-1于1994年由NIST发布。它与MD4和MD5算法非常相似,被认为是MD4和MD5的后续算法

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

带你了解区块链和密码学:哈希函数的简史2

Sha系列散列函数的参数比较

2017年2月23日,谷歌宣布谷歌研究人员和阿姆斯特丹CWI研究所联合发布了一项新研究,详细介绍了一次成功的SHA1碰撞攻击。

SHA-256/384/512和惠而浦(Vincent Rijmen和Paulo S.L.M.Barreto于2000年设计并被纳入国际标准ISO/IEC 10118-3)是Nessie项目推荐的哈希算法。(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。

带你了解区块链和密码学:哈希函数的简史3

哈希函数冲突攻击复杂性图

今天是大学第五单元的第一课!在本单元中,我们将深入探讨散列函数。请期待~

温馨提示:

文章标题:带你了解区块链和密码学:哈希函数的简史

文章链接:https://www.btchangqing.cn/103962.html

更新时间:2020年09月15日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

区块链行情

【比特币分析】市场正在建立!

2020-9-15 19:47:02

区块链行情

如何分析eth的长短策略

2020-9-15 19:55:03

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索