密码编码学与网络安全第五版 向金海 08 密码学hash函数 精选文档.ppt

密码编码学与网络安全第五版 向金海 08 密码学hash函数 精选文档.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chapter 11 密码学 Hash 函数 《信息保障与安全》 哈希函数(杂凑函数) ( 1 ) Hash 编码; ( 2 ) Hash 函数; ( 3 )散列编码: ( 4 )散列函数; ( 5 )单向压缩函数。 哈希函数 在公钥密码的内容中,已经介绍了“单向 函数”的概念。而哈希函数是一类特殊的单 向函数。 设数据文件是任意长度的比特串 x 。在密 码应用中,希望有这样的函数 y = H ( x ) ,满足: ( 1 )将 x 压缩成为固定长度的比特串 y 。 ( 2 )不同的 x 一定要生成不同的 y 。 ( 3 )由 y 的值无法倒算 x 的值。 哈希函数 实际性质:哈希函数 函数 y = H ( x ) 满足 ( 1 )将任意长度的比特串 x 压缩成为固定长度的比特串 y 。 ( 2 )已知 x ,计算 y = H ( x ) 很容易;已知 y ,找一个 x 满足 y = H ( x ) 却 很困难。这一性质称为 单向性 。 ( 3 )找 ( x 1 , x 2 ) , x 1 ≠ x 2 , H ( x 1 )= H ( x 2 ) ,很困难。这一性质称为 无碰撞性 。 这样的函数称为 哈希函数 。 2019/3/18 华中农业大学信息学院 5 Hash 函数 ? 浓缩任意长的消息 M 到一个固定 长度的取值 h = H ( M ) ? 通常假设 hash 函数是公开的且不 使用密钥( MAC 使用密钥) ? Hash 函数用户检测对消息的改变 ? 多种方式工作方式 ? 常用于产生数字签名 2019/3/18 华中农业大学信息学院 7 哈希函数的应用 ? 消息认证 ? 数字签名 ? 口令保护、文件完整性等 Hash 函数用于消息认证 2019/3/18 华中农业大学信息学院 8 Hash 函数用于消息认证 2019/3/18 华中农业大学信息学院 9 Hash 函数用于数字签名 2019/3/18 华中农业大学信息学院 10 2019/3/18 华中农业大学信息学院 11 § 12.1 MD5 消息摘要算法 ? 由 Ronald Rivest 设计 ? MD2(1989), MD4(1990), MD5(1991) ? 产生 128-bit 的 hash 值 ? 直到现在仍是被广泛使用的 hash 算法 ? 最近已受到穷举攻击和密码分析攻击 ? 作为互联网的 RFC1321 标准 2019/3/18 华中农业大学信息学院 12 MD5 概览 1. 增加填充位。使得填充后的消息长度比 512 的某整数倍 少 64 位(即长度= 448 mod 512 , 64 位用于存放消息的 长度 mod 2 64 的结果) 2. 填充长度(填充前消息的长度为 K 位,将 mod2 64 的结 果填充到第一步的最后,最低有效位在前。) 3. 初始化 MD 缓冲区 (A, B, C, D) : 4 个字共 128-bit ,每字 32bit. A = B = EFCDAB89 C = 98BADCFE D = 4. 以 16 个字( 512bits )为分组处理消息 ? 用 4 轮( 64 次迭代)以 16 位操作对消息分组和缓冲区进行 处理 ? 把输出与缓冲输入相加作为新的缓冲值 5. 把最后的缓冲值作为 hash 输出值( 128 比特) 2019/3/18 华中农业大学信息学院 13 MD5 处理过程 ? CV 0 = IV ? CV q+1 = SUM 32 [ CV q , RF I (Y q , RF H (Y q , RF G (Y q , RF F (Y q , CV q ))))] ? MD = CV L-1 其中: IV = 第三步定义的缓冲区 ABCD 的初值 Y q = 消息的第 q 个 512 位分组 L = 消息分组的个数(包括填充位和长度域) CV q = 处理消息的第 q 个分组时所使用的链接变量 RF x = 使用基本逻辑函数 x 的轮函数 MD = 消息摘要 SUM 32 = 对输入字分别执行模 2 32 加法 201

文档评论(0)

jinchenl + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档