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

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

基本逻辑函数的输入为3个32比特的字,输出是一个32比特的字,其中的运算为逐比特逻辑运算,即输出的第n个比特是3个输入的相应比特的函数。函数的定义如表6.6。表中∧,∨, -,分别是与、或、非、异或4个逻辑运算。 函数的真值表如表6.7所示。 输入分组(512比特长)导出Wt(32比特长):如图6.10,前16个值(W0,W1,…,W15)直接取为输入分组的16个相应的字,其余值(即W16,W17,…,W79)取为 。 与MD5比较,MD5直接用一个消息分组的16个字作为每步迭代的输入,而SHA则将输入分组的16个字扩展成80个字以供压缩函数使用,从而使得寻找具有相同压缩值的不同的消息分组更为困难。 图6.10 SHA分组处理所需的80个字的产生过程 6.4.3 SHA与MD5的比较 由于SHA与MD5都是由MD4演化而来,所以两个算法极为相似。 1. 抗穷有哪些信誉好的足球投注网站攻击的强度 由于SHA和MD5的消息摘要长度分别为160和128,所以用穷有哪些信誉好的足球投注网站攻击寻找具有给定消息摘要的消息分别需做O(2160)和O(2128)次运算,而用穷有哪些信誉好的足球投注网站攻击找出具有相同消息摘要的两个不同消息分别需做O(280)和O(264)次运算。因此SHA抗击穷有哪些信誉好的足球投注网站攻击的强度高于MD5抗击穷有哪些信誉好的足球投注网站攻击的强度。 2. 抗击密码分析攻击的强度 由于SHA的设计准则未被公开,所以它抗击密码分析攻击的强度较难判断,似乎高于MD5的强度。 3. 速度 由于两个算法的主要运算都是模232加法,因此都易于在32位结构上实现。但比较起来,SHA的迭代步数(80步)多于MD5的迭代步数(64步),所用的缓冲区(160比特)大于MD5使用的缓冲区(128比特),因此在相同硬件上实现时,SHA的速度要比MD5的速度慢。 4. 简洁与紧致性 两个算法描述起来都较为简单,实现起来也较为简单,都不需要大的程序和代换表。 5. 数据的存储方式 MD5使用little-endian方式,SHA使用big-endian方式。两种方式相比看不出哪个更具优势,之所以使用两种不同的存储方式是因为设计者最初实现各自的算法时,使用的机器的存储方式不同。 6.5 HMAC算法 近年来研究构造MAC的兴趣已转移到基于密码杂凑函数的构造方法,这是因为: 密码杂凑函数(如MD5、SHA)的软件实现快于分组密码(如DES)的软件实现; 密码杂凑函数的库代码来源广泛; 密码杂凑函数没有出口限制,而分组密码即使用于MAC也有出口限制。 杂凑函数并不是为用于MAC而设计的,由于杂凑函数不使用密钥,因此不能直接用于MAC。目前已提出了很多将杂凑函数用于构造MAC的方法,其中HMAC就是其中之一,已作为RFC2104被公布,并在IPSec和其他网络协议(如SSL)中得以应用。 6.5.1 HMAC的设计目标 RFC2104列举了HMAC的以下设计目标: ① 可不经修改而使用现有的杂凑函数,特别是那些易于软件实现的、源代码可方便获取且免费使用的杂凑函数。 ② 其中镶嵌的杂凑函数可易于替换为更快或更安全的杂凑函数。 ③ 保持镶嵌的杂凑函数的最初性能,不因用于HMAC而使其性能降低。 ④ 以简单方式使用和处理密钥。 ⑤ 在对镶嵌的杂凑函数合理假设的基础上,易于分析HMAC用于认证时的密码强度。 前两个目标是HMAC被公众普遍接受的主要原因,这两个目标是将杂凑函数当作一个黑盒使用,这种方式有两个优点: 第一,杂凑函数的实现可作为实现HMAC的一个模块,这样一来,HMAC代码中很大一块就可事先准备好,无需修改就可使用;第二,如果HMAC要求使用更快或更安全的杂凑函数,则只需用新模块代替旧模块,例如用实现SHA的模块代替MD5的模块。 最后一条设计目标则是HMAC优于其他基于杂凑函数的MAC的一个主要方面,HMAC在其镶嵌的杂凑函数具有合理密码强度的假设下,可证明是安全的。 6.5.2 算法描述 图6.11是HMAC算法的运行框图,其中H为嵌入的杂凑函数(如MD5、SHA),M为HMAC的输入消息(包括杂凑函数所要求的填充位),Yi(0≤i≤L-1)是M的第i个分组,L是M的分组数,b是一个分组中的比特数,n为由嵌入的杂凑函数所产生的杂凑值的长度,K为密钥,如果密钥长度大于b,则将密钥输入到杂凑函数中产生一个n比特长的密钥,K+是左边经填充0后的K,K+的长度为b比特,ipad为b/8opad为b/8 图6.11 HMAC的算法框图 算法的输出可如下表示: 算法的运行过程可描述如下: ① K的左边填充0以产生一个b比特长的K+ (例如K的长为160比特,b=512,则需填充44个零字节0x00)。 ② K+与ipad 逐比特异或以产生b比特的分组Si。 ③ 将M链

文档评论(0)

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

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

1亿VIP精品文档

相关文档