md5逆演算法
① md5加密可逆嗎
不可逆。但是不建議用來加密密碼,因為密碼長度和復雜度不夠的話,可以通過字典來撞。
② md5密碼計算的逆運算具體怎麼搞啊,介紹一下方法,謝謝了
關於MD5演算法破解對實際應用影響的討論國家信息中心信息安全研究與服務中心李丹北京天威誠信電子商務服務有限公司龍毅宏摘要:在2004國際密碼學會議(Crypto』2004)上,王小雲教授公布了破解MD5演算法的研究成果,引起了密碼學界轟動,國內有些媒體甚至認為這一破解會導致數字簽名安全大廈的轟然倒塌,那麼,實際情況究竟是怎樣的呢?本文就MD5演算法破解對實際應用的影響進行分析討論,回答了這個問題。正文:在2004年8月17日美國加州聖巴巴拉召開的國際密碼學會議(Crypto』2004)上,來自中國山東大學的王小雲教授做了破解MD5演算法的報告。當她公布了她的研究結果之後,會場上響起激動的掌聲。王小雲教授的報告轟動了全場,得到了與會專家的贊嘆。國內有些媒體甚至認為這一破解會導致數字簽名安全大廈的轟然倒塌。那麼,實際應用的情況究竟是怎樣的呢? MD5是一種散列演算法(Hash function),又稱為哈希演算法、消息摘要演算法,它的作用是獲取數字信息的特徵(我們有時稱之為「信息指紋)。一個任意長度的任意數字信息,通過散列演算法運算後,會產生一串固定長度(比如160bit)的數字信息,稱為散列值(或哈希值、消息摘要)。安全的散列演算法有這樣的特點:⑴ 兩個不同數字信息產生同樣的 散列值的概率是非常小的(小到現實中幾乎無法發生);⑵ 僅從散列值無法演推出原信息;⑶ 原信息的微小改變,哪怕只改變一位(bit),將導致散列值的很大變化。數字簽名要使用散列值。MD5是一種常用散列演算法,另外目前常用的散列演算法還有SHA-1。兩個不同的數字信息產生相同的散列值就是人們所說的「散列值碰撞「。散列演算法是一個將無窮維空間的信息映射到有限維空間的變換,學過數學的人都知道這不是一個一一對應的變換。實際上一個散列值可能對應有無窮多個數字信息,換言之,會有無窮多個數字信息產生同樣一個散列值。這點是研究密碼的人眾所周知的,而不像有些媒體所說的那樣,散列值是唯一的。一個安全散列演算法的安全性是基於這樣的假設,知道一個信息A的散列值H,很難找到,或者從H倒推出另一個信息B具有同樣的散列值H。中國學者的發現是這樣的,對於MD5散列演算法,針對某些信息集合,找到了一種方法,當我們知道它的散列值H時,能推出一個信息數據B具有同樣的MD5散列H。需要強調的是,王小雲教授的破解演算法是一個概率性的破解演算法,只對部分信息集合適用。這當然是密碼學界的一個重大發現,這說明了MD5不像我們原先認為的那樣安全。但是,這個研究發現的實際影響要遠遠小於它的理論意義。這可以從以下幾方面加以說明。根據MD5破解演算法,對一個信息A及其散列值H,我們有可能推出另一個信息B,它的MD5散列值也是H 。現在的問題是,如果A是一個符合預先約定格式的、有一定語義的信息,那麼演推出的信息B將不是一個符合約定格式、有語義的信息。比如說,A是一個甚於Word文檔的、有語義的電子合同,而B卻不可能是一個剛好符合Word格式的文檔,只能是一堆亂碼,也就是說,B不可能是一個有效的、有意義的並且符合偽造者期望的電子合同。再比如說,A是一個符合X509格式的數字證書,那麼我們推出的B不可能剛好也是一個符合X509格式而且是偽造者希望的數字證書。還有我們知道,電子合同是需要雙方、甚至多方電子簽名的。對於雙方簽名,這相當於我們先產生A的散列值H1,然後對A和H1合起來的信息進一步產生散列值H2。我們目前的研究發現還無法找到一個方法,推出一個信息B剛好產生同樣的H1和H2。(這個B是一定存在的!只是目前不知道怎樣找!)其次,MD5被破解了,我們現在還有SHA-1等其他散列演算法,以後還可以有新的、更安全的散列演算法。總之,這里MD5演算法的破解對實際應用的沖擊要遠遠小於它的理論意義,不會造成PKI、數字簽 名安全體系的崩潰,這也是為什麼MD5散列演算法的破解並沒有造成密碼界、PKI行業的恐慌的原因。當然,我們也為中國人在密碼學上取得的傑出成就起立鼓掌。 參考文獻【1】 2004國際密碼學會議(Crypto』2004)破譯MD5、HAVAL-128、 MD4和RIPEMD演算法的報告王小雲等【2】 應用密碼學,Bruce Schneier著,吳世忠等譯。 http://www.chinesebloger.com
③ md5可逆嗎
MD5作為一種校驗手段而不是加密手段。在內容位元組長度小於MD5值的位元組長度,是可逆的,但存在重復的可能。
由於概率較低,且基於加密前內容一般可識讀,所以你懂的為毛有那麼多md5解密的網站,但是又有人說md5絕對不可逆。首先md5不是加密,只是根據已有數據生成特徵值,用於簽名,完整性檢查。好的散列演算法要求a到b容易,但找到能生成b的數據難;a變動一點點,b完全不一樣。md5是單向函數,所以他是不可逆的,有人說,為什麼網上能解密,那並不是真正意思的解密,而是採用暴力破解的方式去猜測這個密碼。
④ 山東大學的王小雲真的研究出了MD5的逆向演算法嗎
MD5是不可能逆向的。王教授的碰撞法是利用了MD5或者SHA1演算法的一個特性,根據MD5和SHA1等Hash演算法的特點,因為他們是任意長度的字元串變成固定長度的摘要信息。那麼這里就有可能發生一個問題,就是不同的字元串在理論上是有可能產生相同的摘要信息。王教授所謂的碰撞法,碰撞的就是不同的字元串所產生的摘要信息是一樣的那些字元串。因此得名碰撞法。 碰撞就是體現在這里。沒有什麼其它的傳神的東西了。根據SHA1和MD5等Hash演算法,在設計時候,設計這個演算法的人認為不同的字元串要產生相同結果的摘要信息的可能性幾乎為零。而王教授則證明了SHA1和MD5等Hash演算法產生的摘要信息規則是可以在比較短時間內被破解的。這樣一來,原始數據的 Integrity 就被打破了。 所謂的破解,也就是體現在這里。至於破解工具,下面的地址提供一些免費的破解服務,能破解一些簡單的密碼,其實都是採用字典或暴力破解。 www.cmd5.com www.xmd5.org我有時去破解一些常用的密碼,有一定的成功率
⑤ 求:MD5逆運算演算法
對MD5演算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。
第一步、填充:如果輸入信息的長度(bit)對512求余的結果不等於448,就需要填充使得對512求余的結果等於448。填充的方法是填充一個1和n個0。填充完後,信息的長度就為N*512+448(bit);
第二步、記錄信息長度:用64位來存儲填充前信息長度。這64位加在第一步結果的後面,這樣信息長度就變為N*512+448+64=(N+1)*512位。
第三步、裝入標準的幻數(四個整數):標準的幻數(物理順序)是(A=(01234567)16,B=(89ABCDEF)16,C=(FEDCBA98)16,D=(76543210)16)。如果在程序中定義應該是(A=0X67452301L,B=0XEFCDAB89L,C=0X98BADCFEL,D=0X10325476L)。
⑥ 為什麼md5哈希值是不可逆
MD5即Message-Digest Algorithm 5(信息-摘要演算法5),用於確保信息傳輸完整一致。
MD5的作用是讓大容量信息在用數字簽名軟體簽署私人密鑰前被"壓縮"成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的十六進制數字串)。
MD5屬於消息摘要,不屬於嚴格意義上的加密演算法。它只是將數據按照指定演算法壓縮成長度固定的摘要信息,並非用於還原數據。
舉個簡單的例子,摘要演算法就好比將一本書的每一頁第一個字的筆畫數計算出來,並拼接在一起,組成了一個很長的數字串。不論何時,按相同的演算法計算這本書的摘要,都是完全一樣的。但通過這個數字串,無法還原出書中的數據,即過程不可逆。md5演算法類似於這種計算摘要的思想,只是具體實現要復雜很多。