Cryptography 彩虹桌上的链条是如何工作的?

Cryptography 彩虹桌上的链条是如何工作的?,cryptography,rainbowtable,Cryptography,Rainbowtable,我想知道是否有人能详细解释一下,链是如何在彩虹表中工作的,就像你对一个完全的新手所做的那样,但与编程相关 我知道链有16个字节长。8个字节表示起点,8个字节表示终点。我还了解到,在文件名中,我们有链长度,即2400。这意味着在16个字节的起点和终点之间,我们有2400个可能的明文,什么?这是怎么回事?在这16个字节中,我如何得到2400个散列和明文,还是我误解了这一点 非常感谢你的帮助 谢谢 附言:我读过相关的报纸,也在谷歌上搜索过这个话题。我想我只是错过了一些重要的东西来让这些齿轮转动。知道散

我想知道是否有人能详细解释一下,链是如何在彩虹表中工作的,就像你对一个完全的新手所做的那样,但与编程相关

我知道链有16个字节长。8个字节表示起点,8个字节表示终点。我还了解到,在文件名中,我们有链长度,即2400。这意味着在16个字节的起点和终点之间,我们有2400个可能的明文,什么?这是怎么回事?在这16个字节中,我如何得到2400个散列和明文,还是我误解了这一点

非常感谢你的帮助

谢谢


附言:我读过相关的报纸,也在谷歌上搜索过这个话题。我想我只是错过了一些重要的东西来让这些齿轮转动。

知道散列链的起点,你可以通过反复应用散列和reduce函数来计算所有的中间点和终点

当您要在链中搜索哈希密码时,将出现端点。应用哈希并减少最多链长的次数;在每个阶段,查看中间对象是否与已计算的任何链的端点匹配。如果是这样,那么您已经找到了包含密码的链。然后,您就知道了该链的起始位置,因为您已经存储了它的起始点,因此您可以从那里简单地向前遍历该链以查找密码,当对密码进行一次哈希运算时,该密码将生成哈希值


完整彩虹表过程应用这种搜索,但使用一系列不同的缩减函数来避免哈希冲突;我对细节不太熟悉。

您需要破解密码的帮助吗?不,我想了解如何使用起点和终点生成清晰的文本和散列。我还了解如何将64位int转换为字符串。我只是想知道2400个散列是从哪里来的。这是否意味着永远不会为链的端点计算散列?我的理解是:当它结束时,链散列函数永远不会应用于它,就像从开始一样。或者我遗漏了什么?这是一个很好的例子,解释了链是如何计算的。