Nothing Special   »   [go: up one dir, main page]

CN107491689A - 一种密码破解方法和装置 - Google Patents

一种密码破解方法和装置 Download PDF

Info

Publication number
CN107491689A
CN107491689A CN201710560788.5A CN201710560788A CN107491689A CN 107491689 A CN107491689 A CN 107491689A CN 201710560788 A CN201710560788 A CN 201710560788A CN 107491689 A CN107491689 A CN 107491689A
Authority
CN
China
Prior art keywords
password
substring
space
gpu
num
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710560788.5A
Other languages
English (en)
Other versions
CN107491689B (zh
Inventor
查奇文
杜翠兰
杨博
李鹏霄
刘晓辉
段东圣
王晶
李扬曦
程光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Computer Network and Information Security Management Center
Original Assignee
National Computer Network and Information Security Management Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Computer Network and Information Security Management Center filed Critical National Computer Network and Information Security Management Center
Priority to CN201710560788.5A priority Critical patent/CN107491689B/zh
Publication of CN107491689A publication Critical patent/CN107491689A/zh
Application granted granted Critical
Publication of CN107491689B publication Critical patent/CN107491689B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

一种密码破解方法和装置
技术领域
本发明涉及密码破解技术领域,特别是涉及一种密码破解方法和装置。
背景技术
当前,信息安全问题越来越受到重视,而密码学的研究是信息安全领域的基础,密码破解是密码学的重要方向之一,密码破解不仅可以用于公共安全取证等领域,同时也可以更好地检验密码算法的安全性,促进密码算法的发展。
目前最主要的密码破解方法是暴力破解。暴力破解也叫穷举式破解,破解者将密码中所有可能用到的字符进行穷举式排列组合,并逐一进行验证,是一种广泛使用的密码破解手段。近年来随着用户信息安全意识的增强,通常将密码长度设置为10位以上,并且包括特殊字符,这种密码称之为强密码。构造强密码产生的排列组合数量巨大,简单的暴力破解由于计算能力与存储能力的限制,已经无法取得实用的效果。例如,采用穷举式破解方法破解一个10位可能包含95种全字符的密码,在通过GPU(图形处理器,Graphics ProcessingUnit)加速后50亿次每秒的计算速度的条件下,生成10位包含95种全字符密码空间约需要的时间为138597天,约380年。
针对强密码的破解,由于密码产生的排列组合数量巨大,传统的穷举式破解方法单一通过CPU(中央处理器,Central Processing Unit)或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的个数NUM,将子字符串的密码口令空间平均划分给多个GPU,每个GPU的获得的密码口令子空间中子字符串的范围分别为:
[0,LN/NUM]、[LN/NUM,2*LN/NUM]、…、[(NUM-1)*LN/NUM,LN]。
例如,破解任务是要破解一个社交网站9位的登录密码,根据预定规则(如密码字典分析规则)进行分析,认为密码由4位字母和5位数字组成,并将密码中字母的部分确定为掩码,例如在CPU已经通过计算确定掩码为root,破解任务就转变为对密码中其它5位数字的破解,在本发明实施例中,这5位数字就被称为子字符串,子字符串的长度为5;每一位数字的取值范围是0、1、2、3、4、5、6、7、8、9十个数字,即字符范围为10,待破解的子字符串的密码口令空间就是这五位数字的全排列,则子字符串的密码口令空间包含的字符串的个数就是105个,子字符串的密码口令空间对应的字符串范围就是[00000,00001,…,99998,99999];在本实施例中,破解任务使用的GPU的个数为8个,将子字符串的密码口令空间平均划分给这8个GPU,则平均分配后每个GPU的获得的密码口令子空间中子字符串的范围分别为:[00000,12499]、[12500,24999]、[25000,37499]、[37500,49999]、[50000,62499]、[62500,74999]、[75000,87499]、[87500,99999];每个GPU根据CPU划分获得的子字符串的范围中的每一个字符串可能的排列,与上述产生的掩码root逐一进行组合,就生成了破解任务中完整密码口令空间。
在使用完整密码口令空间对待破解密码进行破解时,将每一个完整密码口令空间中的密码分别作为输入解密码填写入密码输入口,以检测输入解密码是否为正确密码。虽然该过程也是采用穷举法进行迭代尝试,但是尝试的密码数量较原有的密码数量形成了巨大差别,可以明显加快破解速度。
为了方便破解密码的用户更加直观的知晓破解结果,在使用完整密码口令空间中的密码对待破解密码进行破解之后,还可以向用户返回密码破解结果,并在屏幕上进行呈现,使用户得知密码破解的结果,提高用户体验。
本发明第一实施例的密码破解方法,首先将待破解密码拆分为由掩码和子字符串组成的形式,并为掩码和子字符串分别生成对应的密码口令空间,进而将子字符串的密码口令空间划分给一个或多个GPU,由每个GPU根据被划分到的子字符串生成一个密码口令子空间,并根据各自生成的密码口令子空间与掩码进行排列组合,生成完整密码口令空间,最后使用完整密码口令空间对待破解密码进行破解。这种方法可以明显减少待破解密码产生的排列组合的数量,并由CPU和GPU协同计算,对密码排列组合产生的空间进行划分,提高了密码破解的效率,解决了现有技术的如下问题:单一通过CPU或GPU进行破解运算,并采用将待破解密码生成的全排列进行遍历的方式,耗时长且易导致破解任务堆积。
本发明的第二实施例提供了一种密码破解装置,该装置的结构示意如图2所示,包括:第一执行模块10,用于使CPU按照预设分析规则将待破解密码拆分为由掩码和子字符串组成的形式,并为掩码和子字符串分别生成对应的密码口令空间,将子字符串的密码口令空间划分给一个或多个GPU;第二执行模块20,与第一执行模块10耦合,用于使一个或多个GPU均根据被划分到的子字符串生成一个密码口令子空间,均根据各自生成的密码口令子空间与掩码进行排列组合,生成完整密码口令空间,并使用完整密码口令空间对待破解密码进行破解。
为提高密码破解效率,第一执行模块在将子字符串的密码口令空间划分给一个或多个GPU时,具体实现的功能是:使CPU按照平均分配方式将子字符串的密码口令空间划分为多个密码口令子空间,并分别将每一个密码口令子空间对应的子字符串划分给一个GPU。
第一执行模块在实现上述功能时,具体被划分的子字符串的密码口令空间的表示如下:
使CPU根据子字符串中的字符范围L和子字符串的长度N确定密码口令空间中子字符串的个数为L的N次幂,表示为LN,LN也就是子字符串在该密码破解任务中产生的排列组合的个数,这些排列组合形成了子字符串的密码口令空间;
在确定了子字符串的产生的排列组合的之后,CPU根据破解任务中GPU的个数NUM,将子字符串的密码口令空间平均划分给多个GPU,每个GPU的获得的密码口令子空间中子字符串的范围分别为:
[0,LN/NUM]、[LN/NUM,2*LN/NUM]、…、[(NUM-1)*LN/NUM,LN]。
例如,破解任务是要破解一个社交网站9位的登录密码,本实施例中的第一执行模块根据预定规则(如密码字典分析规则)进行分析,认为密码由4位字母和5位数字组成,并将密码中字母的部分确定为掩码,例如在CPU已经通过计算确定掩码为root,破解任务就转变为对密码中其它5位数字的破解,在本实施例中,这5位数字就被称为子字符串,子字符串的长度为5;子字符串由数字组成,则每一位数字的取值范围就是0、1、2、3、4、5、6、7、8、9十个数字,即字符范围为10,待破解的子字符串的密码口令空间就是这五位数字的全排列,则子字符串的密码口令空间包含的字符串的个数就是105个,子字符串的密码口令空间对应的字符串范围就是[00000,00001,…,99998,99999];在本实施例中,破解任务使用的GPU的个数为8个,将子字符串的密码口令空间平均划分给这8个GPU,则平均分配后每个GPU的获得的密码口令子空间中子字符串的范围分别为:[00000,12499]、[12500,24999]、[25000,37499]、[37500,49999]、[50000,62499]、[62500,74999]、[75000,87499]、[87500,99999];进而,第二执行模块使每个GPU根据CPU划分获得的子字符串的范围中的每一个字符串可能的排列,与上述产生的掩码root逐一进行组合,就生成了破解任务中完整密码口令空间。
在本实施例中,在生成完整密码口令空间后,第二执行模块还用于:
将每一个完整密码口令空间中的密码分别作为输入解密码填写入密码输入口,以检测输入解密码是否为正确密码。虽然该过程也是采用穷举法进行迭代尝试,但是尝试的密码数量较原有的密码数量形成了巨大差别,可以明显加快破解速度。
为了方便破解密码的用户更加直观的知晓破解结果,,本发明第二实施例中的密码破解装置还包括:
呈现模块,用于在使用完整密码口令空间对待破解密码进行破解之后,向用户返回密码破解结果,并在屏幕上进行呈现。该模块实现的功能使用户得知密码破解的结果,提高了用户体验。
本发明第二实施例的密码破解装置,第一执行模块将待破解密码拆分为由掩码和子字符串组成的形式,并为掩码和子字符串分别生成对应的密码口令空间,进而将子字符串的密码口令空间划分给一个或多个GPU;第二执行模块使每个GPU根据被划分到的子字符串生成一个密码口令子空间,并根据各自生成的密码口令子空间与掩码进行排列组合,生成完整密码口令空间,最后使用完整密码口令空间对待破解密码进行破解。这种密码破解装置破解密码,可以明显减少待破解密码产生的排列组合的数量,并由CPU和GPU协同计算,对密码排列组合产生的空间进行划分,提高了密码破解的效率,解决了现有技术的如下问题:单一通过CPU或GPU进行破解运算,并采用将待破解密码生成的全排列进行遍历的方式,耗时长且易导致破解任务堆积。
本发明第三实施例提供了一种密码破解方法,该方法可以解决现有技术的如下问题:在多个密码破解任务的情况下,使用GPU构造待破解密码所有位全排列的密码口令空间,采用暴力破解方法导致密码破解时间长、任务堆积严重。
针对现有技术存在上述的问题,本发明实施例使用预定规则生成掩码,并将待破解密码分为掩码与子字符串组合的形式,并由CPU将子字符串交给GPU处理,GPU生成子字符串对应的密码口令空间,并将该密码口令空间中的各个子字符串分别与CPU中的掩码进行组合,得到完整的密码口令空间,再由GPU对完整的密码口令空间中的密码进行尝试破解。与现有技术相比,该方法能够快速生成完整密码口令空间,更适用于在有限的时间范围内快速地破解长密码的情况。
本实施例的具体过程如下,包括:
(1)本实施例提供了一个密码空间划分的过程。
由于用户设置密码的习惯常常符合一定的规律,根据现有社会工程学成果或密码字典规则,可以对用户密码设置规律进行分析,得到待破解密码可能的构成规则,从而构造带有掩码的密码口令空间。例如,常用的密码设置规则为:固定的字符串S与数字的组合形式,将这类密码定义为带有掩码的密码,将固定的字符串S称为掩码,后面的数字为子字符串。将完整密码口令空间形式上设置为mask{S,M}与sub_charset{L,N}的组合;其中,S表示掩码的字符串,M表示掩码的字符串长度,L表示子字符串中字符类型对应的范围,N表示子口令空间长度。当然,在某些情况下,掩码和子字符串的位置可以调整,根据需求,可以是子字符串设置在前,掩码设置在后。
(2)本实施例提供了利用CPU构造子字符串的密码口令空间的过程。
在掩码确定之后,密码破解变为对子字符串部分进行破解,由CPU生成子字符串的密码口令空间,根据上述密码设置规则,子字符串的密码口令空间由子字符串中字符类型对应的范围L,以及子字符串的字符串长度N决定,子字符串的密码口令空间中子字符串的个数为L的N次幂,表示为LN,CPU根据GPU设备的个数NUM为每个GPU设备分配相应的密码口令空间,每个GPU的获得的密码口令子空间中子字符串的范围分别为:
[0,LN/NUM]、[LN/NUM,2*LN/NUM]、…、[(NUM-1)*LN/NUM,LN]。
(3)本实施例提供了一个生成完整密码空间的过程。
通过CPU划分子字符串的密码口令空间,每个GPU根据划分到的子字符串的密码口令空间对应的字符串范围生成密码口令子空间,进一步,将掩码与密码口令子空间进行排列组合,生成完整密码口令空间,生成完整密码口令空间的示意图如图3所示,生成完整密码口令空间的流程图如图4所示,完整密码在形式上表示为password{S+L,M+N}。
(4)本实施例提供了一个利用GPU进行密码破解的过程。
GPU利用生成的完整密码口令空间对待破解密码进行破解,破解成功的进行记录,处理下一个密码破解任务。对完整密码口令空间遍历后仍未破解成功,则放弃该破解任务,放弃破解,将该任务加入失败队列,处理下一个密码破解任务。
在具体实现时,如果从用户角度出发,则本实施例提供的密码破解方法流程可以如图5所示,具体包括如下步骤:
(1)将多个密码破解任务存入到任务队列中。
(2)从任务队列中取出一条密码破解任务。
(3)用户在破解系统界面下确定掩码规则。
为待破解密码划分规则设置,具体的,用户根据具体需求确定掩码生成规则与子字符串的字符类型与字符串长度。
(4)接收到掩码规则后,由CPU和GPU根据掩码规则协同工作生成完整密码口令空间。
实现的过程中,先进行密码空间生成与划分,具体的,CPU根据用户需求生成掩码,同时生成子字符串的密码口令空间,根据GPU个数对每个GPU设备划分好子字符串的密码口令空间对应的子字符串范围;再进行完整密码口令空间生成,具体的,每个GPU根据划分到的子字符串范围,生成相应的密码口令子空间,并进一步与掩码排列组合生成完整密码口令空间。
(5)密码破解系统利用生成的完整密码口令空间进行破解,记录并向用户展示破解结果,该密码破解任务完成之后,转到步骤(2),直至任务队列为空。
在密码破解与结果呈现时,破解程序利用完整密码口令空间对待破解任务进行穷举式暴力破解,并将破解结果返回给用户。
本实施例提供的密码破解方法,利用掩码构造密码,将生成的密码口令空间减小到高概率范围,能有效降低破解密码的时间。
例如,破解10位包含计算机系统中95种全部字符种类的密码为例,GPU以50亿次每秒的计算能力,生成10位包含95种全部字符种类的完整密码口令空间需要138597天。若通过社会工程学方法或密码字典进行分析,该密码以字符“root”开头,用户可以设置掩码为“root”,则构造掩码为“root”的10位包含95中全部字符种类的完整密码口令空间只需要147秒。
本发明第三实施例的密码破解方法,首先将待破解密码拆分为由掩码和子字符串组成的形式,并为掩码和子字符串分别生成对应的密码口令空间,进而将子字符串的密码口令空间划分给一个或多个GPU,由每个GPU根据被划分到的子字符串生成一个密码口令子空间,并根据各自生成的密码口令子空间与掩码进行排列组合,生成完整密码口令空间,最后使用完整密码口令空间对待破解密码进行破解。这种方法可以明显减少待破解密码产生的排列组合的数量,并由CPU和GPU协同计算,对密码排列组合产生的空间进行划分,提高了密码破解的效率,解决了现有技术的如下问题:单一通过CPU或GPU进行破解运算,并采用将待破解密码生成的全排列进行遍历的方式,耗时长且易导致破解任务堆积。
基于上述方法,本实施例还提出了一种密码破解系统,包括:
任务生成模块(相当于本发明第二实施例中第一执行模块的部分功能)、划分模块(相当于本发明第二实施例中第一执行模块的部分功能)、破解模块(相当于本发明第二实施例中的第二执行模块)、用户查询模块(相当于本发明第二实施例中的呈现模块)。
任务生成模块:用于生成破解任务,并将该破解任务存入缓存队列以供后续模块使用。
划分模块:用于确定掩码并将待破解密码表示为掩码与子字符串组合的形式,进而利用CPU生成子字符串的密码口令空间并将密码口令空间根据GPU的数量进行划分。
破解模块:每个GPU根据划分到的子字符串的密码口令空间对应的字符串范围,生成各自的密码口令子空间,各个密码口令子空间与掩码进行排练组合,生成完整密码空间。根据生成的完整密码空间对待破解任务进行暴力破解,并记录破解结果。
用户查询模块:根据用户的请求返回密码破解任务的执行阶段并显示密码破解结果。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

Claims (10)

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中任一项所述的密码破解方法,其特征在于,使用所述完整密码口令空间对所述待破解密码进行破解之后,还包括:
向用户返回密码破解结果,并在屏幕上进行呈现。
6.一种密码破解装置,其特征在于,包括:
第一执行模块,用于使CPU按照预设分析规则将待破解密码拆分为由掩码和子字符串组成的形式,并为所述掩码和所述子字符串分别生成对应的密码口令空间,将所述子字符串的密码口令空间划分给一个或多个GPU;
第二执行模块,用于使所述一个或多个GPU均根据被划分到的子字符串生成一个密码口令子空间,均根据各自生成的所述密码口令子空间与所述掩码进行排列组合,生成完整密码口令空间,并使用所述完整密码口令空间对所述待破解密码进行破解。
7.如权利要求6所述的密码破解装置,所述第一执行模块,具体用于:
使所述CPU按照平均分配方式将所述子字符串的密码口令空间划分为多个密码口令子空间,并分别将每一个所述密码口令子空间对应的子字符串划分给一个GPU。
8.如权利要求7所述的密码破解装置,所述第一执行模块,具体还用于:
使所述CPU根据所述子字符串中的字符范围L和所述子字符串的长度N确定所述密码口令空间中所述子字符串的个数为L的N次幂,表示为LN
所述CPU根据GPU的个数NUM,将所述子字符串的密码口令空间平均划分给所述多个GPU,所述每个GPU的获得的所述密码口令子空间中子字符串的范围分别为:
[0,LN/NUM]、[LN/NUM,2*LN/NUM]、…、[(NUM-1)*LN/NUM,LN]。
9.如权利要求6所述的密码破解装置,其特征在于,所述第二执行模块,具体用于:
将每一个所述完整密码口令空间中的密码分别作为输入解密码填写入密码输入口,以检测所述输入解密码是否为正确密码。
10.如权利要求6至9中任一项所述的密码破解装置,其特征在于,还包括:
呈现模块,用于在使用所述完整密码口令空间对所述待破解密码进行破解之后,向用户返回密码破解结果,并在屏幕上进行呈现。
CN201710560788.5A 2017-07-11 2017-07-11 一种密码破解方法和装置 Expired - Fee Related CN107491689B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710560788.5A CN107491689B (zh) 2017-07-11 2017-07-11 一种密码破解方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710560788.5A CN107491689B (zh) 2017-07-11 2017-07-11 一种密码破解方法和装置

Publications (2)

Publication Number Publication Date
CN107491689A true CN107491689A (zh) 2017-12-19
CN107491689B CN107491689B (zh) 2020-10-16

Family

ID=60644405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710560788.5A Expired - Fee Related CN107491689B (zh) 2017-07-11 2017-07-11 一种密码破解方法和装置

Country Status (1)

Country Link
CN (1) CN107491689B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019354B (zh) * 2020-11-02 2021-02-09 之江实验室 一种基于生成式对抗网络的口令遍历装置及方法
CN112597479A (zh) * 2020-12-01 2021-04-02 中国科学院信息工程研究所 一种基于gpu的针对口令密码的混合破解模式优化方法和装置
CN112861113A (zh) * 2021-01-08 2021-05-28 复旦大学 一种参数化混合模型的口令猜测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684754A (zh) * 2013-12-03 2014-03-26 中国电子科技集团公司第三十研究所 一种基于gpu集群的wpa共享密钥破解系统
CN104077542A (zh) * 2014-07-10 2014-10-01 南威软件股份有限公司 一种密码破解系统及方法
CN104182208A (zh) * 2014-08-08 2014-12-03 北京锐安科技有限公司 利用破解规则破解密码的方法及系统
CN104615945A (zh) * 2015-02-04 2015-05-13 中国电子科技集团公司第三十研究所 一种基于多gpu破解设备的密码破解方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684754A (zh) * 2013-12-03 2014-03-26 中国电子科技集团公司第三十研究所 一种基于gpu集群的wpa共享密钥破解系统
CN104077542A (zh) * 2014-07-10 2014-10-01 南威软件股份有限公司 一种密码破解系统及方法
CN104182208A (zh) * 2014-08-08 2014-12-03 北京锐安科技有限公司 利用破解规则破解密码的方法及系统
CN104615945A (zh) * 2015-02-04 2015-05-13 中国电子科技集团公司第三十研究所 一种基于多gpu破解设备的密码破解方法和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019354B (zh) * 2020-11-02 2021-02-09 之江实验室 一种基于生成式对抗网络的口令遍历装置及方法
CN112597479A (zh) * 2020-12-01 2021-04-02 中国科学院信息工程研究所 一种基于gpu的针对口令密码的混合破解模式优化方法和装置
CN112597479B (zh) * 2020-12-01 2024-06-18 中国科学院信息工程研究所 一种基于gpu的针对口令密码的混合破解模式优化方法和装置
CN112861113A (zh) * 2021-01-08 2021-05-28 复旦大学 一种参数化混合模型的口令猜测方法
CN112861113B (zh) * 2021-01-08 2022-05-20 复旦大学 一种参数化混合模型的口令猜测方法

Also Published As

Publication number Publication date
CN107491689B (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
Tong et al. Accelerating decision tree based traffic classification on FPGA and multicore platforms
Ur et al. Measuring {Real-World} Accuracies and Biases in Modeling Password Guessability
Alani Testing randomness in ciphertext of block-ciphers using DieHard tests
CN110572362B (zh) 针对多类不均衡异常流量的网络攻击检测方法及装置
Liu et al. A byte-level CNN method to detect DNS tunnels
CN110570346B (zh) 一种基于循环生成对抗网络对书法进行风格迁移的方法
CN117278325B (zh) 一种计算机网络大数据安全防护方法及系统
CN107491689A (zh) 一种密码破解方法和装置
CN109388565B (zh) 基于生成式对抗网络的软件系统性能优化方法
CN110347501A (zh) 一种业务检测方法、装置、存储介质及电子设备
CN109460676A (zh) 一种混合数据的脱敏方法、脱敏装置及脱敏设备
CN115883109B (zh) 一种航空系统的数据压缩加密方法及系统
CN114726823B (zh) 一种基于生成对抗网络的域名生成方法、装置和设备
Horalek et al. Analysis of the use of Rainbow Tables to break hash
CN106570391A (zh) 基于记忆组块的密码猜测集生成方法及数字密码破解方法
CN111191253B (zh) 一种数据加密组合方法
CN113312609B (zh) 基于策略梯度的生成式对抗网络的口令破解方法及系统
CN117725598A (zh) 安卓端数据加解密方法、装置、设备及介质
CN117557708A (zh) 图像生成方法、装置、存储介质及计算机设备
CN104504156B (zh) 一种基于压缩感知理论的文本数据流抽样方法
Li et al. Mimic computing for password recovery
CN115473734A (zh) 基于单分类和联邦学习的远程代码执行攻击检测方法
CN110162794A (zh) 一种分词的方法及服务器
Baig et al. Bit rate reduction in cloud gaming using object detection technique
CN112597479A (zh) 一种基于gpu的针对口令密码的混合破解模式优化方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201016

Termination date: 20210711