密碼學/MD5
外觀
< 密碼學
MD5 是一個流行的雜湊函式,被世界各地許多人使用。由麻省理工學院的羅納德·李維斯特教授開發。
它有兩個目的:
- 驗證檔案在特定時間段後的完整性
- 為特定資料(例如:檔案)生成雜湊值並存儲它們,以便日後交叉檢查檔案是否被修改(這實質上是上面提到的第一點)
例如,在一個名為“SAMPLE.TXT”的系統上,MD5 雜湊看起來像這樣:
| 檔名 | 雜湊值 |
|---|---|
| C:\SAMPLE.TXT | BC8FEFECA210FC0C0F3EBC1614A37889 |
MD5 接收任意長度的訊息作為輸入,並輸出 128 位的“指紋”或“訊息摘要”作為輸出。據推測,在計算上不可能產生任何具有給定預先指定目標訊息摘要的訊息。MD5 演算法最初用於數字簽名應用,其中必須以安全的方式“壓縮”大型檔案,然後使用私鑰(秘密)在公鑰密碼系統(如 RSA)下進行簽名。但是,MD5 的抗碰撞性存在實際攻擊[1],因此不應將其用於數字簽名或任何其他需要抗碰撞性的應用程式。
確切的技術資訊在 RFC:1321 (作為 HTML) 中描述。
- ↑ 1Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger: MD5 considered harmful today - Creating a rogue CA certificate http://www.win.tue.nl/hashclash/rogue-ca/