SHA如何独特?

问题描述 投票:-1回答:2

我试图用简单的术语理解SHA的唯一性。例如,让我们假设整个世界中只有最大长度为4位(二进制)的消息。不同长度的可能消息数为

  • 2表示单个位长
  • 2 ^ 2双位长度
  • 2 ^ 3表示3位长度
  • 2 ^ 4表示4位长度

应该是2 + 4 + 8 + 16 = 30。

让我们考虑SHA3,其摘要长​​度为3位(二进制),因此摘要的最大可能数目为8。如果我们需要将30条消息映射到8条消息,摘要将是唯一的,或者为什么很难找到2条独特消息的摘要冲突

security hash cryptography sha crc
2个回答
0
投票

任何SHA3变体的摘要都超过100位。该术语可能使您感到困惑,因为SHA256具有256位,而SHA3被认为是第三代SHA算法(并且没有3位长度)。

通常来说,通过蛮力找到哈希冲突并不困难(alas,这很耗时),难于产生在上下文中也有意义的冲突。例如,假设您有一个重要应用程序的源文件,该文件哈希为摘要。如果攻击者试图以某种方式更改源文件以引入漏洞,同时又将其散列到同一摘要中,则他将不得不引入大量随机垃圾,使攻击显而易见。


0
投票

我不确定您所说的“ SHA唯一性”是什么意思。 SHA值(任何版本)不是唯一的,也不是唯一的,因为它将无限数量的输入(任意长度的输入)映射到有限数量的输出。

加密散列函数具有三个重要属性(在常规散列上使其成为加密散列:]

  • 强抗碰撞性:很难找到两个输入产生相同输出的输入(即使您可以同时选择两者)(在计算上是不可行的,即“几乎不可能”)
  • 抗弱碰撞:对于给定的输入,找到另一个提供相同哈希值的输入在计算上是不可行的(您可以选择一个输入以匹配给定输入的输出)
  • 原像电阻:对于散列值,找到产生该输出的输入在计算上是不可行的(它是“单向的”)

您的示例中唯一的问题是尺寸。这么小的数字当然是毫无意义的。但是,如果哈希值是512位,则它突然变得非常耗时,因此几乎无法进行暴力破解。

© www.soinside.com 2019 - 2024. All rights reserved.