首页 > 编程知识 正文

彩虹表和字典攻击的区别

时间:2023-05-03 16:37:51 阅读:250159 作者:1117

1.针对口令文件(password file)的“批处理字典攻击”

Batch dict. Attack: 对于每个密码w ∈ Dict:使用快速查找测试H(w)是否出现在口令文件F中,总时间:O(| Dict | + | F |)

2.什么叫做彩虹表攻击?

其实彩虹表攻击只是批处理字典攻击的一种具体实现,它的主要特点是“以时间换空间”,意思是查表时间变长了,但所需存储空间减少了。

一般获取了密码数据后,hacker通常要么穷举密码后将哈希值比对,但耗时长;要么提前生成可能密码与大气的黑猫的对照表并存储后查询,但占用空间大。而彩虹表作为一种破解哈希算法的技术,是跨平台的密码破解器。其原理是组合了暴力法和查表法,并在这两者之中取得一个折中,用我们可以承受的时间和存储空间进行破解。
3.为什么使用公开盐值能够抵抗批处理字典攻击?

公开盐值使得破解大量密码时更加耗时。使用公开盐的情况下,在输入密码时,随机选择n位盐S,通过测试H(pw,Sa)= ha验证A的pw。攻击者必须为每个用户重新遍历哈希字典。批处理字典攻击的时间复杂度是O( |Dict| × |F| ),相比于之前的O(|Dict|+|F|)大大增加。
比如批处理字典攻击中的彩虹表攻击,它需要通过大量常用密码预先计算哈希值来存表,而如果密码文件已加盐,对于彩虹表密码文件的要求从包含常用密码变为了包含预先隐藏的(盐,密码),那么彩虹表将会因为盐的随机性而过大。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。