一种密码破解方法和装置制造方法及图纸

技术编号:16837983 阅读:41 留言:0更新日期:2017-12-19 20:17
本发明专利技术公开了一种密码破解方法和装置,方法包括:CPU按照预设分析规则将待破解密码拆分为由掩码和子字符串组成的形式,并为掩码和子字符串分别生成对应的密码口令空间,将子字符串的密码口令空间划分给一个或多个GPU;一个或多个GPU均根据被划分到的子字符串生成一个密码口令子空间,均根据各自生成的密码口令子空间与掩码进行排列组合,生成完整密码口令空间,并使用完整密码口令空间对待破解密码进行破解。本发明专利技术的密码破解方法可以明显减少待破解密码产生的排列组合的数量,并由CPU和GPU协同计算,对密码排列组合产生的空间进行划分,提高了密码破解的效率,解决了现有技术的问题。

A method and device for cipher cracking

The invention discloses a password cracking method and device. The method includes: CPU according to the preset analysis rules will be split by mask and crack the password string forms, and mask and substring respectively generated space password corresponding to the code, the password space sub string to one or more GPU one or more GPU; according to be divided into sub string to generate a password password according to the subspace subspace and mask their generation of permutation and combination, generate a complete password space, and use the whole space to crack password password crack. The cryptographic cracking method of the invention can obviously reduce the number of permutations and combinations generated by the password to be cracked, and divide the space generated by the cipher permutation and combination by the co calculation of CPU and GPU, improving the efficiency of the password cracking, and solving the existing technology problems.

【技术实现步骤摘要】
一种密码破解方法和装置
本专利技术涉及密码破解
,特别是涉及一种密码破解方法和装置。
技术介绍
当前,信息安全问题越来越受到重视,而密码学的研究是信息安全领域的基础,密码破解是密码学的重要方向之一,密码破解不仅可以用于公共安全取证等领域,同时也可以更好地检验密码算法的安全性,促进密码算法的发展。目前最主要的密码破解方法是暴力破解。暴力破解也叫穷举式破解,破解者将密码中所有可能用到的字符进行穷举式排列组合,并逐一进行验证,是一种广泛使用的密码破解手段。近年来随着用户信息安全意识的增强,通常将密码长度设置为10位以上,并且包括特殊字符,这种密码称之为强密码。构造强密码产生的排列组合数量巨大,简单的暴力破解由于计算能力与存储能力的限制,已经无法取得实用的效果。例如,采用穷举式破解方法破解一个10位可能包含95种全字符的密码,在通过GPU(图形处理器,GraphicsProcessingUnit)加速后50亿次每秒的计算速度的条件下,生成10位包含95种全字符密码空间约需要的时间为138597天,约380年。针对强密码的破解,由于密码产生的排列组合数量巨大,传统的穷举式破解方法单一通过CPU(中央处理器,CentralProcessingUnit)或GPU进行破解运算,无法有效的破解密码;同时由于计算资源消耗在对待破解密码产生的所有排列组合的遍历上,还会导致多个密码破解任务的堆积。
技术实现思路
本专利技术提供一种密码破解方法和装置,用以解决现有技术的如下问题:现有密码破解方法单一通过CPU或GPU进行破解运算,并采用将待破解密码生成的全排列进行遍历的方式,耗时长且易导致破解任务堆积。针对以上问题,一方面,本专利技术提供一种密码破解方法,包括:CPU按照预设分析规则将待破解密码拆分为由掩码和子字符串组成的形式,并为所述掩码和所述子字符串分别生成对应的密码口令空间,将所述子字符串的密码口令空间划分给一个或多个GPU;所述一个或多个GPU均根据被划分到的子字符串生成一个密码口令子空间,均根据各自生成的所述密码口令子空间与所述掩码进行排列组合,生成完整密码口令空间,并使用所述完整密码口令空间对所述待破解密码进行破解。可选的,将所述子字符串的密码口令空间划分给多个GPU,包括:所述CPU按照平均分配方式将所述子字符串的密码口令空间划分为多个密码口令子空间;所述CPU分别将每一个所述密码口令子空间对应的子字符串划分给一个GPU。可选的,在将所述子字符串的密码口令空间划分给多个GPU,包括:所述CPU根据所述子字符串中的字符范围L和所述子字符串的长度N确定所述密码口令空间中所述子字符串的个数为L的N次幂,表示为LN;所述CPU根据GPU的个数NUM,将所述子字符串的密码口令空间平均划分给所述多个GPU,所述每个GPU的获得的所述密码口令子空间中子字符串的范围分别为:[0,LN/NUM]、[LN/NUM,2*LN/NUM]、…、[(NUM-1)*LN/NUM,LN]。可选的,使用所述完整密码口令空间对所述待破解密码进行破解,包括:将每一个所述完整密码口令空间中的密码分别作为输入解密码填写入密码输入口,以检测所述输入解密码是否为正确密码。可选的,使用所述完整密码口令空间对所述待破解密码进行破解之后,还包括:向用户返回密码破解结果,并在屏幕上进行呈现。另一方面,为实现上述目的,本专利技术还提供一种密码破解装置,包括:第一执行模块,用于使CPU按照预设分析规则将待破解密码拆分为由掩码和子字符串组成的形式,并为所述掩码和所述子字符串分别生成对应的密码口令空间,将所述子字符串的密码口令空间划分给一个或多个GPU;第二执行模块,用于使所述一个或多个GPU均根据被划分到的子字符串生成一个密码口令子空间,均根据各自生成的所述密码口令子空间与所述掩码进行排列组合,生成完整密码口令空间,并使用所述完整密码口令空间对所述待破解密码进行破解。可选的,所述第一执行模块,具体用于:使所述CPU按照平均分配方式将所述子字符串的密码口令空间划分为多个密码口令子空间,并分别将每一个所述密码口令子空间对应的子字符串划分给一个GPU。可选的,所述第一执行模块,具体还用于:使所述CPU根据所述子字符串中的字符范围L和所述子字符串的长度N确定所述密码口令空间中所述子字符串的个数为L的N次幂,表示为LN;所述CPU根据GPU的个数NUM,将所述子字符串的密码口令空间平均划分给所述多个GPU,所述每个GPU的获得的所述密码口令子空间中子字符串的范围分别为:[0,LN/NUM]、[LN/NUM,2*LN/NUM]、…、[(NUM-1)*LN/NUM,LN]。可选的,所述第二执行模块,具体用于:将每一个所述完整密码口令空间中的密码分别作为输入解密码填写入密码输入口,以检测所述输入解密码是否为正确密码。可选的,所述密码破解装置还包括:呈现模块,用于在使用所述完整密码口令空间对所述待破解密码进行破解之后,向用户返回密码破解结果,并在屏幕上进行呈现。本专利技术首先将待破解密码拆分为由掩码和子字符串组成的形式,并为掩码和子字符串分别生成对应的密码口令空间,进而将子字符串的密码口令空间划分给一个或多个GPU,由GPU根据被划分到的子字符串生成一个密码口令子空间,并根据各自生成的密码口令子空间与掩码进行排列组合,生成完整密码口令空间,最后使用完整密码口令空间对待破解密码进行破解。这种方法可以明显减少待破解密码产生的排列组合的数量,并由CPU和GPU协同计算,对密码排列组合产生的空间进行划分,提高了密码破解的效率,解决了现有技术的如下问题:单一通过CPU或GPU进行破解运算,并采用将待破解密码生成的全排列进行遍历的方式,耗时长且易导致破解任务堆积。附图说明图1是本专利技术第一实施例中密码破解方法的流程图;图2是本专利技术第二实施例中密码破解装置的结构示意图;图3是本专利技术第三实施例中生成完整密码口令空间的示意图;图4是本专利技术第三实施例中生成完整密码口令空间的流程图;图5是本专利技术第三实施例中密码破解程序的流程图。具体实施方式为了解决现有技术的问题:现有密码破解方法单一通过CPU或GPU进行破解运算,并采用将待破解密码生成的全排列进行遍历的方式,耗时长且易导致破解任务堆积;本专利技术第一实施例提供了一种密码破解方法,该方法流程图如图1所示,包括步骤S102至S104:S102,CPU按照预设分析规则将待破解密码拆分为由掩码和子字符串组成的形式,并为掩码和子字符串分别生成对应的密码口令空间,将子字符串的密码口令空间划分给一个或多个GPU;S104,一个或多个GPU均根据被划分到的子字符串生成一个密码口令子空间,均根据各自生成的密码口令子空间与掩码进行排列组合,生成完整密码口令空间,并使用完整密码口令空间对待破解密码进行破解。为提高密码破解效率,在将子字符串的密码口令空间划分给多个GPU时,具体还可以包括:CPU按照平均分配方式将子字符串的密码口令空间划分为多个密码口令子空间;CPU分别将每一个密码口令子空间对应的子字符串划分给一个GPU。具体被划分的子字符串的密码口令空间的表示如下:CPU根据子字符串中的字符类型对应的范围L和子字符串的长度N确定密码口令空间中子字符串的个数为L的N次幂,表示为LN,LN也就是本文档来自技高网...
一种密码破解方法和装置

【技术保护点】
一种密码破解方法,其特征在于,包括:CPU按照预设分析规则将待破解密码拆分为由掩码和子字符串组成的形式,并为所述掩码和所述子字符串分别生成对应的密码口令空间,将所述子字符串的密码口令空间划分给一个或多个GPU;所述一个或多个GPU均根据被划分到的子字符串生成一个密码口令子空间,均根据各自生成的所述密码口令子空间与所述掩码进行排列组合,生成完整密码口令空间,并使用所述完整密码口令空间对所述待破解密码进行破解。

【技术特征摘要】
1.一种密码破解方法,其特征在于,包括:CPU按照预设分析规则将待破解密码拆分为由掩码和子字符串组成的形式,并为所述掩码和所述子字符串分别生成对应的密码口令空间,将所述子字符串的密码口令空间划分给一个或多个GPU;所述一个或多个GPU均根据被划分到的子字符串生成一个密码口令子空间,均根据各自生成的所述密码口令子空间与所述掩码进行排列组合,生成完整密码口令空间,并使用所述完整密码口令空间对所述待破解密码进行破解。2.如权利要求1所述的密码破解方法,将所述子字符串的密码口令空间划分给多个GPU,包括:所述CPU按照平均分配方式将所述子字符串的密码口令空间划分为多个密码口令子空间;所述CPU分别将每一个所述密码口令子空间对应的子字符串划分给一个GPU。3.如权利要求2所述的密码破解方法,在将所述子字符串的密码口令空间划分给多个GPU,包括:所述CPU根据所述子字符串中的字符范围L和所述子字符串的长度N确定所述密码口令空间中所述子字符串的个数为L的N次幂,表示为LN;所述CPU根据GPU的个数NUM,将所述子字符串的密码口令空间平均划分给所述多个GPU,所述每个GPU的获得的所述密码口令子空间中子字符串的范围分别为:[0,LN/NUM]、[LN/NUM,2*LN/NUM]、…、[(NUM-1)*LN/NUM,LN]。4.如权利要求1所述的密码破解方法,其特征在于,使用所述完整密码口令空间对所述待破解密码进行破解,包括:将每一个所述完整密码口令空间中的密码分别作为输入解密码填写入密码输入口,以检测所述输入解密码是否为正确密码。5.如权利要求1至4中任一项所述的密码破解方法,其特征在于,使用所述完整密码口令空间对所述待破解密码进行破解之后,还包括:向用户返回密码破解结果,并在屏幕...

【专利技术属性】
技术研发人员:查奇文杜翠兰杨博李鹏霄刘晓辉段东圣王晶李扬曦程光
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1