本文总结了已知公开的针对密码散列函数 的攻击 。请注意,此列表可能不及最新研究成果新。有关其他参数的摘要,请参阅密码散列函数比较 。
图例
没有攻击——攻击只能用于散列函数的一个简化版本,或攻击复杂性比散列自身声明的最低值还高
攻击理论可行——攻击可用于完整的散列函数,攻击复杂性也比散列函数原先声明的最低值要低
攻击实际可行
常用散列函数
抗碰撞
主条目:碰撞_(计算机科学)
散列函数
安全声明
最佳攻击[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]
参见
密码散列函数比较
密码散列函数
碰撞攻击
原像攻击
密码安全性概要 注释
^ 这里的时间和内存都指数量级,见计算复杂性 。
^ 指允许最多两个块 不同而散列值相同,单块碰撞意义同。
^ 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).
外部链接