- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MD5算法设计与实现
实验三 MD5算法的设计与实现
实验目的:
设计并实现MD5算法,从而进一步加深对数据完整性保证和散列函数的理解。
二、实验要求:
1、产生任意电子文档(包括文本和二进制)的128位信息摘要。
2、根据信息摘要验证该电子文档是否被更改过。
三、实验内容:
MD5算法简介:
Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。1991年,Rivest开发出技术上更为趋近成熟的md5算法。它在MD4的基础上增加了安全-带子(safety-belts)的概念。虽然MD5比MD4复杂度大一些,但却更为安全。这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在MD5算法中,信息-摘要的大小和填充的必要条件与MD4完全相同。Den boer和Bosselaers曾发现MD5算法中的假冲突(pseudo-collisions),但除此之外就没有其他被发现的加密后结果了。对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
2. MD5算法逻辑处理操作包括以下几步:
步骤一:附加填充比特。对报文填充使报文的长度(比特数)与448模512同余。即填充比特使长度为512的整数倍减去64。例如,如果报文是448比特长,那么将填充512比特形成960比特的报文。填充比特串的最高位为1,其余各位均为0。
步骤二:附加长度值。将用64比特表示的初始报文(填充前)的位长度附加在步骤一的结果后(低位字节优先)。如果初始长度大于264,仅使用该长度的低64比特。这样,该域所包含的长度值为初始报文长度模264的值。 这两步的结果将产生一个长度为512整数倍比特的报文。经扩展的报文表示成512比特的分组序列列Y1、Y2、Y3……Y(n-1),因此扩展的报文长度等于L乘512比特。与之等价的是,该结果也等于字长为16比特或32比特的整数倍,如果让[]10?NML表示扩展报文包含的字数,其中N是16的倍数,则N等于L 乘512。下图为使用MD5产生报文摘要的过程:
步骤三:初始化MD缓存。使用一个128比特的缓存来存放该散列函数的中间值及最终结果。该缓存可表示为4个32比特的寄存器(ABCD)。AB=EFCDAB89,C=98BADCFE,D这些值以低位字节放在在前的格式存储: AB=89ABCDEF,C=FEDCBA98,D
步骤四:处理512比特报文分组序列。算法的核心是一个包含四个“循环”的压缩函数,下图为单个512比特分组MD5处理过程:
四个循环有相似的结构,但每次循环使用不同的原始逻辑函数,说明中表示为FGHI。每一循环都以当前的正在处理的512比特分组(Yq)和128比特的缓存值ABCD为输入,然后更新缓存的内容。每一循环使用一个64元素表T[0…64]的四分之一,该表通过正弦函数构建。T的第i个元素(表示为[Ti])的值等于的整数部分值其中i的单位是弧度。因为是0到1之间的数,每个T的值均能用32比特表示集,它将消除输入数据的任何规律性。
第四次循环的输出加到第一次循环的输入(CVq)上产生(CV q+1),相加是缓存四个字与(CVq)中对应四个字以模相加。
步骤五:输出。所有L个512比特的分组处理完成后,第L阶段产生的输出便是128比特的报文摘要。总结MD5的操作如下:
其中: IV=缓存ABCD的初值,在步骤三定义
Yq=第q个长度为512比特的报文分组
L=报文(包括填充字段和长度字段)的分组数
CVq=处理第q个报文分组时的连接变量
RFx=使用原始逻辑函数x的循环函数
MD=最终的报文摘要
SUM32=对输入对中的每个字分别执行模相加
3、MD5的安全性:
md5相对md4所作的改进:
a. 增加了第四轮;
b. 每一步均有唯一的加法常数;
c. 为减弱第二轮中函数g的对称性从(xy)|(xz)|(yz)变为(xz)|(y(~z));
d. 第一步加上了上一步的结果,这将引起更快的雪崩效应;
e. 改变了第二轮和第三轮中访问消息子分组的次序,使其更不相似;
f. 近似优化了每一轮中的循环左移位移量以实现更快的雪崩效应。各轮的位移量互不相同。
设计MD5算法:
(1)、MD5ChecksumDefi
您可能关注的文档
最近下载
- 2025年中国半乳甘露聚糖项目创业计划书.docx
- 公共政策学(中南财经政法大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 牙体修复治疗术.pptx VIP
- 广州市南沙区2023-2024学年八年级上学期期末物理冲刺卷(含答案).doc VIP
- 七年级道德与法治上册《爱护身体》.pptx VIP
- 【人教版】小学一年级体育上册全册教案.pdf VIP
- Unit 7 Being a Smart Shopper 第2课时 Function & Pronunciation 课件 英语 仁爱科普版(2024)七年级下册 英语仁爱科普版(2024)七年级下册.pptx VIP
- 广州市南沙区2023-2024学年八年级上学期期末物理提升卷(含答案).doc VIP
- 2025年产前筛查师唐氏综合征筛查操作技能模拟考核试题及答案解析.docx VIP
- 转录因子T-bet下调CTLA-4的功能与机制:从分子基础到临床意义的深度剖析.docx
文档评论(0)