0

我正在为家庭作业进行彩虹攻击,并且在破解不同长度的密码时遇到了一些麻烦。这意味着我可以在 +- 2分钟内破解每个固定长度8的密码。但是,我不知道如何在不浪费太多时间的情况下处理长度为58的密码。

假设仅仅通过哈希是不可能知道密码的长度的,我已经尝试通过一个一个地尝试每个长度来破解哈希。这意味着我只花了2 x 4分钟来破解 1 个密码。

我应该使用最大密码长度减少每个可能的密码,然后只检查第一个字符还是一个坏主意?

我使用的是小写字母数字彩虹表、sha256算法和50 000个不同的 R 函数。我想找到一种方法来加速这个操作。感谢任何能提供帮助的人。

4

1 回答 1

0

我怀疑您在提高性能方面走错了路。正如您似乎怀疑的那样,较短的密码与较长的密码没有任何有用的关系。所有以特定字母开头的密码之间没有关系(假设散列函数是加密的)。

重要的一点是,7 个字符的空间比 8 个字符的空间(小写字母数字)小 36 倍,6 个字符的空间比那个小 36 倍。因此,检查整个 6 个字符空间的成本约为 8 个字符空间的 0.1%,而较小的空间基本上是免费的。

所以你的性能工作应该集中在每个哈希成本上。尝试缩短较短的密码长度不会给您带来太多好处,因为它们代表了搜索空间的一小部分。

于 2019-04-21T00:38:20.333 回答