本文总结了已知公开的针对密碼雜湊函數 的攻击 。请注意,此列表可能不及最新研究成果新。有关其他参数的摘要,请参阅密码散列函数比较 。
没有攻击——攻击只能用于散列函数的一个简化版本,或攻击复杂性比散列自身声明的最低值还高
攻击理论可行——攻击可用于完整的散列函数,攻击复杂性也比散列函数原先声明的最低值要低
攻击实际可行
散列函数 安全声明 最佳攻击[ 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 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]
^ 这里的时间和内存都指数量级,见计算复杂性 。 ^ 指允许最多两个块 不同而散列值相同,单块碰撞意义同。 ^ RadioGatún是一系列散列函数,由64种不同的散列函数组成。图表中的安全级别和最佳攻击适用于64位版本。32位版本的RadioGatún声称安全性为2304 ,最佳攻击攻击需要2352 时间。 ^ Tao Xie; Fanbao Liu; Dengguo Feng. Fast Collision Attack on MD5 . 25 March 2013 [2018-10-09 ] . (原始内容存档 于2019-10-10). ^ 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). ^ 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). ^ 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). ^ L. Song, G. Liao and J. Guo, Non-Full Sbox Linearization: Applications to Collision Attacks on Round-Reduced Keccak, CRYPTO, 2017 ^ 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). ^ 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). ^ Marc Stevens. Attacks on Hash Functions and Applications (PDF) . PhD thesis. 2012-06-19 [2018-10-09 ] . (原始内容 (PDF) 存档于2017-03-18). ^ Yu Sasaki; Kazumaro Aoki. Finding Preimages in Full MD5 Faster Than Exhaustive Search . Eurocrypt 2009. 2009-04-27 [2018-10-09 ] . (原始内容存档 于2018-11-05). ^ 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.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). ^ 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.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.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). ^ 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). ^ 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). ^ 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 . ^ Joan Daemen; Gilles Van Assche. Producing Collisions for Panama, Instantaneously . FSE 2007. 2007-04-04 [2018-10-09 ] . (原始内容存档 于2019-10-10). ^ Vincent Rijmen; Bart Van Rompay; Bart Preneel; Joos Vandewalle. Producing Collisions for PANAMA . FSE 2001. 2001 [2018-10-09 ] . (原始内容存档 于2012-02-08). ^ 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). ^ Thomas Fuhr; Thomas Peyrin. Cryptanalysis of RadioGatun . FSE 2009. 2008-12-04 [2018-10-09 ] . (原始内容存档 于2018-09-30). ^ Florian Mendel; Norbert Pramstaller; Christian Rechberger; Vincent Rijmen. On the Collision Resistance of RIPEMD-160 . ISC 2006. 2006 [2018-10-09 ] . (原始内容存档 于2020-07-18). ^ Stéphane Manuel; Thomas Peyrin. Collisions on SHA-0 in One Hour . FSE 2008. 2008-02-11 [2018-10-09 ] . (原始内容存档 于2018-10-10). ^ 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). ^ 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). ^ Søren S. Thomsen. An improved preimage attack on MD2 . 2008 [2018-10-09 ] . (原始内容存档 于2020-08-08). ^ Gaëtan Leurent. MD4 is Not One-Way (PDF) . FSE 2008. 2008-02-10 [2018-10-09 ] . (原始内容存档 (PDF) 于2016-03-04). ^ 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). ^ 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). ^ 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).