Hash函数_MD5讲述.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hash函数_MD5讲述

MD5算法 Page ? * 演讲内容包括四个部分 Hash函数的MD5算法 MD5算法的特点及应用 MD5算法文件完整性校验实验 个人想法 Page ? * Hash函数的MD5算法 Hash函数介绍设计原则 MD5算法的背景以及思想 MD5算法的描述 Page ? * “Hash函数一词最初来源于计算机科学,表示可以将任意长度的字符串压缩成固定长度的字符串的函数,Hash函数的输出结果,称为Hash值,又称为消息摘要、指纹等。 Hash函数设计原则 Hash函数的算法是公开的,安全的Hash函数必须符合以下三个设计原则: 抗碰撞性攻击 抗第二原像攻击 抗第一原像攻击 由于Hash函数具有压缩的性质,所以必 然存在多个消息串对应同一Hash值的可能, 这就是所说的碰撞的出现 对于任意一个消息串a,容易得到它的Hash值 h(a);但是从它的Hash值h(a)很难推出相应 的消息串a,。 对于某一给定的消息串a,很难找到另一不 同的消息串b,使得h(a)=h(b)。 Hash函数类别 MDx系列 SHA系列 MD4 MD5 NAVAL RIPEND SHA-0 SHA-1 SHA-256 SHA-384 m MD5算法 Md5的全称是Message-Digest Algorithm 5(信息-摘要算法) 在90年代初由Mit Laboratory For Computer Science和Rsa Data Security Inc的Ronaldl.rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种必威体育官网网址的格式 MD5算法 2004年8月17日的美国加州圣巴巴拉的国际密码学会议上,山东大学的王小云教授做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告,标志着MD5加密算法不再是一种安全的加密算法。 虽然王小云教授公布了破解MD5算法的报告, 宣告该算法不再安全 安全 算法 安全 散列算法 要解密MD5没有现成的算法,只能用穷举法 输入两个不同的明文不会得到相同的输出值, 根据输出值,不能得到原始的明文(过程不可逆) 但是对于公司以及普通用户来说, 从算法上来破解MD5非常困难 MD5算法结论 MD5算法描述 MD5算法描述 步骤一:附加填充位 对报文填充使报文的长度(比特数)与448模512同余。即填充比特使长度为512的整数倍减去64。 MD5算法描述 步骤二:附加长度值 将用64比特表示的初始报文(填充前)的位长度附加在步骤一 的结果后(低位字节优先如果初始长度大于2^64,仅使用该长度的低64比特。 MD5算法描述 步骤二:附加长度值 经扩展的报文表示成512比特的分组序列列Y1、Y2、Y3……Y(n-1),因此扩展的报文长度等于L乘512比特。与之等价的是,该结果也等于字长为16比特或32比特的整数倍。 MD5算法描述 步骤三:初始化MD缓冲区 使用一个128比特的缓存来存放该散列函数的中间值及最终结果。该缓存可表示为4个32比特的寄存器(ABCD)。 MD5算法描述 步骤四:处理512比特报文分组序列 算法的核心是一个包含四个“循环”的压缩函数,右图为单个512比特分组MD5处理过程: MD5算法描述 步骤五:输出 得到的A,B,C,D就是输出结果,A是低位,D为高位,DCBA组成128位输出结果。 MD5算法描述 每轮运算用到了4个基本逻辑函数: F(X,Y,Z) =(XY)|((~X)Z)   G(X,Y,Z) =(XZ)|(Y(~Z))    H(X,Y,Z) =X^Y^Z    I(X,Y,Z)=Y^(X|(~Z))   (代表与,|代表或,~代表非,^代表异或) MD5算法描述 这四轮中的第1步进行不同处理,其他步骤是相同的。 MD5算法描述 其中移位S的定义如下: MD5算法描述 第一次循环: FF(a,b,c,d,M0,7,0xd76aa478) FF(d,a,b,c,M1,12,0xe8c7b756) FF(c,d,a,b,M2,17,0x242070db) FF(b,c,d,a,M3,22,0xc1bdceee) FF(a,b,c,d,M4,7,0xf57c0faf) FF(d,a,b,c,M5,12,0x4787c62a) FF(c,d,a,b,M6,17,0xa8304613) FF(b,c,d,a,M7,22,0xfd469501) FF(a,b,c,d,M8,7,0x698098d8) FF(d,a,b,c,M9,12

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档