2016012086+杨岚青+散列函数应用及安全性
1、給出散列函數(shù)的具體應用
(1)消息認證,防止系統(tǒng)遭到主動攻擊。有兩個方面的目的:
a.驗證消息的發(fā)送者是真的。
b.驗證數(shù)據(jù)完整性,消息在傳輸、存儲過程中未被篡改、重放或延遲,由于雪崩性,稍有改動一比對就會發(fā)現(xiàn)。
(2)產(chǎn)生數(shù)字簽名:計算H(m),然后私鑰加密,確認信息發(fā)布者,提供身份認證和不可抵賴性。
(3)密鑰推導:天生單向性,密鑰導出函數(shù)(KDF),用于將密鑰擴展到更長的密鑰或獲得所需格式的密鑰。
(4)偽隨機數(shù)生成:通常使用TRNG來產(chǎn)生種子。不知道種子情況下,不管知道序列多少位,都無法預測下一位,從產(chǎn)生的任何值都不能推斷出種子值。
2、 結(jié)合生日攻擊、以及2004、2005年王曉云教授有關MD5安全性和2017年google公司SHA-1的安全性,說明散列函數(shù)的安全性以及目前安全散列函數(shù)的發(fā)展。
散列函數(shù)的安全性
(1)先說一下生日攻擊,生日攻擊法可用于攻擊任何Hah算法,只依賴于Hash值的長度。生日悖論:在一個教室里只要有23或23以上的人數(shù),至少有兩個人生日相同的概率就大于等于0.5;在一個教室中,找一個生日與某人生日相同的概率不小于0.5時,只需要有學生183人。在碰撞中,使用生日攻擊,當進行2^(n/2)次的選擇明文攻擊下成功的概率將超過0.63。所以生日攻擊對散列函數(shù)安全性是非常大的,生日攻擊對散列函數(shù)的安全提出一個必要條件,消息一定要夠長。統(tǒng)計結(jié)果表明,當Hash值長度為128比特時,任意兩個報文M1、M2具有相同hash值的概率接近零。標準安全hash值為160比特。
(2)MD5。先了解了一下MD5的加密過程
1.消息填充:將消息長度填充至差64位就是512的倍數(shù)。那64位是表示填充長度的,是先從低位表示填充長度的。
?
2.填充后的消息是512的倍數(shù),然后按512分組,每組又是16個32位長的字。
?
3.初始化中間結(jié)果:128位的緩存區(qū)來存儲中間結(jié)果,對其初始化4個32位長的寄存器分別存放四個固定的整數(shù)。
4.迭代壓縮:每個分組經(jīng)壓縮函數(shù)HMD5處理。
?
5.????輸出:最后一個HMD5的輸出即為消息摘要。
王小云教授的成就是找到了MD5迅速碰撞的方法,這是個巨大的進步,但距離實用價值還有很大距離。哈希函數(shù)是不可逆的,從MD5哈希值反向推出原始信息是不可能的,王教授只是找到了快速碰撞的方法。就是根據(jù)MD5哈希值快速找到另外一個報文也是這個哈希值,但是理論上一個MD5哈希值對應無窮多的原始報文,目前想根據(jù)MD5哈希值對原始報文信息進行篡改還是不可能的。
(3)SHA-1。與前身MD5相比,SHA-1的輸出長度更長(MD5輸出長度為128bit,而SHA-1的輸出長度為160bit),這也意味著出現(xiàn)哈希碰撞的概率更低。同時,SHA-1的安全性似乎也比MD5更好。王小云教授所在的團隊提出了一個一種尋找SHA-1碰撞的,相對快速的攻擊方法,這標志著SHA-1存在漏洞。
目前安全散列函數(shù)的發(fā)展
2004年8月中國密碼學家王小云教授等首次公布了提出一種尋找MD5碰撞的新方法。目前利用該方法用普通微機幾分鐘內(nèi)即可找到MD5的碰撞,MD5已經(jīng)被徹底攻破。MD5已經(jīng)受了重傷;它的應用就要淘汰。SHA-1仍然活著,但也不會很長。著名計算機公司SUN的LINUX專家Val Henson則說:“以前我們說"SHA-1可以放心用,其他的不是不安全就是未知", 現(xiàn)在我們只能這么總結(jié)了:"SHA-1不安全,其他的都完了"。近些年,應用最廣泛的散列函數(shù)是SHA。
● 1995年公布SHA-1
● 2002年,公布了SHA-2(SHA-256、SHA-384、SHA-512)
● 2008年,增加了SHA-224
針對王小云教授等破譯的以MD5為代表的Hash函數(shù)算法的報告,美國國家技術(shù)與標準局(NIST)于2004年8月24日發(fā)表專門評論,評論的主要內(nèi)容為:“在最近的國際密碼學會議(Crypto 2004)上,研究人員宣布他們發(fā)現(xiàn)了破解數(shù)種HASH算法的方法,其中包括MD4,MD5,HAVAL-128,RIPEMD還有 SHA-0。分析表明,于1994年替代SHA-0成為聯(lián)邦信息處理標準的SHA-1的減弱條件的變種算法能夠被破解;但完整的SHA-1并沒有被破解,也沒有找到SHA-1的碰撞。研究結(jié)果說明SHA-1的安全性暫時沒有問題,但隨著技術(shù)的發(fā)展,技術(shù)與標準局計劃在2010年之前逐步淘汰SHA-1,換用其他更長更安全的算法(如SHA-224、SHA-256、SHA-384和SHA-512)來替代。”
現(xiàn)在Google,facebook,微軟,蘋果等早已經(jīng)換成了暫時安全的sha-256,sha-512等算法,屬于sha-2系列,發(fā)布快十五年了,應該很快就可以看到國際主流的網(wǎng)站更換sha-3算法了。
3、md5算法來驗證軟件完整性時可能出現(xiàn)的問題
(1)對于第二個鏈接中的helloworld.exe和goodbyworld.exe兩個可執(zhí)行文件,會打印出不同的字符,但它們的MD5是一樣的。密碼學家曾使用“構(gòu)造前綴碰撞法”來進行攻擊,用了不到兩天,得出結(jié)論:MD5算法不應再用于任何軟件完整性檢查或代碼簽名的用途!現(xiàn)在,如果僅僅是想要生成 MD5 相同而內(nèi)容不同的文件的話,在任何主流配置的電腦上用幾秒鐘就可以完成了。
這幾位密碼學家編寫的“快速 MD5 碰撞生成器”:
http://www.win.tue.nl/hashclash/fastcoll_v1.0.0.5.exe.zip
源代碼:http://www.win.tue.nl/hashclash/fastcoll_v1.0.0.5_source.zip
(2)簽名算法受到威脅。王小云教授發(fā)現(xiàn),可以很快的找到MD5的“碰撞”,就是兩個文件可以產(chǎn)生相同的“指紋”。這意味著,當你在網(wǎng)絡上使用電子簽名簽署一份合同后,還可能找到另外一份具有相同簽名不同內(nèi)容的合同,這樣兩份合同的真?zhèn)涡员銦o從辨別。王小云教授的研究成果證實了利用MD5算法的碰撞可以嚴重威脅信息系統(tǒng)安全,這一發(fā)現(xiàn)使目前電子簽名的法律效力和技術(shù)體系受到威脅。
?
轉(zhuǎn)載于:https://www.cnblogs.com/yanglqa/p/9032289.html
總結(jié)
以上是生活随笔為你收集整理的2016012086+杨岚青+散列函数应用及安全性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ScalaPB(4): 通用跨系统pro
- 下一篇: 20155338 《网络攻防》 Exp7