MD6
本条目翻译自英语维基百科,需要精通本领域的编者协助校对翻译。 |
此条目需要精通或熟悉密码学的编者参与及协助编辑。 |
MD6消息摘要算法是一个密码散列函数。它使用默克尔树形式的结构,允许对很长的输入并行进行大量散列计算。作者称,在英特尔酷睿2双核CPU上,MD6-256的性能为每字节28个时钟周期,并可证明的有抗差分密码分析能力。[2]参考实现的源代码在MIT许可证下发布。 [3]
概述 | |
---|---|
设计者 | 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 |
首次发布 | 2008年 |
系列 | MD2、MD4、MD5、MD6 |
细节 | |
摘要长度 | 可变,0<d≤512位 |
结构 | 默克尔树 |
重复回数 | 可变,默认:Unkeyed=40+[d/4], Keyed=max(80,40+(d/4)) [1] |
据介绍,在16核CPU架构上对长消息的处理速度可能超过1 GB/秒。
2008年12月,Fortify Software的Douglas Held在原始MD6哈希算法的参考实现中发现了缓冲区溢出问题。此错误后由罗纳德·李维斯特于2009年2月19日公布,Fortify的报告发布前已发布更正的参考实现。 [4]
MD6被提交到NIST SHA-3竞赛。但2009年7月1日,Rivest在NIST上评论说,由于速度问题,MD6尚未准备好成为SHA-3的候选者。在所提交的证明能抵抗差分攻击的MD6版本中发现了一个缺陷,且无法为速度更快的减法版本提供同样的证明。 [5]尽管Rivest在MD6网站上也表示未正式撤回,[6]MD6没有进入SHA-3竞赛的第二轮。 2011年9月,MD6网站上发布了一篇论文,提供了改进的证明,以及更快的减少回数并可抗差分攻击的版本[7] 。 [8]
参见
- 密码散列函数比较
参考文献
- ^ Ronald L. Rivest等,The MD6 Hash Function (页面存档备份,存于互联网档案馆), Crypto 2008
- ^ Ronald L. Rivest. The MD6 hash function A proposal to NIST for SHA-3. [2021-01-07]. (原始内容存档于2020-11-09).
- ^ readme.txt. [2021-01-07]. (原始内容存档于2018-04-15).
- ^ Fortify-SHA-3-Report (PDF). [2021-01-07]. (原始内容 (PDF)存档于2012-02-22).
- ^ Rivest, Ronald. OFFICIAL COMMENT: MD6. July 1, 2009 [September 27, 2011]. (原始内容存档于2020-01-28).
- ^ Schneier, Bruce. MD6 Withdrawn from SHA-3 Competition. July 1, 2009 [July 9, 2009]. (原始内容存档于2012-03-21).
- ^ Heilman, Ethan. Restoring the Differential Resistance of MD6. July 10, 2011 [September 27, 2011]. (原始内容存档于2019-02-19).
- ^ Heilman, Ethan. Improved Differential Analysis. September 2011 [September 27, 2011]. (原始内容存档于2020-06-07).