我需要MD5作为SHA-1的伴侣吗?

时间:2018-11-23 20:06:55

标签: security hash md5 sha1 sha

我是否需要同时使用 MD5和SHA-1值,以确保下载的文件是

a)未被黑客触及。例如,当我需要通过种子下载一些应用的.iso

b)在技术问题期间未损坏?例如,下载过程中网络连接不稳定。

或者,SHA-1值可能足以进行两次检查?

此外,SHA-1(没有MD5)是否足以确保几年前下载并存储在我的HDD上的某些文件还没有degradated

1 个答案:

答案 0 :(得分:1)

从安全角度看,MD-5完全损坏。

SHA-1被认为是可疑的,如果可能的话,应避免在大多数情况下使用。对于新项目:根本不要使用它。

SHA-2(又名SHA-256,SHA-512等)仍然广泛用于快速散列。

SHA-3是自2012年以来的未来,没有什么可以阻止您使用它。我认为没有理由不将其用于新项目。

年龄较大的孩子有什么问题?

  • 他们发现冲突的能力低于标准杆:这是攻击者创建的2个具有相同哈希值的内容。这些是在同一时间构造的。这个问题对于MD5和SHA-1来说是存在的,而且是BAD,但是需要攻击者创建两个版本(然后他们可以在任何时候都希望进行检测时进行切换)。
  • 他们对长度扩展攻击的抵抗力相对较弱。对于MD5尤其如此,但是SHA-1甚至SHA-2在某种程度上都会遭受它的困扰。

什么时候没问题:确保您的磁盘没有产生错误:并且可以进行哈希处理,所以即使是简单的CRC32也可以工作(我建议使用更简单的CRC检查)或RAID阵列,这些不仅可以检测到错误,还可以修复错误。

同时使用吗? 好吧,如果您必须在一个哈希上找到冲突,并且让同一组纯文本在另一个哈希上也产生冲突,则可能会更困难。过去曾经使用过这种方法,原始的PGP确实做了类似的事情。如果我没记错的话,它计算出了很多东西,其中之一就是长度(这可以防止上面的扩展攻击)。

是的,它可能会添加一些东西,但是md5和SHA-1和SHA-2在内部的工作方式非常相似,这是令人担忧的部分:它们太相似了,无法确定它对高度复杂的攻击者(想想国家安全局及其同行的水平)。

那么,为什么不使用SHA-2的更现代版本之一,甚至更好的SHA-3?他们没有已知的弱点,并且已经受到同行的广泛审查。因此,对于任何商业级别的用途,它们都应该绰绰有余。

参考: