- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Wt(32bit)由当前的输入消息块mj(512bit)导出。W0,W1,…,W15这前16个值直接取输入消息块的16个相应的字,剩下的值W16,W17,…,W79取法如下图6-9所示。SHA-1将输入消息块的16个字扩展成80个字以供压缩函数使用,使得寻找具有相同压缩值的不同的消息块极为困难。 设mj=M0‖M1‖…‖M15,其中每一个消息子块Mi都是长度为32bit的字。用以下方法将消息块从16个32bit的字变成80个32bit的字。 图6.9 SHA分组处理所需的80个字的产生过程 6.3.3 MD5与SHA-1的比较 MD5与SHA-1两种算法,都是以 MD4 为基础设计的,算法结构类似。两个算法描述起来都较为简单,实现起来也较为简单,均不需要较大的程序和代换表。 两种算法不同点在于: (1) 抗攻击的强度 用穷举式搜索攻击两种算法,SHA-1抗击穷举式搜索攻击的强度高于MD5抗击穷举式搜索攻击的强度。 (2) 速度和效率 在相同硬件上实现时,SHA-1的速度要比MD5的速度慢,MD5的执行效率比SHA高。 (3) 数据的存储方式 MD5使用Little-endian方式,SHA-1使用Big-endian方式。 6.4 Hash函数的攻击 假设攻击者知道Hash算法,攻击者的主要目标是寻找具有给定消息摘要的一对或更多对碰撞消息,或者寻找具有相同消息摘要的一对或更多对碰撞消息。评价Hash函数的好坏最简单的方法是看攻击者找到一对碰撞消息所花的代价有多大。 6.4.1 生日攻击 1. 生日问题 生日攻击来自于概率论中的生日问题:在一个教室中至少要有k个学生才能够使得有两个学生生日相同的概率大于1/2,求k值至少多大? 2.寻找具有相同输出摘要的碰撞消息 将生日问题推广,得到一种生日攻击方法:寻找Hash函数具有相同输出摘要的两个任意输入消息。已知Hash函数有n个可能的输出摘要,特别地,如果输出摘要为m比特长,即可能的输出摘要个数n=2m ,若Hash函数k个随机输入消息中至少有两个产生相同输出的概率大于1/2,求k值至少多大? 3. 已知特定的输出摘要寻找碰撞消息 已知Hash函数有n个可能的输出摘要,H(x)是一个特定的输出摘要,如果对Hash函数随机取k个输入消息,则至少有一个输入消息x′使得H(x′)=H(x)的概率为0.5时,求k值至少多大? 6.4.2 中间相遇攻击 中间相遇攻击是针对分组链接结构的Hash进行的。攻击者随意选出若干消息分组,将它们分为两部分,一部分以初值IV开始迭代到中间某一步为止,得到Y1个输出;第二部分以摘要值h(x)出发,用逆函数反向迭代到中间某一步为止,得到Y2个输出;然后比较这两部分输出,若能找到一对输出相等,则可得到一对“碰撞消息”。 6.4.3 MD5和SHA-1的破解 2004年8月,在美国召开的国际密码大会(Crypto’2004)上,我国密码学者王小云教授等人在她们所做的Hash函数研究报告中指出,她们已成功破译了MD4、MD5、HAVAL-128、RIPEMD-128等Hash算法。在MD5被王小云为代表的中国专家攻破之后,世界密码学界仍然认为SHA-1是安全的。而仅仅在一周之后,王小云就宣布了攻破SHA-1的消息。 在2004年密码会议之前,对Hash函数的所有攻击都只是找到了仅有一次迭代的碰撞;在2004年密码会议上,王小云提出了MD5两次迭代的碰撞,A.Joux也提出了一种有4次迭代的碰撞。后来,国际密码学家Lenstra利用王小云等提供的MD5碰撞,伪造了符合X.509标准的数字证书。这就说明了MD5的破译已经不仅仅是理论破译结果,而是可以导致实际的攻击。 6.5 数字签名 1976年,Diffie和Hellman首次提出数字签名的概念,当时在学术界和计算机网络界受到了广泛重视。1985年ElGamal设计了一种既可用于加密又可以用于签名的公钥密码体制。1991年,美国国家标准和技术研究所(NIST)在ElGamal数字签名方案的基础上提出了数字签名标准DSS。与此同时,许多签名方案被提出,得到广泛应用的数字签名方案有RSA、ElGamal、Schnorr和DSS等。 6.5.1 数字签名的基本概念 数字签名体制也叫数字签名方案,一个数字签名体制是一个满足以下条件的五元组(M, A, K, S, V): (1) M 是所有可能的消息组成的一个有限集,称为消息空间; (2) A是所有可能的签名组成的一个有限集,称为签名空间; (3) K是所有可能的密钥组成的一个有限集,称为密钥
原创力文档


文档评论(0)