- 14
- 0
- 约1.38万字
- 约 94页
- 2019-11-06 发布于广东
- 举报
* * §6.3.3 MD5的安全性 * * §6.4 安全杂凑算法 安全杂凑算法SHA(Secure Hash Algorithm)由美国NIST设计,于1993年作为联邦信息处理标准(FIPS PUB 180)公布。 SHA-0是SHA的早期版本,SHA-0被公布后,NIST很快就发现了它的缺陷,修改后的版本称为SHA-1,简称为SHA。 SHA是基于MD4算法,其结构与MD4非常类似。 * * §6.4.1 算法描述 算法的输入为小于264比特长的任意消息,分为512比特长的分组,输出为160比特长的消息摘要。 * * 算法的处理过程有以下几步: ① 对消息填充 与MD5的步骤①完全相同。 ② 附加消息的长度 与MD5的步骤②类似,不同之处在于以big-endian方式表示填充前消息的长度。即步骤①留出的64比特当作64比特长的无符号整数。 ③ 对MD缓冲区初始化 算法使用160比特长的缓冲区存储中间结果和最终杂凑值,缓冲区可表示为5个32比特长的寄存器(A, B, C, D, E),每个寄存器都以big-endian方式存储数据,其初始值分别为AB=EFCDAB89,C=98BADCFB,DE=C3D2E1F0。 * * ④ 以分组为单位对消息进行处理 每一分组Yq都经一压缩函数处理,压缩函数由4轮处理过程构成,每一轮又由20步迭代组成。4轮处理过程结构一样,但所用的基本逻辑函数不同,分别表示为f1,f2,f3,f4每轮的输入为当前处理的消息分组Yq和缓冲区的当前值A,B,C,D,E,输出仍放在缓冲区以替代A,B,C,D,E的旧值,每轮处理过程还需加上一个加法常量Kt,其中0≤t≤79表示迭代的步数。80个常量中实际上只有4个不同取值,其中 为x的整数部分。 第4轮的输出再与第1轮的输入CVq相加,以产生CVq+1,其中加法是缓冲区5个字中的每一个字与CVq中相应的字模232相加。 * * ⑤ 输出 消息的L个分组都被处理完后,最后一个分组的输出即为160比特的消息摘要。 步骤③到步骤⑤的处理过程可总结如下: CV0=IV; CVq+1=SUM32(CVq,ABCDEq); MD=CVL 其中IV是步骤③定义的缓冲区ABCDE的初值,ABCDEq是第q个消息分组经最后一轮处理过程处理后的输出,L是消息(包括填充位和长度字段)的分组数,SUM32是对应字的模232加法,MD为最终的摘要值。 * * * * * * §6.4.2 SHA的压缩函数 SHA的压缩函数由4轮处理过程组成,每轮处理过程又由对缓冲区ABCDE的20步迭代运算组成,每一步迭代运算的形式为 其中A,B,C,D,E为缓冲区的5个字,t是迭代的步数(0≤t≤79),ft(B,C,D)是第t步迭代使用的基本逻辑函数,CLSs为左循环移s位,Wt是由当前512比特长的分组导出的一个32比特长的字,Kt是加法常量,+是模232加法。 * * 图6.9 SHA的压缩函数中一步迭代示意图 * * 基本逻辑函数的输入为3个32比特的字,输出是一个32比特的字,其中的运算为逐比特逻辑运算,即输出的第n个比特是3个输入的相应比特的函数。表中∧,∨, -,分别是与、或、非、异或4个逻辑运算 * * * * 下面说明如何由当前的输入分组(512比特长)导出Wt(32比特长)。前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的迭
您可能关注的文档
最近下载
- 关节置换课件.pptx VIP
- 脉冲微分方程边值问题解的存在性:理论与应用新探.docx VIP
- 2025高考物理步步高同步练习必修3第十章电势差与电场强度的关系含答案.docx VIP
- 人教版高中数学必修一章节思维导图全套.pdf VIP
- 深度解析(2026)《GAT 147-2019法医学 尸体检验技术总则》.pptx VIP
- 变分法研究几类分数阶脉冲微分方分程边值问题解的存在性.docx VIP
- 《中小学生欺凌防治制度机制指引》全文.pdf VIP
- 普通话水平考必试读词语表.doc VIP
- 汽车租赁合同模板范本.docx VIP
- 2025高考物理步步高同步练习选修1第一章 动量专题强化3 弹簧—小球模型 滑块—光滑斜(曲)面模型含答案.docx VIP
原创力文档

文档评论(0)