彩虹表的概念
2015-12-24 11:49
169 查看
彩虹表是一个用于加密散列函数逆运算的预先计算好的表, 常用于破解加密过的密码散列。一般主流的彩虹表都在100G以上。 查找表常常用于包含有限字符固定长度纯文本密码的加密。这是以空间换时间的典型实践,
在每一次尝试都计算的暴力破解中使用更少的计算能力和更多的储存空间,但却比简单的每个输入一条散列的翻查表使用更少的储存空间和更多的计算性能。使用加盐的KDF函数可以使这种攻击难以实现。
为了保证后台数据安全,现在的做法都是使用哈希算法对明文密码进行加密存储.由于哈希算法不可逆向,因此由密码逆向出明文运算就成了不可能。
起初黑客们通过字典穷举的方法进行破解,这对简单的密码和简单的密码系统是可行的,但对于复杂的密码和密码系统,则会产生无穷大的字典.为了解决逆向破解的难题,黑客们就产生了彩虹表的技术。
为了解决所需要字典大小,减少产生和查找字典的时间,黑客选择性存储一个较小的可逆向的长链的密码的哈希值。虽然在破解单个密文,使用哈希链接的方式需要更多的计算时间的反向查找,但字典要小得多,因此可以存储更长的密码的哈希值。彩虹表是此链接技术的一种改进,并提供一种称为碰撞链的解决方案.其基于Martin Hellman理论(基于内存与时间的权重理论) 。
在每一次尝试都计算的暴力破解中使用更少的计算能力和更多的储存空间,但却比简单的每个输入一条散列的翻查表使用更少的储存空间和更多的计算性能。使用加盐的KDF函数可以使这种攻击难以实现。
折叠编辑本段背景
为了保证后台数据安全,现在的做法都是使用哈希算法对明文密码进行加密存储.由于哈希算法不可逆向,因此由密码逆向出明文运算就成了不可能。起初黑客们通过字典穷举的方法进行破解,这对简单的密码和简单的密码系统是可行的,但对于复杂的密码和密码系统,则会产生无穷大的字典.为了解决逆向破解的难题,黑客们就产生了彩虹表的技术。
为了解决所需要字典大小,减少产生和查找字典的时间,黑客选择性存储一个较小的可逆向的长链的密码的哈希值。虽然在破解单个密文,使用哈希链接的方式需要更多的计算时间的反向查找,但字典要小得多,因此可以存储更长的密码的哈希值。彩虹表是此链接技术的一种改进,并提供一种称为碰撞链的解决方案.其基于Martin Hellman理论(基于内存与时间的权重理论) 。
相关文章推荐
- 杭电OJ 1072图搜 Nightmare(bfs)(图搜)
- 如何正确的把PDF转换成Word、PPT、Excel、JPG
- 记录点滴
- 【java基础】java通过相对路径读取文件
- layoutSubViews实践
- RoboCup
- server.xml引入子文件配置(tomcat虚拟主机)[转]
- 随笔索引
- 日志同步
- iOS: ARC和非ARC下使用Block属性的问题
- 低学历者如何轻松获得10K月薪?
- iOS 图片边缘抗锯齿
- 滚动固定导航
- 数据库断电后DB状态为可疑解决方法(事例数据库为DataValidatation)
- python数据库连接模板
- 地址转经纬度(IOS自带方法)
- Java integer to byte array
- 子查询
- 致各位虚幻4学习者
- 从头认识java-14.3 多维数组