链子如何在彩虹桌上工作?

Jam*_*ore 5 cryptography rainbowtable

我想知道是否有人可以详细解释,链条如何在彩虹表中工作,就像你对一个完整的新手一样,但与编程有关.

我知道一个链长16个字节.8个字节标记起始点,8个标记结束.我也明白在文件名中我们有链长,即2400.这意味着在我们的起点和终点之间只有16个字节,我们有2400个可能的明文,什么?这是如何运作的?在这16个字节中,如何获得2400个哈希值和明文,或者我是否误解了这个?

非常感谢您的帮助.

谢谢.

PS:我已经阅读了相关论文,并且搜索了这个主题.我想我只是缺少一些重要的东西来使这些齿轮转动.

cra*_*cot 3

知道哈希链的起点后,您可以通过重复应用哈希和归约函数来计算所有中间体和终点。

当您想要在链中搜索哈希密码时,终点就出现了。应用 hash-and-reduce 最多达到链长度的次数;在每个阶段,查看您的中间体是否与您计算的任何链的端点匹配。如果是这样,那么您就找到了包含密码的链。然后,您知道链从哪里开始,因为您已经存储了它的起点,因此您可以从那里轻松地向前遍历链以找到密码,该密码在散列一次后会产生散列值。

完整的彩虹表过程应用这种搜索,但使用一系列不同的归约函数来避免散列冲突;我不太了解细节。