gpt4 book ai didi

security - 为什么叫彩虹 table 呢?

转载 作者:行者123 更新时间:2023-12-03 06:30:03 25 4
gpt4 key购买 nike

有人知道为什么叫彩虹 table 吗?刚刚记得我们已经了解到有一种称为“字典攻击”的攻击。为什么不调用字典?

最佳答案

因为它包含了所有可能性的“范围”。

字典攻击是一种尝试可能性的暴力技术。像这样(python伪代码)

mypassworddict = dict()

for password in mypassworddict:
trypassword(password)

但是,彩虹表的工作方式有所不同,因为它用于反转哈希。哈希的高级概述是它有许多容器:

bin1, bin2, bin3, bin4, bin5, ...

这对应于输出字符串的二进制部分 - 这就是字符串最终达到其长度的方式。随着哈希的进行,它会以不同的方式影响垃圾箱的不同部分。因此,第一个字节(或接受的任何输入字段)输入影响(简单地说)容器 3 和 4。下一个输入影响 2 和 6。依此类推。

彩虹表是对给定容器的所有可能性的计算,即对于每个容器,该容器的所有可能的逆......这就是它最终如此之大的原因。如果第一个 bin 值是 0x1,那么您需要有一个包含 bin2 的所有值以及 bin3 的所有值的查找列表,通过哈希向后工作,最终给出你的值(value)。

为什么不称为字典攻击?因为事实并非如此。

正如我看到您之前的问题,让我详细说明您正在寻找的详细信息。理想情况下,加密安全哈希需要确保从较小的输入大小到整个文件都是安全的。预先计算整个文件的哈希值将花费很长时间。因此,彩虹表是在一个易于理解的输出子集上设计的,例如所有字符 a-z 在 10 个字符的字段上的排列。

这就是为什么用于击败字典攻击的密码建议在这里起作用的原因。您放入哈希输入中的整个可能输入集的子集越多,彩虹表需要包含的内容就越多以进行搜索。所需的数据量最终变得非常大,搜索时间也变得非常大。所以,想一想:

  • 如果您输入的 [a-z]5-8 个字符,那么彩虹表也不算太糟糕。
  • 如果将长度增加到 42 个字符,那就是一个巨大的彩虹表。 每个输入都会影响哈希,从而影响所述哈希的容器。
  • 如果您在搜索要求中添加数字[a-z][0-9],您将需要进行更多搜索。
  • 同样[A-Za-z0-9]。最后,坚持[\w],即您能想到的任何可打印字符,同样,您正在查看一个巨大的表格。

因此,使密码变得又长又复杂使得彩虹表开始采用蓝光大小的数据光盘。然后,根据您之前的问题,您开始添加加盐和散列派生函数,并为散列破解困难(呃)制定通用解决方案。

这里的目标是在可用的计算能力方面保持领先。

关于security - 为什么叫彩虹 table 呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5051608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com