Chapter 12 Hash函数.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Chapter 12 Hash函数.ppt

西安电子科技大学计算机学院 Chapter 12 Hash函数 Hash算法 Hash函数和分组密码的发展变化具有相似性 穷举攻击能力的增强 算法的不断改进 分组密码:从DES 到 AES Hash算法: 从MD4 、MD5 到 SHA-1、RIPEMD-160、SHA-512、Whirlpool 似乎都遵循着已被证明的结构 用途一:公平提交方案 Alice猜测了一个号码x1,但不知道中奖号码x2; Bob设置了中奖号码x2,但不知道Alice猜测的号码x1。 Alice希望首先获得x2,然后重新确定x1使得x1=x2。 Bob希望首先获得x1,然后重新确定x2使得x2≠x1。 防止两人作弊的方案称为“公平提交方案”。 两人使用一个公开的杂凑函数y=H(x)。方案如下: (1)Alice计算y1=H(x1),并将y1发送给Bob。 (2)Bob计算y2=H(x2),并将y2发送给Alice 。 (3)Alice收到y2后,将x1发送给Bob。 (4)Bob收到y1后,将x2发送给Alice 。 (5)Alice收到x2后,检验是否y2=H(x2),若是则x2是真实的中奖号码。 (6)Bob收到x1后,检验是否y1=H(x1),若是则x1是Alice的真实的猜测号码。 方案分析 Alice发送y1给Bob,Bob发送y2给Alice ,这叫做承诺。 Alice发送x1给Bob,Bob发送x2给Alice ,这叫做践诺。 当承诺值确定以后,无法改变践诺值。 当对方发送来了承诺值以后,己方无法计算出对方的践诺值,因而无法“随机应变地”确定自己的践诺值,以重合或避开对方的践诺值。 综上所述,杂凑函数阻止了双方作弊。 Hash算法结构 哈希函数的应用 三个重要的hash函数 MD5 SHA-1 RIPEMD-160 HMAC CMAC 由Ronald Rivest设计 MD2(1989), MD4(1990), MD5(1991) 产生128-bit的hash值 直到现在仍是被广泛使用的hash算法 最近已受到穷举攻击和密码分析攻击 作为互联网的RFC1321标准 MD5 概览 增加填充位。使得填充后的消息长度比512的某整数倍少64位(即长度= 448 mod 512,64位用于存放消息的长度mod 264的结果) 填充长度(填充前消息的长度为K位,将mod264 的结果填充到第一步的最后,最低有效位在前。) 初始化MD缓冲区(A, B, C, D) : 4个字共128-bit,每字32bit. A = B = EFCDAB89 C = 98BADCFE D =以16个字(512bits)为分组处理消息 用4轮(64次迭代)以16位操作对消息分组和缓冲区进行处理 把输出与缓冲输入相加作为新的缓冲值 把最后的缓冲值作为hash输出值(128比特) MD5 处理过程 MD5 Overview MD5 压缩函数 每一轮都由16步迭代构成: a = b + ( ( a + g( b, c, d ) + X[ k ] + T[ i ] ) s ) a, b, c, d 表示缓冲区的4个32位字,按照一定次序随迭代步骤而变化 每次迭代只更新缓冲区中的一个字a 16次迭代后,每个字被更新4次 其中g ( b, c, d )表示每一轮的非线性函数,四轮依次为( F, G, H, I ) s:32位的变量循环左移s位 X[k] = M[q x 16 + k] = 消息第q个512位分组的第k个32位字 T[ i ]是由 sin 导出的 32 bit 的常量 + :模232加法 MD5 压缩函数 MD 4 在MD5之前提出 输出128-bit hash值 16次迭代进行3轮,而MD5是4轮。 MD5中使用了4个基本逻辑函数,每轮用一个,而MD4中仅有3个。 其它细节上的差别 MD5的强度 MD5的hash值依赖于消息的所有比特位 Rivest声称它对于已知攻击安全性足够好: Berson 92 采用差分的方法对单轮的攻击 Boer Bosselaers 93 说明了如何找到碰撞 Dobbertin 96 提出的攻击对MD5最具威胁,可使MD5压缩函数产生碰撞。 结论是MD5似乎不久就会有风险 §12.2 安全Hash算法(SHA-1) SHA 由NIST 和NSA在1993年提出, 修订版于 1995年发布,称作SHA-1 作为美国DSA数字签名方案的标准 FIPS 180-1 1995, Internet RFC3174 注意:算法是SHA, 标准称为SHS 产生160-bit hash值 现在作为建议的

文档评论(0)

cnsg + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档