MD5 算法介紹

MD5算法介紹

[2006-01-06 22:24:23] [來源: www.feelingme.cn] [我要投稿]

本文章地址:http://tech.163.com/06/0106/22/26QM1J230009159F.html [點此複製地址]

MD5算法簡介

MD5即Message-Digest Algorithm 5(信息-摘要算法5),是一種用於產生數字簽名的單項散列算法,在1991年由MIT Laboratory for Computer Science(IT計算機科學實驗室)和RSA Data Security Inc(RSA數據安全公司)的Ronald L. Rivest教授開發出來,經由MD2、MD3和MD4發展而來。MD5算法的使用不需要支付任何版權費用。它的作用是讓大容量信息在用數字簽名軟件籤私人密匙前被"壓縮"成一種保密的格式(將一個任意長度的“字節串”通過一個不可逆的字符串變換算法變換成一個128bit的大整數,換句話說就是,即使你看到源程序和算法描述,也無法將一個MD5的值變換回原始的字符串,從數學原理上說,是因爲原始的字符串有無窮多個,這有點象不存在反函數的數學函數。)

MD5算法應用

其典型應用是對一段Message(字節串)產生Fingerprint(指紋),以防止被篡改。比如,在UNIX下有很多軟件在下載的時候都有一個文件名相同,文件擴展名爲.md5的文件,在這個文件中通常只有一行文本,大致結構爲: MD5 (httpd-2.2.0.tar.bz2) =

402b90a2e47205f94b3b1d91e1a8c459,這就是httpd-2.2.0.tar.bz2文件的數字簽名。MD5將整個文件當作一個大文本信息,通過其不可逆的字符串變換算法,產生了這個唯一的MD5信息摘要。如果在以後傳播這個文件的過程中,無論文件的內容發生了任何形式的改變(包括人爲修改,如Repack進木馬病毒,或者下載過程中線路不穩定引起的傳輸錯誤等),只要你對這個文件重新計算MD5時就會發現信息摘要不相同,由此可以確定你得到的只是一個不正確的文件。

MD5還廣泛用於加密和解密技術上。例如在UNIX系統中用戶的密碼就是以MD5(或其它類似算法)經加密後存儲在文件系統中。當用戶登錄時,系統把用戶輸入的密碼計算成MD5值,然後再去和保存在文件系統中的MD5值進行比較,進而確定輸入的密碼是否正確。通過這樣的步驟,系統在並不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統的合法性。這不但可以避免用戶的密碼被具有系統管理員權限的用戶知道,而且還在一定程度上增加了密碼被破解的難度。

MD5算法簡要描述

MD5以512位分組來處理輸入的信息,且每一分組又被劃分爲16個32位子分組,經過了一系列的處理後,算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。

計算MD5的工具

WinMD5 v2.05(需要.NET運行庫):http://www.blisstonia.com/software/WinMD5/WinMD5v2.05.zip

WinMD5 v1.1(無需.NET支持): http://www.blisstonia.com/software/WinMD5/WinMD5v1.1.zip

HashCalc v2.01:http://www.slavasoft.com/zip/hashcalc.zip

HashTab Windows Shell Extension v1.9:http://beeblebrox.org/hashtab/hashtab_setup.exe

參考資源

RFC 1321(Request for Comments document for The MD5 Message-Digest Algorithm),由Ronald Rivest在1992年8月提交給IEFT:

http://www.ietf.org/rfc/rfc1321.txt

http://www.faqs.org/rfcs/rfc1321

What are MD2, MD4, and MD5?

http://www.rsasecurity.com/rsalabs/node.asp?id=2253

密碼學領域重大發現:山東大學王小云教授成功破解MD5

http://www.view.sdu.edu.cn/news/news/sdyw/2004-09-04/1094261946.html

原文鏈接:http://www.feelingme.cn/bbs/read.php?tid=873&fpage=4&toread=&page=1

發佈了97 篇原創文章 · 獲贊 1 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章