我正在一个uni项目上工作,我必须展示工具“ John the Ripper”和“ Rainbow table”的用法。我尝试了“开膛手约翰”的不同模式,并搜索了“彩虹桌”的概念。问题是我无法理解这两者的连接方式,并且在可能的情况下,如何在密码哈希的解密中使用自己的“彩虹表”?预先感谢。
他们解决了相同的问题,但方向相反:
类似JtR的密码破解软件会动态地对候选明文的大列表进行散列,直到找到产生与目标散列匹配的散列的明文为止。如果没有候选明文产生匹配项,则不会发现原始明文,并且哈希也不会被“破解”。
彩虹表将给定的哈希表与precomputed哈希表的较大(但有限)列表进行比较。如果Rainbow表中还没有匹配的哈希,则无法使用该表发现明文。
这是经典的“时间权衡”概念。破解需要更多的计算能力和时间,但需要更少的存储空间。 Rainbow表需要较少的计算能力和时间,但需要更多的存储空间(通常为TB级)。