的安全使用我有一个关于SHA512以下使用的安全性问题:SHA512
如果我有两个字符串,X和ÿ。 是否可以从SHA(x + y)或反转得出SHA(x)和SHA(y)? x + y是字符串x连接y。
在此先感谢!
的安全使用我有一个关于SHA512以下使用的安全性问题:SHA512
如果我有两个字符串,X和ÿ。 是否可以从SHA(x + y)或反转得出SHA(x)和SHA(y)? x + y是字符串x连接y。
在此先感谢!
SHA512是预映像,第二原色和前缀图像抵抗。
因此:
鉴于SHA512(X)和SHA512(Y),也难以计算SHA512(X + Y),因为SHA512是不是线性函数。
一般来说SHA512可以抵抗所有已知的攻击,除了X的暴力破解来自一个小集合 - 例如,如果SHA512(X)是密码的SHA512,并且密码很弱,有可能通过蛮力找到X,但这是由于你选择的X被破坏,而不是SHA512被破坏。
一般情况下,如果X是很难猜测,SHA512(X)没有透露X.
简短答案是“否”。这会使哈希函数(如SHA512)对诸如HMAC之类的密钥哈希方案无用。
稍微更广泛:散列算法应该是对*长度扩展攻击无懈可击*这是你似乎寻找的功能... – 2012-03-07 18:55:31
的任何功能也许http://security.stackexchange.com/将是这个问题的一个更好的论坛。 – 2012-03-07 17:08:04