我对以下使用 SHA512 的安全性有疑问:
如果我有两个字符串,x和y。是否可以从 SHA( x+y ) 或反向 推导出 SHA( x ) 和 SHA( y )?x+y是字符串x与y连接。
提前致谢!
我对以下使用 SHA512 的安全性有疑问:
如果我有两个字符串,x和y。是否可以从 SHA( x+y ) 或反向 推导出 SHA( x ) 和 SHA( y )?x+y是字符串x与y连接。
提前致谢!
SHA512 具有原像、第二原像和前缀原像抗性。
最后:
给定 SHA512(X) 和 SHA512(Y) 也很难计算 SHA512(X+Y),因为 SHA512 不是线性函数。
一般来说,SHA512 可以抵抗所有已知的攻击,除了 X 的蛮力是 X 来自一个小集合 - 例如,如果 SHA512(X) 是密码的 SHA512 并且密码很弱,它可能是可以通过蛮力找到 X,但这是由于您选择的 X 已损坏,而不是 SHA512 已损坏。
一般来说,如果 X 难以猜测,SHA512(X) 不会揭示 X 的任何特征。
最简洁的答案是不”。这将使散列函数(如 SHA512)对于像HMAC这样的键控散列方案无用。