[发明专利]基于大数据彩虹表的解密方法和装置在审

专利信息
申请号: 201611147432.0 申请日: 2016-12-13
公开(公告)号: CN106712928A 公开(公告)日: 2017-05-24
发明(设计)人: 刘清蝉;李翔;黄衍玺;张建伟;杨明;赵永辉;杨昊 申请(专利权)人: 云南电网有限责任公司电力科学研究院
主分类号: H04L9/06 分类号: H04L9/06;H04L9/32
代理公司: 北京弘权知识产权代理事务所(普通合伙)11363 代理人: 逯长明,许伟群
地址: 650217 云南省昆*** 国省代码: 云南;53
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 数据 彩虹 解密 方法 装置
【说明书】:

技术领域

发明涉及密码逆向恢复技术领域,尤其涉及一种基于大数据彩虹表的解密方法和装置。

背景技术

随着互联网的迅猛发展,网络信息安全要求越来越高。为了保证安全,通常采用密码加密和解密技术。互联网中各种协议的加密技术和手段层出不穷,出现了诸如MD5、SHA1、LM、NTLMHASH和MD4等加密算法。对于各种加密算法实施之后获得的密文,采用解密技术来破解密文得到明文。

目前,对于简单的密码和密码系统,密码破解可以采用暴力破解的方式。而对于较复杂的密码和密码系统,例如对于大于8位的密码,暴力破解的计算量非常大。通常采用彩虹表进行破解。彩虹表是一个庞大的针对各种可能的数字、字母组合预先计算好的哈希(hash)值的集合,彩虹表技术就是建立一个源数据与加密数据之间对应的哈希表,这样在获得加密数据后通过比较、查询或者一定的运算,可以快速定位源数据,从而通过彩虹表的构造和查找,能够破解密码获得明文。

然而,彩虹表作为一种压缩的哈希表,对于较长的密码,彩虹表往往占用空间巨大,破解时间很长,在某些情况下,超出单机存储范围,或者即使在集群上能够满足存储但是生成时间太长,无法满足实际需要。另外,由于彩虹表文件很大,在查找破解的过程中,耗时很长效率很低。即使存在某些商用的彩虹表,往往只能破解9位以下的密码,而且破解的准确率只有80%左右,破解时间长,难以满足实际需要。

发明内容

为克服相关技术中存在的问题,本发明提供一种基于大数据彩虹表的解密方法和装置,对于1-12位的数字字母组合的密码,利用得到的加密结果密文,能够通过利用多个GPU并行生成彩虹表中的哈希链,来大大提高彩虹表生成速度,并且对生成的彩虹表进行索引排序,大大缩短解密阶段的彩虹表查找时间,从而大大缩短解密时间。

根据本发明实施例的第一方面,提供一种基于大数据彩虹表的解密方法,包括:将彩虹表任务分配给n个GPU计算节点,其中n为大于1的整数;每个GPU计算节点根据分配的彩虹表任务生成一个彩虹表;将生成的彩虹表中的哈希链的链尾节点进行索引分组,对分组内的链尾节点进行排序;在经索引分组和排序的彩虹表内,对待解密的密文先执行索引查找然后执行二分查找,以获得相应的明文完成解密。

根据本发明的一个实施例,将彩虹表任务分配给n个GPU计算节点包括:根据明文的取值范围、彩虹表的查找成功率来设置彩虹表任务的大小,彩虹表任务包括多个哈希链任务,每个哈希链任务要生成一个哈希链;将所述彩虹表任务按照哈希链任务的数量分配给n个GPU计算节点。

根据本发明的一个实施例,在哈希链任务的数量为m的情况下,m/n=x+y,其中,x为m除以n得到的商,y为余数,m为大于1的整数、x为大于0的整数,y为整数,将所述彩虹表任务分配给n个GPU计算节点包括:先均为n个GPU计算节点中的每个GPU计算节点分配x个哈希链任务;然后将剩余的y个哈希链任务顺序地再分配给n个GPU计算节点中的前y个GPU计算节点,为前y个GPU计算节点中的每个GPU计算节点分配一个哈希链任务。

根据本发明的一个实施例,将生成的彩虹表中的哈希链的链尾节点进行索引分组,对分组内的链尾节点进行排序包括:根据哈希链的链尾节点的二进制数值的大小范围来对彩虹表进行索引分组;对每个分组内的哈希链的链尾节点按照二进制数值的大小顺序进行排序。

根据本发明的一个实施例,待解密的密文通过LM、MD4、NTLSHASH、MD5或SHA1算法加密,与待解密的密文相对应的密码为1-12位。

根据本发明实施例的第二方面,提供一种基于大数据彩虹表的解密装置,包括:n个GPU计算节点,被分配彩虹表任务,每个GPU计算节点生成一个彩虹表,n为大于1的整数;彩虹表索引排序单元,用于对n个GPU计算节点生成的彩虹表中的哈希链的链尾节点进行索引分组,对分组内的链尾节点进行排序;查找单元,用于在经索引分组和排序的彩虹表内,对待解密的密文先执行索引查找然后执行二分查找,以获得相应的明文完成解密。

根据本发明的一个实施例,基于大数据彩虹表的解密装置还包括文件系统,用于向n个GPU计算节点分配彩虹表任务,存储n个GPU计算节点生成的彩虹表。

根据本发明的一个实施例,文件系统包括:彩虹表生成日志记录单元,用于为各个GPU计算节点设置彩虹表生成数据参数,写入彩虹表生成标记,彩虹表生成标记用于指示彩虹表生成是否成功;日志检查单元,用于检查彩虹表生成标记,如果彩虹表生成标记指示彩虹表生成不成功,调用相应的GPU计算节点继续生成彩虹表。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南电网有限责任公司电力科学研究院,未经云南电网有限责任公司电力科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201611147432.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top