前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >盐如何抵御彩虹表

盐如何抵御彩虹表

作者头像
doper
发布2022-09-26 17:47:32
5810
发布2022-09-26 17:47:32
举报

盐如何抵御彩虹表

仅此记录,以便后续翻阅

https://www.itranslater.com/qa/details/2116746518890808320

破解单个密码时,公共盐不会使字典攻击变得更难。 正如您所指出的,攻击者可以访问散列密码和盐,因此在运行字典攻击时,她可以在尝试破解密码时简单地使用已知的盐。

公共盐可以做两件事:破解大量密码会更加耗时,并且使用彩虹表是不可行的。

要理解第一个,想象一个包含数百个用户名和密码的密码文件。 没有盐,我可以计算“md5(attempt [0])”,然后扫描文件以查看该哈希是否出现在任何地方。 如果存在盐,那么我必须计算“md5(salt [a] .Try [0])”,与条目A进行比较,然后“md5(salt [b] .Try [0])”,与条目B进行比较 等等。现在我有n倍的工作量,其中n是文件中包含的用户名和密码数。

要理解第二个,你必须了解彩虹表是什么。 彩虹表是常用密码的预先计算的散列的大列表。 想象一下没有盐的密码文件。 我所要做的就是遍历文件的每一行,取出哈希密码,然后在彩虹表中查找。 我永远不必计算单个哈希。 如果查找比哈希函数(它可能是)快得多,这将大大加快破解文件的速度。

但是如果密码文件是盐渍的,那么彩虹表必须包含预先散列的“盐。密码”。 如果盐足够随机,这是不太可能的。 我可能会在我常用的预先伪装密码(彩虹表)列表中找到“hello”和“foobar”和“qwerty”之类的东西,但我不会有像“jX95psDZhello”这样的东西或者 “LPgB0sdgxfoobar”或“dZVUABJtqwerty”预先计算。 这会使彩虹表格过大。

因此,盐将攻击者减少到每次尝试一次计算,当与足够长,足够随机的密码相结合时,(通常来说)是不可破解的。

按理解就是破解加盐后的密码首先是要加大很多工作量的,彩虹表需要存储更多的条目,从而降低破解速度。其次是由于盐是随机足够长的,因此彩虹表预先计算中可能不会包含到这种包含随机盐的密码,从而大大降低被破解的概率。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 盐如何抵御彩虹表
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档