信息安全课件-杂凑算法.pptVIP

信息安全课件-杂凑算法.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  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文档。上传文档
查看更多
杂凑算法(一) * 一、MD5杂凑算法概述 MD4是MD5杂凑算法的前身,由Ron Rivest于1990 年10月作为RFC提出,1992年4月公布的MD4的改 进(RFC 1320,1321)称为MD5。 MD5的全称是Message-Digest Algorithm 5,在90年 代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。 Message-Digest泛指字节串(Message)的Hash变换, 就是把一个任意长度的字节串变换成一定长的大整数。 MD5将任意长度的“字节串”变换成一个128bit的大整 数,并且它是一个不可逆的字符串变换算法 * MD5的典型应用是对一段Message(字节串)产生 fingerprint(指纹),以防止被“篡改”。 MD5还广泛用于加密和解密技术上,在很多操作系 统中,用户的密码是以MD5值(或类似的其它算法) 的方式保存的, 用户Login的时候,系统是把用户输 入的密码计算成MD5值,然后再去和系统中保存的 MD5值进行比较,而系统并不“知道”用户的密码是 什么。 * 二、MD5杂凑算法 1、算法描述 MD5算法采用图6.4描述的迭代型杂凑函数的一般 结构,算法的框图如图6.5所示。算法的输入为任 意长的消息(图中为K比特),分为512比特长的 分组,输出为128比特的消息摘要。 * 图6.5 MD5的算法框图 * 处理过程有以下几步: ① 对消息填充对消息填充,使得其比特长在模512下 为448,即填充后消息的长度为512的某一倍数减64, 留出的64比特备第2步使用。(步骤①是必需的,即 使消息长度已满足要求,仍需填充。例如,消息长为 448比特,则需填充512比特,使其长度变为960,因此 填充的比特数大于等于1而小于等于512。填充方式是 固定的,即第1位为1,其后各位皆为0。 ) * ② 附加消息的长度用步骤①留出的64比特以 little-endian方式来表示消息被填充前的长度。如果 消息长度大于264,则以264为模数取模。 Little-endian方式是指按数据的最低有效字节(byte) (或最低有效位)优先的顺序存储数据,即将最低有 效字节(或最低有效位)存于低地址字节(或位)。 相反的存储方式称为big-endian方式。 * 前两步执行完后,消息的长度为512的倍数(设为L 倍),则可将消息表示为分组长为512的一系列分组 Y0,Y1,…,YL-1,而每一分组又可表示为16个32比 特长的字,这样消息中的总字数为N=L×16,因此消 息又可按字表示为M[0,…,N-1]。 * ③ 对MD缓冲区初始化算法使用128比特长的缓冲区以 存储中间结果和最终杂凑值,缓冲区可表示为4个32 比特长的寄存器(A,B,C,D),每个寄存器都以 littleendian方式存储数据,其初值取为(以存储方 式)AB=89ABCDEF, C=FEDCBA98, D实际上EFCDAB89, 98BADCFE ④ 以分组为单位对消息进行处理每一分组Yq(q=0,…, L-1)都经一压缩函数HMD5处理。HMD5是算法的核心, 其中又有4轮处理过程,如图6.6所示。 ⑤ 输出消息的L个分组都被处理完后,最后一个HMD5 的输出即为产生的消息摘要。 * 图6.6 MD5的分组处理框图 * HMD5的4轮处理过程结构一样,但所用的逻辑函数不 同,分别表示为F、G、H、I。每轮的输入为当前处 理的消息分组Yq和缓冲区的当前值A、B、C、D, 输出仍放在缓冲区中以产生新的A、B、C、D。每 轮处理过程还需加上常数表T中四分之一个元素, 分别为T[1…16], T[17…32], T[33…48], T[49…64]。 表T有64个元素,见表6.1,第i个元素T[i]为 232×abs(sin(i))的整数部分,其中sin为正弦函数, i以弧度为单位。由于abs(sin(i))大于0小于1,所以 T[i]可由32比特的字表示。第4轮的输出再与第1轮 的输入CVq相加,相加时将CVq看作4个32比特的字, 每个字与第4轮输出的对应的字按模232相加,相加的 结果即为压缩函数HMD5的输出。 * 步骤③到步骤⑤的处理过程可总结如下: CV0=IV; CVq+1=CVq+RFI[Yq,RFH[Yq,RFG[Yq,RFF[Yq,CVq]]]] MD=CVL 其中IV是步骤③所取的缓冲区ABCD的初值,Yq是消息的第q个512比特长的分组,L是消息经过步骤①和步骤②处理后的分组数,CVq为处理消息的第q个分组时输入的链接变量(即前一个压

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地未知
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档