MD6訊息摘要演算法是一個密碼雜湊函數。它使用默克爾樹形式的結構,允許對很長的輸入並列進行大量雜湊計算。作者稱,在英特爾酷睿2雙核CPU上,MD6-256的效能為每位元組28個時鐘周期,並可證明的有抗差分密碼分析能力。[2]參考實現原始碼MIT許可證下發佈。 [3]

MD6
概述
設計者Ronald Rivest英語Ronald Rivest, Benjamin Agre, Dan Bailey, Sarah Cheng, Christopher Crutchfield, Yevgeniy Dodis, Kermin Fleming, Asif Khan, Jayant Krishnamurthy, Yuncheng Lin, Leo Reyzin, Emily Shen, Jim Sukha, Eran Tromer, Yiqun Lisa Yin英語Yiqun Lisa Yin
首次發佈2008年
系列MD2MD4MD5、MD6
細節
摘要長度可變,0<d≤512位元
結構默克爾樹
重複回數可變,預設:Unkeyed=40+[d/4], Keyed=max(80,40+(d/4)) [1]

據介紹,在16核CPU架構上對長訊息的處理速度可能超過1 GB/秒。

2008年12月,Fortify Software英語Fortify Software的Douglas Held在原始MD6雜湊演算法的參考實現中發現了緩衝區溢位問題。此錯誤後由羅納德·李維斯特於2009年2月19日公佈,Fortify的報告發佈前已發佈更正的參考實現。 [4]

MD6被提交到NIST SHA-3競賽英語NIST hash function competition。但2009年7月1日,Rivest在NIST上評論說,由於速度問題,MD6尚未準備好成為SHA-3的候選者。在所提交的證明能抵抗差分攻擊的MD6版本中發現了一個缺陷,且無法為速度更快的減法版本提供同樣的證明。 [5]儘管Rivest在MD6網站上也表示未正式撤回,[6]MD6沒有進入SHA-3競賽的第二輪。 2011年9月,MD6網站上發佈了一篇論文,提供了改進的證明,以及更快的減少回數並可抗差分攻擊的版本[7][8]

參見

參考文獻

  1. ^ Ronald L. Rivest等,The MD6 Hash Function頁面存檔備份,存於互聯網檔案館), Crypto 2008
  2. ^ Ronald L. Rivest. The MD6 hash function A proposal to NIST for SHA-3. [2021-01-07]. (原始內容存檔於2020-11-09). 
  3. ^ readme.txt. [2021-01-07]. (原始內容存檔於2018-04-15). 
  4. ^ Fortify-SHA-3-Report (PDF). [2021-01-07]. (原始內容 (PDF)存檔於2012-02-22). 
  5. ^ Rivest, Ronald. OFFICIAL COMMENT: MD6. July 1, 2009 [September 27, 2011]. (原始內容存檔於2020-01-28). 
  6. ^ Schneier, Bruce. MD6 Withdrawn from SHA-3 Competition. July 1, 2009 [July 9, 2009]. (原始內容存檔於2012-03-21). 
  7. ^ Heilman, Ethan. Restoring the Differential Resistance of MD6. July 10, 2011 [September 27, 2011]. (原始內容存檔於2019-02-19). 
  8. ^ Heilman, Ethan. Improved Differential Analysis. September 2011 [September 27, 2011]. (原始內容存檔於2020-06-07). 

外部連結