詞語解釋 | 本詞語解釋貢獻者:wx_10274510
MD5是一種摘要算法,它可以將任意長度的輸入(又叫做消息)變換成一個128位的大整數(shù),用字符串表示為32個16進制的數(shù)字。MD5的全稱是“消息摘要算法5”,它是一種不可逆的算法,即不能從計算出來的MD5值反推出原始字符串。 MD5在通信中的應(yīng)用是用來保證數(shù)據(jù)的完整性和安全性。在數(shù)據(jù)傳輸過程中,MD5可以用來確保數(shù)據(jù)沒有被篡改,即保證數(shù)據(jù)的完整性。例如,在文件傳輸中,發(fā)送方可以在發(fā)送文件之前先將文件的內(nèi)容計算出一個MD5值,然后將文件和MD5值一起發(fā)送給接收方,接收方收到文件后,再重新計算一次文件的MD5值,比較兩次計算出來的MD5值,如果相同,則說明文件沒有被篡改,可以安全使用;如果不同,則說明文件被篡改了,不能安全使用。 此外,MD5還可以用來保證數(shù)據(jù)的安全性。例如,在密碼傳輸過程中,發(fā)送方可以先將用戶的密碼計算出一個MD5值,然后將MD5值發(fā)送給接收方,接收方收到MD5值后,再將用戶的密碼重新計算出一個MD5值,比較兩次計算出來的MD5值,如果相同,則說明用戶的密碼正確,可以安全使用;如果不同,則說明用戶的密碼不正確,不能安全使用。 總之,MD5在通信中的應(yīng)用是用來保證數(shù)據(jù)的完整性和安全性,它可以將任意長度的輸入變換成一個128位的大整數(shù),用字符串表示為32個16進制的數(shù)字,是一種不可逆的算法,不能從計算出來的MD5值反推出原始字符串。在數(shù)據(jù)傳輸過程中,可以用來確保數(shù)據(jù)沒有被篡改,也可以用來保證數(shù)據(jù)的安全性。 [onclick="userLogin(''http://baike.baidu.com/edit/id=7636&dl=1'');return false;">編輯本段]MD5的全稱是Message-digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc,的Ronald.L.Rivest開發(fā)出來,經(jīng)MD2、MD3和MD4發(fā)展而來。它的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密鑰前被"壓縮"成一種保密的格式(就是把一個任意長度的字節(jié)串變換成一定長的大整數(shù))。不管是MD2、MD4還是MD5,它們都需要獲得一個隨機長度的信息并產(chǎn)生一個128位的信息摘要。雖然這些算法的結(jié)構(gòu)或多或少有些相似,但MD2的設(shè)計與MD4和MD5完全不同,那是因為MD2是為8位機器做過設(shè)計優(yōu)化的,而MD4和MD5卻是面向32位的電腦。這三個算法的描述和c語言源代碼在Internet RFC 1321中有詳細的描述(http://www.ietf.org/rfc/rfc1321.txt),這是一份最權(quán)威的文檔,由Ronald.L.Rivest在1992年8月向IETF提交。 Rivest在1989年開發(fā)出MD2算法。在這個算法中,首先對信息進行數(shù)據(jù)補位,使信息的字節(jié)長度是16的倍數(shù)。然后,以一個16位的檢驗和追加到信息末尾。并且根據(jù)這個新產(chǎn)生的信息計算出散列值。后來,Rogier和Chauvaud發(fā)現(xiàn)如果忽略了檢驗和將產(chǎn)生MD2沖突。MD2算法的加密后結(jié)果是唯一的--即沒有重復(fù)。 為了加強算法的安全性,Rivest在1990年又開發(fā)出MD4算法。MD4算法同樣需要填補信息以確保信息的字節(jié)長度加上448后能被512整除(信息字節(jié)長度mod 512 = 448)。然后,一個以64位二進制表示的信息的最初長度被添加進來。信息被處理成512位damg?rd/merkle迭代結(jié)構(gòu)的區(qū)塊,而且每個區(qū)塊要通過三個不同步驟的處理。Den boer和Bosselaers以及其他人很快的發(fā)現(xiàn)了攻擊MD4版本中第一步和第三步的漏洞。Dobbertin向大家演示了如何利用一部普通的個人電腦在幾分鐘內(nèi)找到MD4完整版本中的沖突(這個沖突實際上是一種漏洞,它將導(dǎo)致對不同的內(nèi)容進行加密卻可能得到相同的加密后結(jié)果)。毫無疑問,MD4就此被淘汰掉了。 盡管MD4算法在安全上有個這么大的漏洞,但它對在其后才被開發(fā)出來的好幾種信息安全加密算法的出現(xiàn)卻有著不可忽視的引導(dǎo)作用。除了MD5以外,其中比較有名的還有sha-1、RIPEMD以及Haval等。 一年以后,即1991年,Rivest開發(fā)出技術(shù)上更為趨近成熟的md5算法。它在MD4的基礎(chǔ)上增加了"安全-帶子"(safety-belts)的概念。雖然MD5比MD4稍微慢一些,但卻更為安全。這個算法很明顯的由四個和MD4設(shè)計有少許不同的步驟組成。在MD5算法中,信息-摘要的大小和填充的必要條件與MD5完全相同。Den boer和Bosselaers曾發(fā)現(xiàn)MD5算法中的假沖突(pseudo-collisions),但除此之外就沒有其他被發(fā)現(xiàn)的加密后結(jié)果了。 Van oorschot和Wiener曾經(jīng)考慮過一個在散列中暴力搜尋沖突的函數(shù)(brute-force hash function),而且他們猜測一個被設(shè)計專門用來搜索MD5沖突的機器(這臺機器在1994年的制造成本大約是一百萬美元)可以平均每24天就找到一個沖突。但單從1991年到2001年這10年間,竟沒有出現(xiàn)替代MD5算法的MD6或被叫做其他什么名字的新算法這一點,我們就可以看出這個瑕疵并沒有太多的影響MD5的安全性。上面所有這些都不足以成為MD5的在實際應(yīng)用中的問題。并且,由于MD5算法的使用不需要支付任何版權(quán)費用的,所以在一般的情況下(非絕密應(yīng)用領(lǐng)域。但即便是應(yīng)用在絕密領(lǐng)域內(nèi),MD5也不失為一種非常優(yōu)秀的中間技術(shù)),MD5怎么都應(yīng)該算得上是非常安全的了。 2004年8月17日的美國加州圣巴巴拉的國際密碼學(xué)會議(Crypto’2004)上,來自中國山東大學(xué)的王小云教授做了破譯MD5、HAVAL-128、 MD4和RIPEMD算法的報告,公布了MD系列算法的破解結(jié)果。宣告了固若金湯的世界通行密碼標(biāo)準(zhǔn)MD5的堡壘轟然倒塌,引發(fā)了密碼學(xué)界的軒然大波。 MD5破解工程權(quán)威網(wǎng)站http://www.md5crk.com/ 是為了公開征集專門針對MD5的攻擊而設(shè)立的,網(wǎng)站于2004年8月17日宣布:“中國研究人員發(fā)現(xiàn)了完整MD5算法的碰撞;Wang, Feng, Lai與Yu公布了MD5、MD4、HAVAL-128、RIPEMD-128幾個 Hash函數(shù)的碰撞。這是近年來密碼學(xué)領(lǐng)域最具實質(zhì)性的研究進展。使用他們的技術(shù),在數(shù)個小時內(nèi)就可以找到MD5碰撞。……由于這個里程碑式的發(fā)現(xiàn),MD5CRK項目將在隨后48小時內(nèi)結(jié)束”。 MD5用的是哈希函數(shù),在計算機網(wǎng)絡(luò)中應(yīng)用較多的不可逆加密算法有RSA公司發(fā)明的MD5算法和由美國國家技術(shù)標(biāo)準(zhǔn)研究所建議的安全散列算法SHA. Message Digest algorithm 5,消息摘要算法第五版。 計算機安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保 護。MD5 以 512 位分組來處理輸入的信息,且每一分組又被劃分為 16 個 32 位子分組,經(jīng)過了一系列的處理后,算法的輸出由四個 32 位分組 組成,將這四個 32 位分組級聯(lián)后將生成一個 128 位散列值。
[onclick="userLogin(''http://baike.baidu.com/edit/id=7636&dl=1'');return false;">編輯本段]MD5的全稱是Message-digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc,的Ronald.L.Rivest開發(fā)出來,經(jīng)MD2、MD3和MD4發(fā)展而來。它的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密鑰前被"壓縮"成一種保密的格式(就是把一個任意長度的字節(jié)串變換成一定長的大整數(shù))。不管是MD2、MD4還是MD5,它們都需要獲得一個隨機長度的信息并產(chǎn)生一個128位的信息摘要。雖然這些算法的結(jié)構(gòu)或多或少有些相似,但MD2的設(shè)計與MD4和MD5完全不同,那是因為MD2是為8位機器做過設(shè)計優(yōu)化的,而MD4和MD5卻是面向32位的電腦。這三個算法的描述和c語言源代碼在Internet RFC 1321中有詳細的描述(http://www.ietf.org/rfc/rfc1321.txt),這是一份最權(quán)威的文檔,由Ronald.L.Rivest在1992年8月向IETF提交。 Rivest在1989年開發(fā)出MD2算法。在這個算法中,首先對信息進行數(shù)據(jù)補位,使信息的字節(jié)長度是16的倍數(shù)。然后,以一個16位的檢驗和追加到信息末尾。并且根據(jù)這個新產(chǎn)生的信息計算出散列值。后來,Rogier和Chauvaud發(fā)現(xiàn)如果忽略了檢驗和將產(chǎn)生MD2沖突。MD2算法的加密后結(jié)果是唯一的--即沒有重復(fù)。 為了加強算法的安全性,Rivest在1990年又開發(fā)出MD4算法。MD4算法同樣需要填補信息以確保信息的字節(jié)長度加上448后能被512整除(信息字節(jié)長度mod 512 = 448)。然后,一個以64位二進制表示的信息的最初長度被添加進來。信息被處理成512位damg?rd/merkle迭代結(jié)構(gòu)的區(qū)塊,而且每個區(qū)塊要通過三個不同步驟的處理。Den boer和Bosselaers以及其他人很快的發(fā)現(xiàn)了攻擊MD4版本中第一步和第三步的漏洞。Dobbertin向大家演示了如何利用一部普通的個人電腦在幾分鐘內(nèi)找到MD4完整版本中的沖突(這個沖突實際上是一種漏洞,它將導(dǎo)致對不同的內(nèi)容進行加密卻可能得到相同的加密后結(jié)果)。毫無疑問,MD4就此被淘汰掉了。 盡管MD4算法在安全上有個這么大的漏洞,但它對在其后才被開發(fā)出來的好幾種信息安全加密算法的出現(xiàn)卻有著不可忽視的引導(dǎo)作用。除了MD5以外,其中比較有名的還有sha-1、RIPEMD以及Haval等。 一年以后,即1991年,Rivest開發(fā)出技術(shù)上更為趨近成熟的md5算法。它在MD4的基礎(chǔ)上增加了"安全-帶子"(safety-belts)的概念。雖然MD5比MD4稍微慢一些,但卻更為安全。這個算法很明顯的由四個和MD4設(shè)計有少許不同的步驟組成。在MD5算法中,信息-摘要的大小和填充的必要條件與MD5完全相同。Den boer和Bosselaers曾發(fā)現(xiàn)MD5算法中的假沖突(pseudo-collisions),但除此之外就沒有其他被發(fā)現(xiàn)的加密后結(jié)果了。 Van oorschot和Wiener曾經(jīng)考慮過一個在散列中暴力搜尋沖突的函數(shù)(brute-force hash function),而且他們猜測一個被設(shè)計專門用來搜索MD5沖突的機器(這臺機器在1994年的制造成本大約是一百萬美元)可以平均每24天就找到一個沖突。但單從1991年到2001年這10年間,竟沒有出現(xiàn)替代MD5算法的MD6或被叫做其他什么名字的新算法這一點,我們就可以看出這個瑕疵并沒有太多的影響MD5的安全性。上面所有這些都不足以成為MD5的在實際應(yīng)用中的問題。并且,由于MD5算法的使用不需要支付任何版權(quán)費用的,所以在一般的情況下(非絕密應(yīng)用領(lǐng)域。但即便是應(yīng)用在絕密領(lǐng)域內(nèi),MD5也不失為一種非常優(yōu)秀的中間技術(shù)),MD5怎么都應(yīng)該算得上是非常安全的了。 2004年8月17日的美國加州圣巴巴拉的國際密碼學(xué)會議(Crypto’2004)上,來自中國山東大學(xué)的王小云教授做了破譯MD5、HAVAL-128、 MD4和RIPEMD算法的報告,公布了MD系列算法的破解結(jié)果。宣告了固若金湯的世界通行密碼標(biāo)準(zhǔn)MD5的堡壘轟然倒塌,引發(fā)了密碼學(xué)界的軒然大波。 MD5破解工程權(quán)威網(wǎng)站http://www.md5crk.com/ 是為了公開征集專門針對MD5的攻擊而設(shè)立的,網(wǎng)站于2004年8月17日宣布:“中國研究人員發(fā)現(xiàn)了完整MD5算法的碰撞;Wang, Feng, Lai與Yu公布了MD5、MD4、HAVAL-128、RIPEMD-128幾個 Hash函數(shù)的碰撞。這是近年來密碼學(xué)領(lǐng)域最具實質(zhì)性的研究進展。使用他們的技術(shù),在數(shù)個小時內(nèi)就可以找到MD5碰撞。……由于這個里程碑式的發(fā)現(xiàn),MD5CRK項目將在隨后48小時內(nèi)結(jié)束”。 MD5用的是哈希函數(shù),在計算機網(wǎng)絡(luò)中應(yīng)用較多的不可逆加密算法有RSA公司發(fā)明的MD5算法和由美國國家技術(shù)標(biāo)準(zhǔn)研究所建議的安全散列算法SHA. Message Digest algorithm 5,消息摘要算法第五版。 計算機安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保 護。MD5 以 512 位分組來處理輸入的信息,且每一分組又被劃分為 16 個 32 位子分組,經(jīng)過了一系列的處理后,算法的輸出由四個 32 位分組 組成,將這四個 32 位分組級聯(lián)后將生成一個 128 位散列值。
抱歉,此頁面的內(nèi)容受版權(quán)保護,復(fù)制需扣除次數(shù),次數(shù)不足時需付費購買。
如需下載請點擊:點擊此處下載
掃碼付費即可復(fù)制
RTWP | PDCP | 呼叫類型 | 用戶手冊 | Uplink | qxdm | 威睿電通 | IOI | 擴頻 | 優(yōu)先級 | 無線 | EMLPP |
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助