安全使用SHA512

时间:2012-03-07 16:39:37

标签: security cryptography sha sha512

我对SHA512的以下用法的安全性有疑问:

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

提前致谢!

2 个答案:

答案 0 :(得分: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的强力X是来自一个小集合 - 所以例如如果SHA512(X)是密码的SHA512且密码很弱,有可能通过蛮力找到X,但这是因为您选择的X被破坏,而不是SHA512被破坏。

通常,如果难以猜测X,则SHA512(X)不会显示X的任何特征。

答案 1 :(得分:3)

简短的回答是“不”。这会使散列函数(如SHA512)对像HMAC这样的键控散列方案毫无用处。