密码破解的利器.docx
《密码破解的利器.docx》由会员分享,可在线阅读,更多相关《密码破解的利器.docx(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、密码破解的利器彩虹表(rainbow table )目录: 如何存储密码才是安全的? 彩虹表不是密码- 明文的简单存储 彩虹表的前身-预先计算的散列链 彩虹表 为什么加盐哈希可以抵御彩虹表如何存储密码才是安全的?密码存储有几种方式: 直接存储密码明文m 存储密码明文的哈希值hash(m)存储密码明文的加盐哈希hash(m+salt),这里的salt可以是用户名,手机号等, 但必须保证每个用户的salt都不一样才是安全的。如果数据库被入侵。第一方式,明文存储,无安全性可言。第二种方式,虽然是入侵者得到的是hash值,但由于彩虹表的存在,也很容易批量还原 出密码明文来。只有第三种方式才是相对安全的
2、。彩虹表不是密码,明文的简单存储要从c=hash(m)逆向得到原始明文m,有三种方法: 暴力破解法:时间本钱太高。 字典法:提前构建一个“明文,密文”对应关系的一个大型数据库,破解时通过 密文直接反查明文。但存储一个这样的数据库,空间本钱是惊人的。 构建彩虹表:在字典法的基础上改进,以时间换空间。是现在破解哈希常用的 方法。彩虹表的前身预先计算的散列链既然存储所有的明文密码对需要的空间太大,密码学家们想出了一种以计算时间降低存储空间的方法:”预计算的哈希链集(Precomputed hash chains)。这是一条k=2哈希链:aaaaaa 281DAF4O sgfnyd 920ECF10
3、kiebgtHRHR哈希链H函数就是要破解的哈希函数。约简函数(reduction funclion) R函数是构建这条链的时候定义的一个函数:它的值域和定义域与H函数相反。通过该函数可以将哈希值约简为一个与原文相同格式的值。这条链是这样生成的: 随机选择一个明文aaaaaa 对其求哈希得到28IDAF40 RQ8IDAF40)得到另外一个明文sgfnydo 继续重复2,3步骤存储的时候,不需要存储所有的节点,只需要存储每条链的头尾节点(这里是aaaaaa 和 kiebgt)以大量的随机明文作为起节点,通过上述步骤计算出哈希链并将终节点进行储存,可得到 一张哈希链集。预计算的哈希链集的使用要破
4、解一个hash值, 假设其刚好是920ECFI0:首先对其进行一次R运算,得到kiebgt,然后发现刚 好命中了哈希链集中的(aaaaaa,kiebgt)链条。可以确定其极大概率在这个链条 中。于是从aaaaaa开始重复哈希链的计算过程,发现sgfnyd的哈希结果刚好是 920ECFI0,于是破解成功。 密文不是“920ECF10”而是“281DAF40:第一次R运算后的结果并未在末节点中 找到,那么再重复一次H运算+R运算,这时又得到了末节点中的值“kicbgt”。于 是再从头开始运算,可知aaaaaa刚好可哈希值为281DAF40。 如是重复了 k (=2)次之后,仍然没有在末节点中找到对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码 破解 利器
限制150内