腌制密码

时间:2012-01-14 17:27:25

标签: hash salt

我真的可以使用一些关于如何使用随机盐防止彩虹表攻击的澄清。它不是为我点击。

假设有一个愚蠢的应用程序要求密码正好是五个字符或更少,并且那些用九个字符随机盐传递密码。如果我的彩虹表具有14个字符或更少字符组合的预计算哈希值,那么随机盐如何提供额外的安全性?在这种情况下,赢得随机盐+密码组合的散列值。出现在彩虹桌上?

我已经阅读了多个地方,使用盐会迫使饼干生成一个全新的彩虹桌;类似地,随机的每密码盐将需要每个盐的新彩虹表。为什么呢?

2 个答案:

答案 0 :(得分:3)

如果有人真的有一张彩虹表,其中包含所有可能的字符组合的哈希,那么不,盐腌没有帮助。但即使只假设A-za-z0-9为有效字符,也就是62 14 = 1.2x10 25 14个字符的密码。因此需要170亿PB的存储空间。

鉴于这是不可行的,攻击者必须有一个小的表,只包含最可能的字符串(例如字典中的所有单词,与数字混合等)。如果添加盐,则此表变得无用。如果盐是固定的(并且已知),则攻击者可以重新计算新表。但是如果每个密码都有不同的盐,那么这也不会有效。

答案 1 :(得分:1)

例如,通过在字典中的所有单词上创建哈希,可以更快地在某种程度上查看密码的有效方法之一。试图破解密码的人知道他们正在寻找什么,并且由于计算速度有限,他们将搜索范围缩小到经常使用的密码。通过使用盐,这些经常使用的单词永远不会真正用作密码。