第三章密码技术的应用.pptVIP

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

电子商务安全导论 刘行军 湖北经济学院 Email:oracle@ telQQ:612898 第三章 密码技术的应用 3.1数据的完整性和安全性 3.2数字签名 3.3数字信封 3.4混合加密系统 3.5数字时间戳 3.1数据的完整性和安全性 3.1.1 数据完整性和安全性的概念 P53 散列函数是主要手段 1、数据完整性被破坏的后果; p53 散列函数 散列函数(又称杂凑函数)是对不定长的输入产生定长输出的一种特殊函数: h=H(M) 其中M是变长的消息,h=H(M)是定长的散列值(或称为消息摘要),散列函数H是公开的,散列值在信源处被附加在消息上,接收方通过重新计算散列值来保证消息未被篡改。由于函数本身公开,传送过程中对散列值需要另外的加密保护(如果没有对散列值的保护,篡改者可以在修改消息的同时修改散列值,从而使散列值的认证功能失效)。 散列函数的性质 散列函数的目的是为文件、消息或其他的分组数据产生“指纹”。用于消息认证的散列函数H必须具有如下性质: 1. H能用于任何大小的数据分组,都能产生定长的输出; 2. 对于任何给定的x,H(x)要相对易于计算; 3. 对任何给定的散列码h,寻找x使得H(x)=h在计算上不可行(单向性)。 4. 对任何给定的分组x,寻找不等于x的y,使得H(x)=H(y)在计算上不可行(弱抗冲突)。 5. 寻找任何的(x,y) 使得H(x)=H(y)在计算上不可行(强抗冲突) 散列函数 散列函数(又称杂凑函数)是对不定长的输入产生定长输出的一种特殊函数: h=H(M) 其中M是变长的消息,h=H(M)是定长的散列值(或称为消息摘要),散列函数H是公开的,散列值在信源处被附加在消息上,接收方通过重新计算散列值来保证消息未被篡改。由于函数本身公开,传送过程中对散列值需要另外的加密保护(如果没有对散列值的保护,篡改者可以在修改消息的同时修改散列值,从而使散列值的认证功能失效)。 散列函数的性质 前两个性质使得散列函数用于消息认证成为可能; 第2和第3个性质保证H的单向性:给定消息产生散列值很简单,反过来由散列值产生消息计算上不可行,这保证了攻击者无法通过散列值恢复消息; 第4个性质保证了攻击者无法在不修改散列值的情况下替换消息而不被察觉; 第5个性质比第4个性质更强,保证了一种被称为生日攻击的方法无法奏效. 小知识—生日攻击 生日攻击这个术语来自于所谓的生日问题,在一个教室中最少应有多少学生才使得至少有两个学生的生日在同一天的概率不小于1/2?这个问题的答案为23。 k≈1.17 sqrt(n)。 N=365?k=22.3,因此,此生日问题的答案为23。 生日攻击隐含着消息摘要的长度的一个下界。一个40比特长的消息摘要是很不安全的,因为仅仅用220次随机Hash可至少以1/2的概率找到一个碰撞。为了抵抗生日攻击,通常建议消息摘要的长度至少应取为128比特,此时生日攻击需要约264次Hash。安全的Hash标准的输出长度选为160比特是出于这种考虑。 散列码使用方式 散列码不同的使用方式可以提供不同要求的消息认证。 使用对称密码体制对附加了散列码的消息进行加密。这种方式与用对称密码体制加密附加检错码的消息在结构上是一致的。认证的原理也相同,而且这种方式也提供保密性。 使用对称密码体制仅对附加的散列码进行加密。在这种方式中如果将散列函数与加密函数合并为一个整体函数实际上就是一个MAC函数。 使用公钥密码体制,用发方的私有密钥仅对散列码进行加密。这种方式与第二种方式一样提供认证而且还提供数字签名。 发送者将消息M与通信各方共享的一个秘密值S串接,然后计算出散列值,并将散列值附在消息M后发送出去。由于秘密值S 并不发送,攻击者无法产生假消息。 散列函数的结构 为了对不定长的输入产生定长的输出,并且最后的结果要与所有的字节相关,大多数安全的散列函数都采用了分块填充链接的模式,其结构是迭代型的。 这种散列函数将输入数据分为L个固定长度为b比特的分组。输入数据除了消息和附加的填充数据外,还附加了消息的长度值。附加的这个长度值将增加对手攻击的难度。对手要么找出两个具有相同长度的消息,使得它们加上各自长度值后散列值相同。要么找出两个不同长度的消息,这样的消息加上各自的长度值后必须散列成相同的值。 散列算法中重复使用一个压缩函数f,f产生一个n比特的输出。f有两个输入:一个是前一步的n比特输出,称为链接变量;另一个是b比特的分组。 迭代型散列函数的结构 Hash函数的核心 已经证明如果压缩函数是无碰撞的,则上述方法得到的Hash函数也是无碰撞的。因此Hash函数的核心技术是设计无碰撞的压缩函数。同样,敌手对算法的攻击重点也是对f 的内部结构的分析。与分

文档评论(0)

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

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

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档