如何使用Rainbow表处理不同长度的破解密码?

时间:2019-04-20 23:53:39

标签: encryption hash cryptography rainbowtable

我正在做作业的彩虹攻击,并且在破解不同长度的密码时遇到了一些麻烦。这意味着我可以在+- 2 分钟内破解每个固定长度 8 的密码。但是,我不知道如何处理长度从 5 8 的密码,而又不会浪费很多时间。

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

因此,您的绩效工作应集中在每次哈希成本上。尝试缩短较短的密码长度并不会带来太大的好处,因为它们只占搜索空间的一小部分。