网站大量收购独家精品文档,联系QQ:2885784924

第七篇 章 杂凑函数 密码学课件.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七篇 章 杂凑函数 密码学课件.ppt

密码学 第七章 杂凑函数 杂凑函数的概念 1 基本攻击方法 2 基于分组密码的杂凑函数 3 第七章 杂凑函数 MD5杂凑算法 4 SHA杂凑函数 5 杂凑函数又称为Hash函数,报文摘要函数等。其目的是将任意长度的报文 m 压缩成指定长度的数据 H(m)。 H(m)又称为m 的指纹。 报文 报文摘要 杂凑函数 H (一)基本概念 一、杂凑函数的概念 杂凑函数的应用 完整性认证:(m,H(m)) m 的任何改变都将导致杂凑值 H(m) 的改变, 需要完整性认证时,只需计算 H(m) 并与存储的H(m) 相比较即可。 一、杂凑函数的概念 (4) 对于任意的h,要发现满足 H(m) = h 的 m 是计算上不可行的; (5) 对于任意给定的m1,要找到满足 H(m2)=H(m1),而 m2≠ m1 的m2,是计算上不可行的; (6) 要发现满足 H ( m1) = H ( m2),而 m1≠ m2 的对 (m1, m2) 是计算上不可行的。 (二)杂凑函数应满足的条件 一、杂凑函数的概念 (三)杂凑函数的优缺点 由于报文摘要不包含报文持有者的秘密信息,故 1 任何人都可对报文的“指纹”进行检验— 优点。 2 掌握报文的人都可生成报文的“指纹” — 缺点。 上述优缺点导致当将报文及其指纹放在一起时, (1) 能检验出对报文无意的修改—H(m)与m不匹配。 (2) 不能检验出有意的篡改或伪造 — 修改 m 并伪造一个与其匹配的H(m)。 一、杂凑函数的概念 目的: 构造出报文 m1和报文 m2,使得 H (m1) = H(m2) 假设H:X→Z是一个杂凑函数,且|X|≥2|Z|,从理论上看,一定存在碰撞。 从X中随机选择k个不同的元素x1, x2, …, xk, 计算杂凑值 zi=H(xi), 1≤i≤k, 确定碰撞是否发生。 二、基本攻击方法 1、生日悖论 在随机选取的23个人中,至少有两个人具有相同生日的概率至少为 0.5 xi对应的杂凑值是zi,z2≠z1的概率是1-1/|Z|, z3不同于z1和z2的概率是1-2/|Z|, …, 等等。 因此没有 碰撞发生的概率是 二、基本攻击方法 没有碰撞发生的概率是 有碰撞发生的概率是 取|Z|=365,p=0.5,代入上式得到k=22.3。 二、基本攻击方法 Step1 随机选取 N 个报文 m1, m2, ?, mN; Step2 以这N个报文作为杂凑函数的输入,计算出相应的杂凑值,得到集合 S={(mk, H(mk)):k=1,2,?, N}; Step3 根据 H(mk) 的大小对集合 S 进行快速排序,并利用该算法,寻找使 H(mk) = H(mt) 成立的不同元mk和 mt ; 如果找到,就将(mk, mt) 作为结果输出,算法终止; 如果找不到,就报告碰撞攻击失败,算法终止。 2、对杂凑函数的自由起始碰撞攻击算法 二、基本攻击方法 存储复杂性: 需要存储表S,以便进行快速排序,故存储复杂性是表S的规模O(N)。 计算复杂性: (1) 生成集合S的计算量是计算N次杂凑函数; (2) 对集合S快速排序并找出全部碰撞的计算量为: |N|log2|N|次比较, 总计算量为 N+Nlog2N = O(N) 性能指标分析 二、基本攻击方法 定理 设杂凑值为n比特且 N 远小于 2n,则碰撞攻击的成功率近似为 特别地,当 时,碰撞攻击的成功率近似为 特别地,当 时,碰撞攻击的成功率近似为 成功率分析 二、基本攻击方法 证明: N个杂凑值互不相同的排列方式总数为 但从{0,1}n中随机选取N个点的方式有(2n)N种,因而S中的点互不相同的概率(失败率)为 下面对失败率p进行近似计算。 由N远小于2n和 知 二、基本攻击方法 于是碰撞攻击的失败率为 故碰撞攻击的成功率为 特别地,当 时,碰撞攻击的成功率近似为 碰撞攻击说明杂凑值的比特数应≥分组密码的比特数。因此,分组密码的分组规模可选为64比特,但杂凑值却不能选为64比特。 二、基本攻击方法 (一)基于CBC模式构造的杂凑函数 其中m = (m1, m2, … , mn+1), H(m) = cn+1 注:知道密钥 k 时不安全。 … … … 三、基于分组密码的杂凑函数 1、MD强化(Merkle-Damaard强化) 将消息M = (M1,

文档评论(0)

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

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

1亿VIP精品文档

相关文档