散列函數安全性概要

本文總結了已知公開的針對密碼雜湊函數攻擊。請注意,此列表可能不及最新研究成果新。有關其他參數的摘要,請參閱密碼散列函數比較英語Comparison of cryptographic hash functions

圖例

編輯
  沒有攻擊——攻擊只能用於散列函數的一個簡化版本,或攻擊複雜性比散列自身聲明的最低值還高
  攻擊理論可行——攻擊可用於完整的散列函數,攻擊複雜性也比散列函數原先聲明的最低值要低
  攻擊實際可行

常用散列函數

編輯

抗碰撞

編輯
散列函數 安全聲明 最佳攻擊[a] 發表日期 注釋
MD5 264 218時間 2013-03-25 在普通PC上只需幾秒鐘。雙塊碰撞[b]需218,單塊碰撞需241[1]
SHA-1 280 263.1 2017-02-23 論文發表。[2]
SHA256 2128 64輪中的31輪(265.5 2013-05-28 雙塊碰撞。[3]
SHA512 2256 80輪中的24輪(232.5 2008-11-25 論文發表。[4]
SHA-3 最大2512 25輪中的6輪(250 2017 論文發表。[5]
BLAKE2s 2128 10輪中的2.5輪(2112 2009-05-26 論文發表。[6]
BLAKE2b 2256 12輪中的2.5輪(2224 2009-05-26 論文發表。[6]

選擇前綴碰撞攻擊

編輯
散列函數 安全聲明 最佳攻擊 發表日期 注釋
MD5 264 239 2009-06-16 普通PC上需數小時。[7]
SHA-1 280 277.1 2012-06-19 論文發表。[8]
SHA256 2128
SHA512 2256
SHA-3 最大2512
BLAKE2s 2128
BLAKE2b 2256

抗原像

編輯
散列函數 安全聲明 最佳攻擊 發表日期 注釋
MD5 2128 2123.4 2009-04-27 論文發表。[9]
SHA-1 2160 80輪中的45輪 2008-08-17 論文發表。[10]
SHA256 2256 64輪中的43輪(2254.9時間,26內存) 2009-12-10 論文發表。[11]
SHA512 2512 80輪中的46輪(2511.5時間,26內存) 2008-11-25 論文發表[12],且有更新[11]
SHA-3 最大2512
BLAKE2s 2256 10輪中的2.5輪(2241 2009-05-26 論文發表。[6]
BLAKE2b 2256 12輪中的2.5輪(2481 2009-05-26 論文發表。[6]

其他散列函數

編輯

抗碰撞

編輯
散列函數 安全聲明 最佳攻擊 發表日期 注釋
GOST 2128 2105 2008-08-18 論文發表。[13]
HAVAL-128 264 27 2004-08-17 2004年報道了碰撞方法[14],2005年發表了密碼學分析報告[15]
MD2 264 263.3時間,252內存 2009 比生日攻擊的計算成本略低[16],但對內存的要求使其實際應用變得不現實。
MD4 264 3次操作 2007-03-22 發現碰撞幾乎與驗證它們一樣快。[17]
PANAMA 2128 26 2007-04-04 論文發表[18],改進自2001年的理論攻擊[19]
RIPEMD(原始版本) 264 218時間 2004-08-17 2004年報道了碰撞方法[14],2005年發表了密碼學分析報告[20]
RadioGatún 最大2608[c] 2704 2008-12-04 對於介於1-64位之間的字大小w,散列聲明29.5w安全性。攻擊可以在211w時間內發現碰撞。[21]
RIPEMD-160 280 80輪中的48輪(251時間) 2006 論文發表。[22]
SHA-0 280 233.6時間 2008-02-11 使用迴旋鏢攻擊的雙塊碰撞。平均上使用PC攻擊估計需要1小時。[23]
Streebog 2256 12輪中的9.5輪(2176時間,2128內存) 2013-09-10 反彈攻擊[24]
Whirlpool 2256 10輪中的4.5輪(2120時間) 2009-02-24 反彈攻擊。[25]

抗原像

編輯
散列函數 安全聲明 最佳攻擊 發表日期 注釋
GOST 2256 2192 2008-08-18 論文發表。[13]
MD2 2128 273時間,273內存 2008 論文發表。[26]
MD4 2128 2102時間,233內存 2008-02-10 論文發表。[27]
RIPEMD(原始版本) 2128 48輪中的35輪 2011 論文發表。[28]
RIPEMD-128 2128 64輪中的35輪
RIPEMD-160 2160 80輪中的31輪
Streebog 2512 2266時間,2259數據 2014-08-29 論文介紹了兩種對可變數據有要求的次原像攻擊。[29]
Tiger 2192 2188.8時間,28內存 2010-12-06 論文發表。[30]

參見

編輯

注釋

編輯
  1. ^ 這裡的時間和內存都指數量級,見計算複雜性
  2. ^ 指允許最多兩個不同而散列值相同,單塊碰撞意義同。
  3. ^ RadioGatún是一系列散列函數,由64種不同的散列函數組成。圖表中的安全級別和最佳攻擊適用於64位版本。32位版本的RadioGatún聲稱安全性為2304,最佳攻擊攻擊需要2352時間。

參考

編輯
  1. ^ Tao Xie; Fanbao Liu; Dengguo Feng. Fast Collision Attack on MD5. 25 March 2013 [2018-10-09]. (原始內容存檔於2019-10-10). 
  2. ^ Marc Stevens; Elie Bursztein; Pierre Karpman; Ange Albertini; Yarik Markov. The first collision for full SHA-1 (PDF). 2017-02-23 [2018-10-09]. (原始內容存檔 (PDF)於2018-10-11). 
  3. ^ Florian Mendel; Tomislav Nad; Martin Schläffer. Improving Local Collisions: New Attacks on Reduced SHA-256. Eurocrypt 2013. 2013-05-28 [2018-10-09]. (原始內容存檔於2018-11-06). 
  4. ^ Somitra Kumar Sanadhya; Palash Sarkar. New Collision Attacks against Up to 24-Step SHA-2. Indocrypt 2008. 2008-11-25 [2018-10-09]. (原始內容存檔於2018-06-10). 
  5. ^ L. Song, G. Liao and J. Guo, Non-Full Sbox Linearization: Applications to Collision Attacks on Round-Reduced Keccak, CRYPTO, 2017
  6. ^ 6.0 6.1 6.2 6.3 LI Ji; XU Liangyu. Attacks on Round-Reduced BLAKE. 2009-05-26 [2018-10-09]. (原始內容存檔於2019-07-17). 
  7. ^ Marc Stevens; Arjen Lenstra; Benne de Weger. Chosen-prefix Collisions for MD5 and Applications (PDF). 2009-06-16 [2018-10-09]. (原始內容 (PDF)存檔於2011-11-09). 
  8. ^ Marc Stevens. Attacks on Hash Functions and Applications (PDF). PhD thesis. 2012-06-19 [2018-10-09]. (原始內容 (PDF)存檔於2017-03-18). 
  9. ^ Yu Sasaki; Kazumaro Aoki. Finding Preimages in Full MD5 Faster Than Exhaustive Search. Eurocrypt 2009. 2009-04-27 [2018-10-09]. (原始內容存檔於2018-11-05). 
  10. ^ Christophe De Cannière; Christian Rechberger. Preimages for Reduced SHA-0 and SHA-1. Crypto 2008. 2008-08-17 [2018-10-09]. (原始內容存檔於2013-08-10). 
  11. ^ 11.0 11.1 Kazumaro Aoki; Jian Guo; Krystian Matusiewicz; Yu Sasaki; Lei Wang. Preimages for Step-Reduced SHA-2. Asiacrypt 2009. 2009-12-10 [2018-10-09]. (原始內容存檔於2019-02-02). 
  12. ^ Yu Sasaki; Lei Wang; Kazumaro Aoki. Preimage Attacks on 41-Step SHA-256 and 46-Step SHA-512. 2008-11-25 [2018-10-09]. (原始內容存檔於2018-10-10). 
  13. ^ 13.0 13.1 Florian Mendel; Norbert Pramstaller; Christian Rechberger; Marcin Kontak; Janusz Szmidt. Cryptanalysis of the GOST Hash Function. Crypto 2008. 2008-08-18. 
  14. ^ 14.0 14.1 Xiaoyun Wang; Dengguo Feng; Xuejia Lai; Hongbo Yu. Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD. 2004-08-17 [2018-10-09]. (原始內容存檔於2020-06-09). 
  15. ^ Xiaoyun Wang; Dengguo Feng; Xiuyuan Yu. An attack on hash function HAVAL-128 (PDF). Science in China Series F: Information Sciences. October 2005, 48 (5): 545–556 [2018-10-09]. doi:10.1360/122004-107. (原始內容 (PDF)存檔於2017-08-09). 
  16. ^ Lars R. Knudsen; John Erik Mathiassen; Frédéric Muller; Søren S. Thomsen. Cryptanalysis of MD2. Journal of Cryptology. January 2010, 23 (1): 72–90 [2018-10-09]. doi:10.1007/s00145-009-9054-1. (原始內容存檔於2018-10-14). 
  17. ^ Yu Sasaki; Yusuke Naito; Noboru Kunihiro; Kazuo Ohta. Improved Collision Attacks on MD4 and MD5. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences. 2007-03-22, E90–A (1): 36–47. doi:10.1093/ietfec/e90-a.1.36. 
  18. ^ Joan Daemen; Gilles Van Assche. Producing Collisions for Panama, Instantaneously. FSE 2007. 2007-04-04 [2018-10-09]. (原始內容存檔於2019-10-10). 
  19. ^ Vincent Rijmen; Bart Van Rompay; Bart Preneel; Joos Vandewalle. Producing Collisions for PANAMA. FSE 2001. 2001 [2018-10-09]. (原始內容存檔於2012-02-08). 
  20. ^ Xiaoyun Wang; Xuejia Lai; Dengguo Feng; Hui Chen; Xiuyuan Yu. Cryptanalysis of the Hash Functions MD4 and RIPEMD. Eurocrypt 2005. 2005-05-23 [2018-10-09]. (原始內容存檔於2018-10-10). 
  21. ^ Thomas Fuhr; Thomas Peyrin. Cryptanalysis of RadioGatun. FSE 2009. 2008-12-04 [2018-10-09]. (原始內容存檔於2018-09-30). 
  22. ^ Florian Mendel; Norbert Pramstaller; Christian Rechberger; Vincent Rijmen. On the Collision Resistance of RIPEMD-160. ISC 2006. 2006 [2018-10-09]. (原始內容存檔於2020-07-18). 
  23. ^ Stéphane Manuel; Thomas Peyrin. Collisions on SHA-0 in One Hour. FSE 2008. 2008-02-11 [2018-10-09]. (原始內容存檔於2018-10-10). 
  24. ^ Zongyue Wang; Hongbo Yu; Xiaoyun Wang. Cryptanalysis of GOST R hash function. Information Processing Letters. 2013-09-10, 114 (12): 655–662 [2018-10-09]. doi:10.1016/j.ipl.2014.07.007. (原始內容存檔於2018-12-29). 
  25. ^ Florian Mendel; Christian Rechberger; Martin Schläffer; Søren S. Thomsen. The Rebound Attack: Cryptanalysis of Reduced Whirlpool and Grøstl (PDF). FSE 2009. 2009-02-24 [2018-10-09]. (原始內容存檔 (PDF)於2016-03-04). 
  26. ^ Søren S. Thomsen. An improved preimage attack on MD2. 2008 [2018-10-09]. (原始內容存檔於2020-08-08). 
  27. ^ Gaëtan Leurent. MD4 is Not One-Way (PDF). FSE 2008. 2008-02-10 [2018-10-09]. (原始內容存檔 (PDF)於2016-03-04). 
  28. ^ Chiaki Ohtahara; Yu Sasaki; Takeshi Shimoyama. Preimage Attacks on Step-Reduced RIPEMD-128 and RIPEMD-160. ISC 2011. 2011 [2018-10-09]. (原始內容存檔於2018-06-14). 
  29. ^ Jian Guo; Jérémy Jean; Gaëtan Leurent; Thomas Peyrin; Lei Wang. The Usage of Counter Revisited: Second-Preimage Attack on New Russian Standardized Hash Function. SAC 2014. 2014-08-29 [2018-10-09]. (原始內容存檔於2018-12-29). 
  30. ^ Jian Guo; San Ling; Christian Rechberger; Huaxiong Wang. Advanced Meet-in-the-Middle Preimage Attacks: First Results on Full Tiger, and Improved Results on MD4 and SHA-2. Asiacrypt 2010: 12–17. 2010-12-06 [2018-10-09]. (原始內容存檔於2019-10-10). 

外部連結

編輯