SHA512

2012-03-07 45 views
0

的安全使用我有一个关于SHA512以下使用的安全性问题:SHA512

如果我有两个字符串,Xÿ。 是否可以从SHA(x + y)或反转得出SHA(x)和SHA(y)? x + y是字符串x连接y

在此先感谢!

+3

的任何功能也许http://security.stackexchange.com/将是这个问题的一个更好的论坛。 – 2012-03-07 17:08:04

回答

4

SHA512是预映像,第二原色和前缀图像抵抗。

因此:

  • 查找给定一个SHA512(X)的任何X是困难的。
  • 查找给定SHA512(X + Y)且Y很难的任何X
  • 给定SHA512(Y + X)并且Y很难找到任何X.

鉴于SHA512(X)和SHA512(Y),也难以计算SHA512(X + Y),因为SHA512是不是线性函数。

一般来说SHA512可以抵抗所有已知的攻击,除了X的暴力破解来自一个小集合 - 例如,如果SHA512(X)是密码的SHA512,并且密码很弱,有可能通过蛮力找到X,但这是由于你选择的X被破坏,而不是SHA512被破坏。

一般情况下,如果X是很难猜测,SHA512(X)没有透露X.

3

简短答案是“否”。这会使哈希函数(如SHA512)对诸如HMAC之类的密钥哈希方案无用。

+0

稍微更广泛:散列算法应该是对*长度扩展攻击无懈可击*这是你似乎寻找的功能... – 2012-03-07 18:55:31