跳轉到內容

密碼學/MD5

來自華夏公益教科書,自由的教科書,為了一個開放的世界

MD5 是一個流行的雜湊函式,被世界各地許多人使用。由麻省理工學院的羅納德·李維斯特教授開發。

它有兩個目的:

  1. 驗證檔案在特定時間段後的完整性
  2. 為特定資料(例如:檔案)生成雜湊值並存儲它們,以便日後交叉檢查檔案是否被修改(這實質上是上面提到的第一點)

例如,在一個名為“SAMPLE.TXT”的系統上,MD5 雜湊看起來像這樣:

檔名 雜湊值
C:\SAMPLE.TXT BC8FEFECA210FC0C0F3EBC1614A37889

MD5 接收任意長度的訊息作為輸入,並輸出 128 位的“指紋”或“訊息摘要”作為輸出。據推測,在計算上不可能產生任何具有給定預先指定目標訊息摘要的訊息。MD5 演算法最初用於數字簽名應用,其中必須以安全的方式“壓縮”大型檔案,然後使用私鑰(秘密)在公鑰密碼系統(如 RSA)下進行簽名。但是,MD5 的抗碰撞性存在實際攻擊[1],因此不應將其用於數字簽名或任何其他需要抗碰撞性的應用程式。

確切的技術資訊在 RFC:1321 (作為 HTML) 中描述。

參考資料

[編輯 | 編輯原始碼]
  1. 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/
華夏公益教科書