Cryptography SHA512优于MD5的原因
我想知道我是否可以解释为什么SHA512是MD5的高级哈希算法的原因或参考资料链接。它需要一个更大的字典来向后映射,并且冲突的可能性更低。 然而,已经证明MD5不耐碰撞Cryptography SHA512优于MD5的原因,cryptography,md5,hash,sha512,Cryptography,Md5,Hash,Sha512,我想知道我是否可以解释为什么SHA512是MD5的高级哈希算法的原因或参考资料链接。它需要一个更大的字典来向后映射,并且冲突的可能性更低。 然而,已经证明MD5不耐碰撞 MD5已经被密码破解了很长一段时间了。这基本上意味着一些通常由哈希算法保证的属性不再有效。例如,可以在比输出长度可能需要的时间少得多的时间内找到哈希冲突 SHA-512(SHA-2系列散列函数之一)目前已经足够安全,但在可预见的未来可能不会太长。这就是NIST发起SHA-3竞赛的原因 通常,您希望哈希算法是单向函数。它们将一些输
MD5已经被密码破解了很长一段时间了。这基本上意味着一些通常由哈希算法保证的属性不再有效。例如,可以在比输出长度可能需要的时间少得多的时间内找到哈希冲突 SHA-512(SHA-2系列散列函数之一)目前已经足够安全,但在可预见的未来可能不会太长。这就是NIST发起SHA-3竞赛的原因 通常,您希望哈希算法是单向函数。它们将一些输入映射到一些输出。通常,输出是固定长度的,因此提供原始输入的“摘要”。常见的属性是,例如,输入的小变化会导致输出的大变化(这有助于检测篡改),并且函数不容易可逆。对于后一个属性,输出的长度非常有帮助,因为它为碰撞攻击的复杂性提供了理论上限。然而,设计或实现中的缺陷通常会降低攻击的复杂性。一旦知道了这些,就应该评估是否仍在使用哈希函数。如果攻击复杂度下降足够多,那么实际攻击很容易进入没有专门计算设备的人群范围
注意:我在这里只讨论了一种攻击。现实虽然更加微妙,但也更加难以把握。由于散列函数通常用于验证文件/消息的完整性,因此冲突可能是最容易理解和理解的问题。很简单,MD5被破坏;)(见附件) 布鲁斯·施奈尔(Bruce Schneier)在谈到这次攻击时写道,“我们已经知道MD5是一个已损坏的哈希函数”,并且“任何人都不应该再使用MD5了。”
MD5有可能发生冲突(),并且有许多MD5 rainbow表用于在web上进行反向密码查找,可供下载 这取决于您的用例。你不能笼统地宣称“优越”。(我的意思是,是的,在某些情况下你可以,但严格来说,你真的不能) 但也有一些MD5被破坏的领域:
然而,在所有可用的散列函数中,SHA-2系列目前是最强的,并且是考虑到通用性、分析和安全性的最佳选择。(但不一定是速度。如果你在嵌入式系统中,你需要执行一个完整的其他分析。)这里有几点没有提到,我觉得这是因为对哈希是什么、如何工作以及成功攻击它们需要多长时间缺乏了解,使用彩虹或目前已知的任何其他方法 从数学上讲,MD5不是“坏”的,如果你在散列和节流尝试中加盐(即使是1秒),你的安全性也会像攻击者用木勺缓慢地向你的1ft实心钢墙投掷一样“坏”: 这将需要数千年的时间,届时所有相关人员都将死亡;还有更重要的事情要担心。 如果你在第20次尝试之前锁定了他们的帐户。。。问题解决了。在你的墙上点击20次=0.000000000他们通过的几率为1%。从统计学上看,你实际上是耶稣的可能性更大 同样重要的是要注意,任何散列函数都会很容易受到冲突的影响,因为散列是:“其他事物的(小)唯一id” 增加位空间会降低冲突率,但也会增加id的大小和计算它所需的时间 让我们做一个小小的思维实验 SHA-2,如果存在的话,将有4个可能的唯一ID用于其他东西。。。00, 01, 10 & 11. 显然,它会产生碰撞。你看到这里的问题了吗?散列只是您试图识别的内容的生成ID MD5实际上非常非常擅长根据输入随机选择一个数字。事实上,沙祖康在这方面并不是很在行;SHA为ID提供了更大的空间 使用的方法大约是碰撞可能性较小原因的0.1%。真正的原因是较大的位空间 这实际上是SHA-256和SHA-512的vu更少的唯一原因