收藏 分享(赏)

第9讲 散列函数Md5.ppt

上传人:11xg27ws 文档编号:8221220 上传时间:2019-06-15 格式:PPT 页数:33 大小:453KB
下载 相关 举报
第9讲 散列函数Md5.ppt_第1页
第1页 / 共33页
第9讲 散列函数Md5.ppt_第2页
第2页 / 共33页
第9讲 散列函数Md5.ppt_第3页
第3页 / 共33页
第9讲 散列函数Md5.ppt_第4页
第4页 / 共33页
第9讲 散列函数Md5.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、第9讲 Md5算法介绍,来历,Md5(message-digest algorithm 5) 90年代初由MIT laboratory for computer science和RSA data security inc的ronald l. rivest开发出来,经md2、md3和md4发展而来。http:/www.ietf.org/rfc/rfc1321.txt,应用,md5的典型应用是对一段信息(message)产生信息摘要(message-digest),以防止被篡改 md5还广泛用于加密和解密技术上 广泛的应用于unix系统中,特点,输入一个任意长度的字节串,生成一个128位的整数。由

2、于算法的某些不可逆特征,在加密应用上有较好的安全性。并且,MD5算法的使用不需要支付任何版权费用。,说明,唯一性和不可逆性都不是绝对的,从理论上分析是一种多对一的关系,但两个不同的信息产生相同摘要的概率很小。 不可逆是指从输出反推输入所需的运算量和计算时间太大,使用穷搜字典的方法又需要太多的存储空间。,算法描述,补位 补数据 初始化MD5参数 处理位操作函数 主要变换过程 具体过程,1、补位,MD5算法先对输入的数据进行补位,使得数据位长度LEN对512求余的结果是448。即数据扩展至K*512+448位。即K*64+56个字节,K为整数。具体补位操作:补一个1,然后补0至满足上述要求 。44

3、7补1位,449补511位.,补数据,用一个64位的数字表示数据的原始长度B,把B用两个32位数表示。这时,数据就被填补成长度为512位的倍数。,初始化MD5参数,四个32位被称作链接变量(chaining variable)的整数参数, 它们分别为(低字节在前):A=0x01234567 B=0x89abcdef C=0xfedcba98 D=0x76543210,处理位操作函数,F(X,Y,Z)=(X&Y)|(X)&Z) G(X,Y,Z)=(X&Z)|(Y&(Z) H(X,Y,Z)=XYZ I(X,Y,Z)=Y(X|(Z) (&是与,|是或,是非,是异或) 如果X、Y和Z的对应位是独立和均

4、匀的,那么结果的每一位也应是独立和均匀的。,主要变换过程,设Mj表示消息的第j个子分组(从0到15),s表示循环左移s位,则四种操作为: FF(a,b,c,d,Mj,s,ti)表示a=b+(a+(F(b,c,d)+Mj+ti)s) GG(a,b,c,d,Mj,s,ti)表示a=b+(a+(G(b,c,d)+Mj+ti)s) HH(a,b,c,d,Mj,s,ti)表示a=b+(a+(H(b,c,d)+Mj+ti)s) II(a,b,c,d,Mj,s,ti)表示a=b+(a+(I(b,c,d)+Mj+ti)s),第一轮,FF(a,b,c,d,M0,7,0xd76aa478) FF(d,a,b,c,

5、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,0x8b44f7af) FF(c,d,a,b,M10,17,0xffff5bb1) FF(b,c,d,a,M11,22,0x89

6、5cd7be) FF(a,b,c,d,M12,7,0x6b901122) FF(d,a,b,c,M13,12,0xfd987193) FF(c,d,a,b,M14,17,0xa679438e) FF(b,c,d,a,M15,22,0x49b40821),第二轮,GG(a,b,c,d,M1,5,0xf61e2562) GG(d,a,b,c,M6,9,0xc040b340) GG(c,d,a,b,M11,14,0x265e5a51) GG(b,c,d,a,M0,20,0xe9b6c7aa) GG(a,b,c,d,M5,5,0xd62f105d) GG(d,a,b,c,M10,9,0x0244145

7、3) GG(c,d,a,b,M15,14,0xd8a1e681) GG(b,c,d,a,M4,20,0xe7d3fbc8) GG(a,b,c,d,M9,5,0x21e1cde6) GG(d,a,b,c,M14,9,0xc33707d6) GG(c,d,a,b,M3,14,0xf4d50d87) GG(b,c,d,a,M8,20,0x455a14ed) GG(a,b,c,d,M13,5,0xa9e3e905) GG(d,a,b,c,M2,9,0xfcefa3f8) GG(c,d,a,b,M7,14,0x676f02d9) GG(b,c,d,a,M12,20,0x8d2a4c8a),第三轮,HH(

8、a,b,c,d,M5,4,0xfffa3942) HH(d,a,b,c,M8,11,0x8771f681) HH(c,d,a,b,M11,16,0x6d9d6122) HH(b,c,d,a,M14,23,0xfde5380c) HH(a,b,c,d,M1,4,0xa4beea44) HH(d,a,b,c,M4,11,0x4bdecfa9) HH(c,d,a,b,M7,16,0xf6bb4b60) HH(b,c,d,a,M10,23,0xbebfbc70) HH(a,b,c,d,M13,4,0x289b7ec6) HH(d,a,b,c,M0,11,0xeaa127fa) HH(c,d,a,b,M

9、3,16,0xd4ef3085) HH(b,c,d,a,M6,23,0x04881d05) HH(a,b,c,d,M9,4,0xd9d4d039) HH(d,a,b,c,M12,11,0xe6db99e5) HH(c,d,a,b,M15,16,0x1fa27cf8) HH(b,c,d,a,M2,23,0xc4ac5665),第四轮,II(a,b,c,d,M0,6,0xf4292244) II(d,a,b,c,M7,10,0x432aff97) II(c,d,a,b,M14,15,0xab9423a7) II(b,c,d,a,M5,21,0xfc93a039) II(a,b,c,d,M12,6,

10、0x655b59c3) II(d,a,b,c,M3,10,0x8f0ccc92) II(c,d,a,b,M10,15,0xffeff47d) II(b,c,d,a,M1,21,0x85845dd1) II(a,b,c,d,M8,6,0x6fa87e4f) II(d,a,b,c,M15,10,0xfe2ce6e0) II(c,d,a,b,M6,15,0xa3014314) II(b,c,d,a,M13,21,0x4e0811a1) II(a,b,c,d,M4,6,0xf7537e82) II(d,a,b,c,M11,10,0xbd3af235) II(c,d,a,b,M2,15,0x2ad7d2

11、bb) II(b,c,d,a,M9,21,0xeb86d391),参数选择,常数ti可以如下选择: 在第i步中,ti是4294967296*abs(sin(i)的整数部分,i的单位是弧度。 (2的32次方) 所有这些完成之后,将A,B,C,D分别加上a,b,c,d。然后用下一分组数据继续运行算法,最后的输出是A,B,C和D的级联。,MD5的安全性,MD5相对MD4所作的改进: 1. 增加了第四轮; 2. 每一步均有唯一的加法常数; 3. 为减弱第二轮中函数G的对称性从(X&Y)(X&Z)(Y&Z)变为(X&Z)(Y&(Z); 4. 第一步加上了上一步的结果,这将引起更快的雪崩效应; 5. 改变

12、了第二轮和第三轮中访问消息子分组的次序,使其更不相似; 6. 近似优化了每一轮中的循环左移位移量以实现更快的雪崩效应。各轮的位移量互不相同。,SHA(Secure Hash Alg.),The NIST, along with the National Security Agency, designed the SHA for use with the DSA(in 1993).SHA is very similar to MD4. SHA is very much an MD4-variant rather than a redesign, like MD5. Ron Rivest made

13、 public the design decisions behind MD5, but SHAs designers did not. MD5與SHA之差異表,安全性: SHA優於MD5;因為 160 128. 速度: SHA 慢了約25%; 因為160 128 且 80 64. 簡易性: SHA 對每一步驟之操作描述較MD5簡單 .There are no known cryptographic attacks against SHA. And because it produces a 160-bit hash, it is more resistant to brute-force a

14、ttacks (including Birthday Attacks) than are the other algorithms covered so far.,概述 由美国NIST提出,SHS (Secure Hash Standard),算法为SHA。 要求输入小于264位,输出为160位(5个寄存器,A, B, C, D, E)。将明文分成若干512位的定长块,每一块与当前的信息摘要值结合,产生信息摘要的下一个中间结果,直到处理完毕。共扫描5遍,效率略低于MD5,强度略高。 基本算法 初值:A = 67452301; B = EFCDAB89; C = 98BADCFE; D = 10

15、325476; E = C3D2E1F0 A、B、C、D、E分别被复制到AA、BB、CC、DD、EE,进行四回合迭代,每回合20步运算,每一步运算对A、B、C、D、E中的三个寄存器进行非线性操作,然后移位。每回合有一个常数k。,安全散列标准SHS,SHA-1 Compression Function,每一步基本运算: A, B, C, D, E (CLS5(A)+ft(B, C, D)+E+wt+kt), A, CLS30(B), C, D 其中,A, B, C, D, E为寄存器 t:步数 ft:基本逻辑函数 CLSx:左循环移位x位 wt:由输入导出的一个32位字 kt:常数 +:模232

16、的加运算 wt = Mt(输入的相应消息字), 0 = t = 15 wt = wt-3 wt-8 wt-14 wt-16, 16 = t = 79 SHA的安全性 类似MD5,增加扩展变换,160位输出,能对抗穷举攻击。,SHA-1 verses MD5,Brute force attack is harder (160 vs 128 bits for MD5) Not vulnerable to any known attacks (compared to MD4/5) A little slower than MD5 (80 vs 64 steps) Both designed as s

17、imple and compact Optimised for big endian CPUs (vs MD5 which is optimised for little endian CPUs) 对强行攻击的安全性;对密码分析的安全性;速度;简单性和紧凑性;小数在前结构和大数在前结构,Revised Secure Hash Standard,NIST have issued a revision FIPS 180-2 Adds 3 additional hash algorithms SHA-256, SHA-384, SHA-512 Designed for compatibility w

18、ith increased security provided by the AES cipher Structure & detail is similar to SHA-1 Hence analysis should be similar,2004年8月17日的美國加州聖巴巴拉,正在召開的國際密碼學會議(Crypto2004)安排了三場關於雜湊函數的特別報告。在國際著名密碼學家Eli Biham和Antoine Joux相繼做了對SHA-1的分析與給出SHA-0的一個碰撞之后,來自山東大學的王小雲教授做了破譯MD5、HAVAL-128、 MD4和RIPEMD算法的報告。在會場上,當她公布了

19、MD系列算法的破解結果之后,報告被激動的掌聲打斷。王小雲教授的報告轟動了全場,得到了與會專家的贊嘆。報告結束時,與會者長時間熱烈鼓掌,部分學者起立鼓掌致敬,這在密碼學會議上是少見的盛況。王小雲教授的研究成果證實了利用MD5算法的碰撞可以嚴重威脅信息系統安全,這一發現使目前電子簽名的法律效力和技術體系受到挑戰。 MD5的設計者,同時也是國際著名的公鑰加密算法標準RSA的第一設計者RRivest在郵件中寫道:“這些結果無疑給人非常深刻的印象,她應當得到我最熱烈的祝賀,當然,我並不希望看到MD5就這樣倒下,但人必須尊崇真理。”,Francois Grieu這樣說:“王小雲、馮登國、來學嘉和於紅波的最

20、新成果表明他們已經成功破譯了MD4、MD5、HAVAL-128、RIPEMD-128。並且有望以更低的復雜度完成對SHA-0的攻擊。一些初步的問題已經解決。他們贏得了非常熱烈的掌聲。” 另一位專家Greg Rose如此評價:“我剛剛聽了Joux和王小雲的報告,王所使用的技術能在任何初始值下用240次hash運算找出SHA-0的碰撞。她在報告中對四種HASH函數都給出了碰撞,她贏得了長時間的起立喝彩,(這在我印象中還是第一次)。 她是當今密碼學界的巾幗英雄。(王小雲教授的工作)技術雖然沒有公開,但結果是無庸質疑的,這種技術確實存在。 MD5破解專項網站關閉 MD5破解工程權威網站http:/ 是

21、為了公開征集專門針對MD5的攻擊而設立的,網站於2004年8月17日宣布:“中國研究人員發現了完整MD5算法的碰撞;Wang, Feng, Lai與Yu公布了MD5、MD4、HAVAL-128、RIPEMD-128幾個 Hash函數的碰撞。這是近年來密碼學領域最具實質性的研究進展。使用他們的技術,在數個小時內就可以找到MD5碰撞。由於這個里程碑式的發現,MD5CRK項目將在隨后48小時內結束”。,加拿大CertainKey公司早前宣布將給予發現MD5算法第一個碰撞人員一定的獎勵,CertainKey的初衷是利用並行計算機通過生日攻擊來尋找碰撞,而王小雲教授等的攻擊相對生日攻擊需要更少的計算時間

22、。著名計算機公司SUN的LINUIX專家Val Henson則說:“以前我們說“SHA-1可以放心用,其他的不是不安全就是未知“, 現在我們只能這麼總結了:“SHA-1不安全,其他的都完了“。 針對王小雲教授等破譯的以MD5為代表的Hash函數算法的報告,美國國家技術與標準局(NIST)於2004年8月24日發表專門評論,評論的主要內容為:“在最近的國際密碼學會議(Crypto 2004)上,研究人員宣布他們發現了破解數種HASH算法的方法,其中包括MD4,MD5,HAVAL-128,RIPEMD還有 SHA-0。分析表明,於1994年替代SHA-0成為聯邦信息處理標準的SHA-1的減弱條件的

23、變種算法能夠被破解;但完整的SHA-1並沒有被破解,也沒有找到SHA-1的碰撞。研究結果說明SHA-1的安全性暫時沒有問題,但隨著技術的發展,技術與標準局計划在2010年之前逐步淘汰SHA-1,換用其他更長更安全的算法(如SHA-224、SHA-256、SHA-384和SHA-512)來替代。”,期末论文题目(任选或自选),网络安全浅析 网络安全及防范技术 上网安全问题之探讨 计算机网络系统安全维护策略 谈网络的安全建设 计算机病毒与系统安全 IE使用安全策略研究 网络安全与入侵检测,计算机网络安全的管理与技术 电子商务安全策略问题的考虑 Web服务器的安全与认证技术 浅谈数据库系统的安全策略及其实现方案 电子商务的网络安全问题及其应对 操作系统的安全策略 Windows2000下的数据安全技术 站点安全防护及防火墙设计 网络协议的安全策略,要求:,中英文题目 中英文摘要 作者信息 论文正文 参考文献 字数3000字以上.,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报