杨波, 《现代密码学(第2版)》06-1.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
但由于敌手不知道用于加密杂凑值的密钥,他就不可能既伪造一个消息M,又伪造这个消息的杂凑值加密后的密文EK[H(M)]。然而,如果第5个条件不成立,敌手在截获明文消息及其加密的杂凑值后,就可按以下方式伪造消息:首先求出截获的消息的杂凑值,然后产生一个具有相同杂凑值的伪造消息,最后再将伪造的消息和截获的加密的杂凑值发往通信的接收方。 第6个条件用于抵抗生日攻击。 6.2.3 生日攻击 1. 相关问题 已知一杂凑函数H有n个可能的输出,H(x)是一个特定的输出,如果对H随机取k个输入,则至少有一个输入y使得H(y)=H(x)的概率为0.5时,k有多大? 以后为叙述方便,称对杂凑函数H寻找上述y的攻击为第Ⅰ类生日攻击。 因为H有n个可能的输出,所以输入y产生的输出H(y)等于特定输出H(x)的概率是1/n,反过来说H(y)≠H(x)的概率是1-1/n。y取k个随机值而函数的k个输出中没有一个等于H(x),其概率等于每个输出都不等于H(x)的概率之积,为[1-1/n]k,所以y取k个随机值得到函数的k个输出中至少有一个等于H(x)的概率为1-[1-1/n]k。 由(1+x)k≈1+kx,其中|x|1,可得 1-[1-1/n]k≈1-[1-k/n]=k/n 若使上述概率等于0.5,则k=n/2。特别地,如果H的输出为m比特长,即可能的输出个数n=2m,则k=2m-1。 2. 生日悖论 生日悖论是考虑这样一个问题:在k个人中至少有两个人的生日相同的概率大于0.5时,k至少多大? 为了回答这一问题,首先定义下述概率:设有k个整数项,每一项都在1到n之间等可能地取值,则k个整数项中至少有两个取值相同的概率为P(n, k)。因而生日悖论就是求使得P(365, k)≥0.5的最小k,为此首先考虑k个数据项中任意两个取值都不同的概率,记为Q(365, k)。如果k365,则不可能使得任意两个数据都不相同,因此假定k≤365。k个数据项中任意两个都不相同的所有取值方式数为 即第1个数据项可从365个中任取一个,第2个数据项可在剩余的364个中任取一个,依次类推,最后一个数据项可从365-k+1个值中任取一个。如果去掉任意两个都不相同这一限制条件,可得k个数据项中所有取值方式数为365k。所以可得 当k=23时,P(365,23)=0.5073,即上述问题只需23人,人数如此之少。 若k取100,则P(365,100)=0.9999997,即获得如此大的概率。 之所以称这一问题是悖论是因为当人数k给定时,得到的至少有两个人的生日相同的概率比想象的要大得多。这是因为在k个人中考虑的是任意两个人的生日是否相同,在23个人中可能的情况数为C223=253。 将生日悖论推广为下述问题:已知一个在1到n之间均匀分布的整数型随机变量,若该变量的k个取值中至少有两个取值相同的概率大于0.5,则k至少多大? 与上类似, ,令P(n, k)0.5,可得 。 若取n=365,则 。 3. 生日攻击 生日攻击是基于下述结论:设杂凑函数H有2m个可能的输出(即输出长m比特),如果H的k个随机输入中至少有两个产生相同输出的概率大于0.5,则 。 称寻找函数H的具有相同输出的两个任意输入的攻击方式为第Ⅱ类生日攻击。 第Ⅱ类生日攻击可按以下方式进行: ① 设用户将用图6.3(c)所示的方式发送消息,即A用自己的秘密钥对消息的杂凑值加密,加密结果作为对消息的签字,连同明文消息一起发往接收者。 ② 敌手对A发送的消息M产生出2m/2个变形的消息,每个变形的消息本质上的含义与原消息相同,同时敌手还准备一个假冒的消息M′,并对假冒的消息产生出2m/2个变形的消息。 ③ 敌手在产生的两个消息集合中,找出杂凑值相同的一对消息, ,由上述讨论可知敌手成功的概率大于0.5。如果不成功,则重新产生一个假冒的消息,并产生2m/2个变形,直到找到杂凑值相同的一对消息为止。 ④ 敌手将 提交给A请求签字,由于 与 的杂凑值相同,所以可将A对 的签字当作对 的签字,将此签字连同 一起发给意欲的接收者。 上述攻击中如果杂凑值的长为64比特,则敌手攻击成功所需的时间复杂度为O(232)。 将一个消息变形为具有相同含义的另一消息的方法有很多,例如对文件,敌手可在文件的单词之间插入很多“space-space-backspace”字符对,然后将其中的某些字符对替换为“sp

文档评论(0)

精华文档888 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档