使用已知消息和输出破解SHA512

时间:2013-09-26 04:55:00

标签: encryption cryptography sha brute-force

在SHA512中。如果用户使用不同的消息知道多个消化的输出。是否可以破解以便用户可以获得秘密?

示例:用户是否可以通过了解以下数据来查找未知秘密?

编辑:更新以使其更有意义。

unknown = ??;
SHA512(unknown+"A") = "73add1b948efa9e0dd0a944329a28c58cda4f98f80c2ad6419d1cf8860d988916b4451d3ad434e95bb523897dd16a2c006a30bfc3b6645c5b7160d8efcd96111";
SHA512(unknown+"B") = "5170c2f580d47328f1a06f944b4308e2a7665f4c6b16a6096dd18fe7480b88cd313a945c467458fd7f8d041d0f449959ef8ba1b756c3d624c96b21407f7b935a";
SHA512(unknown+"C") = "a1347b0ca2fe14b27b94592a593890aae3f684d7b5664eca85b166113cc7cf89ab32df8be6d623a934a8af1e8cd4c74bb1c9721d0d686b94b0795e44262419a7";
.. etc ... ( can continue indefinitely ) 

可以发现未知变量吗?

1 个答案:

答案 0 :(得分:2)

即使给出一组已知的明文和哈希值,安全散列函数也不允许比强力恢复有效的未知输入更快。这包括SHA512。

另请注意,HMAC-SHA512未按照您的建议实施。 SHA512(密钥+数据)系统容易受到长度扩展攻击:给定SHA512的散列(密钥+“Hi”),攻击者可以计算具有该前缀的任何字符串的散列,例如SHA512(密钥+“嗨,我不知道钥匙,我是一个黑客。 HMAC的构建避免了这个问题。