第6章+认证理论与技术——Hash函数.pptVIP

  1. 1、本文档共70页,可阅读全部内容。
  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文档。上传文档
查看更多
主要内容 知识点: 6.1 认证与认证系统 保密和认证的关系 认证系统原理 认证的分类 6.2 散列算法概述 6.2.2 散列算法的分类及发展现状 6.3 Hash散列算法 MD5强度 世界震惊:王小云破解全球两大密码算法 世界震惊:王小云破解全球两大密码算法 6.5 消息认证技术 习 题 不同的Hash值可以提供几种消息认证方式(如下图所示): (1)使用对称密码技术对附加Hash值的消息进行加密(如下图(a)所示)。认证的原理是:因为只有A和B共享密钥K,因此消息M必定来自A且未被篡改。消息摘要提供认证所需要的结构或冗余。因为对包括消息和Hash值的整体进行了加密,因此还提供了保密。 3.采用Hash函数的消息认证 (2)使用对称,密码技术仅对Hash值进行加密(如下图(b)所示)。该方法是针对消息无需保密的应用情况,从而减少了由加密而增加的处理负担。由H值与加密结果合并成为的一个整体函数实际上就是一个消息认证码(MAC)。是变量消息M和密钥K的函数值,且它生成一个定长的输出,对不知道该密钥的攻击者来说是安全的。 (3)使用公钥密码技术和发送方的私钥仅对Hash值进行加密(如下图(c)所示)。该方法既能提供认证,又能提供数字签名。因为只有发送方能够生成加密的Hash认证码(事实上,这也是数字签名的本质)。 (4)同时提供保密性和数字签名。可使用一个对称秘密密钥对消息和已使用的公钥加密的Hash认证码一起进行加密,如下图(d)所示。 (5)通信各方共享一个公共的秘密值S的Hash值(如下图(e)所示)。该方法使用Hash值,但不对其加密。假定通信各方共享一个公共秘密值S,用户A对串接的消息M和S计算出Hash值,并将得到的Hash值附加在消息M后。因为秘密值S本身并不被发送,攻击者无法更改中途截获的消息,也就无法产生假消息,此方法只提供认证。 (6)通过对包含消息和Hash值的整体进行加密就能对方法(5)增加保密功能,如下图(f)所示。当不需要保密时,方法(2)和(3)在降低计算量上要优于那些需要对整个消息进行加密的方法。然而,目前对避免加密的方法(5)越来越重视。 下表归纳了前面图中说明的保密和认证方法。 1.什么是Hash散列算法,对Hash散列算法的基本要求和安全性要求区别。 2.安全Hash函数的一般结构? 3.简述MD5散列算法的填充过程? 4.简述MD5压缩函数的基本过程? 5.针对字符串为“12320090909”,用SHA-1进行处理,完成在进行消息摘要计算前的填充,并把结果用16进制表示。 6.简述SHA-1散列算法的压缩函数的基本过程。 7.根据6.3.2小节的例6.1中的输入,计算SHA-1算法中W16,W17,W18,W19的值。 8.什么是消息认证,为什么要进行消息认证? 9.Hash散列函数的攻击方法? 10.简述CBC-MAC消息认证算法? 11.消息认证一般有几种使用方法,每种方法有何区别? 12.HMAC的设计目标是什么? 13.在HMAC中,若散列函数分别采用MD5和SHA-1,这对HMAC算法有何影响? 14.在HMAC算法中,若密钥K长度小于所使用散列函数分组长度b的值,密钥该如何处理?若密钥K长度大于散列所使用散列函数分组长度b的值,又该如何处理? 6.3.2 SHA-1散列算法 1993年, NIST开发了一个散列算法称为安全HASH算法(SHA),1995年算法被修改,修改后的版本是SHA-1,这个版本是当前使用最广泛的散列算法,它在数字签名标准中被要求使用。 SHA-1它在算法设计上很大程度上模仿MD4,它接受输入消息的最大长度为264-1比特,生成160位的消息摘要,与MD5相似,这个算法操作划分为32位字的512位的长度块为处理单位,包含四轮运算,每一轮20个阶段,总共80步。 1. SHA-1算法的具体步骤 (1)第一步:填充消息 末尾添加一些额外的位来填充消息,与MD5填充方式完全相同,对消息进行填充,使得其位消息长度的值模512等于448(448刚好等于512减去64),即使原始消息长度正好是模512为448,也要增加512比特填充,也就是说最少要填充1个512块。 具体填充方法描述如下:第一个bit为1,其余全部为0(具体过程参见MD5填充过程)。 (2)第二步:补足长度 在填充的消息的末尾添加64位的块,该64块是原始消息二进制的长度,如果消息长度变换为二进制块的位的个数小于64,则在左边补0,使得块的长度刚好等于64位。 例如若原始消息长度为704位二进制组成,则长度704变换为二进制为1011000000,则需要在左边补54个0,达到64位,并

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档