SHA1强力计划

时间:2012-10-30 05:22:45

标签: hash sha1 brute-force

假设给出了两个哈希码,您已经将字符1的值赋予字符9.剩下的字符是未知的。消息长度也是未知的。

发生这两个哈希码由2个不同的明文生成,但只有第一个字符不同,其余字符完全相同。

First hash code = *********************
Second hash code = *********************
plaintext1 = 1************************ 
plaintext2 = 2************************

能够蛮力恢复明文?

2 个答案:

答案 0 :(得分:1)

强制执行总是可行的,这取决于您的意图,是否适用。

查找冲突(密码登录)

如果您只需要查找冲突(导致相同哈希值的值),则可以使用强制执行。现成的GPU能够每秒计算3 Giga个SHA1哈希值。这就是为什么像SHA1这样的快速哈希函数对于哈希密码来说是一个糟糕的选择,而应该使用像BCrypt或PBKDF2这样的密钥派生函数。

查找原始密码

发现碰撞会比较快,找到原始密码(不只是碰撞)可以使用更多时间,这取决于密码的强度,你需要多长时间。

使用良好的加密哈希函数,有关相同字符的知识应该没有任何优势。

明文的修改(数字签名)

如果你想改变明文,以便它产生相同的哈希值,那么你可能会花费你的生命,寻找这样的文本。这要困难得多,因为新文本最终应该有意义。

答案 1 :(得分:0)

加密哈希算法旨在在整个计算哈希中传播明文中的小变化。你所询问的那种攻击是不可行的。