一种基于多gpu破解设备的密码破解方法和系统的制作方法

文档序号:8299370阅读:456来源:国知局
一种基于多gpu破解设备的密码破解方法和系统的制作方法
【技术领域】
[0001]本发明涉及密码破解技术领域,尤其涉及一种多GPU破解设备的密码破解方法和系统。
【背景技术】
[0002]现有的密码破解方法一般是基于CPU的破解方式。如申请号为CN201410328280.9的专利申请,其提供一种密码破解系统及方法,所述方法包括:步骤1、根据密码破解需求提交任务数据;步骤2、根据集群环境分析提交的任务数据,得到破解任务,同时提交破解任务及该破解任务的字典描述、服务描述;步骤3、根据提交的字典描述及服务描述,并结合计算单元状态对破解任务进行计算切分,之后提交切分的任务破解分片;步骤4、根据提交的任务破解分片并结合字典描述对任务破解分片进行计算,同时合并计算结果得到最终密码;步骤5、将最终密码与登录密码匹配。该发明使得网络安保部门能够快速进入非法加密网站进行重要情报收集,进而采取有效打击措施,这对维护我国信息安全具有重要意义。但这样的密码破解方法是基于CPU的破解方式,其破解速度低。
[0003]随着图像处理器GPU (Graphic Process Unit)的高性能数据处理能力的发展,其为密码的高速破解提供了新的解决途径。GPU将大量的晶体管用作计算单元,适合高计算强度的应用。GPU在高性能运算方面具有三个突出优点:第一,数据的并行处理能力强大,NVIDIA公司目前最新的GPU K20峰值浮点运算能力超过3TFL0PS,这几乎和一个小型CPU集群相当;第二,GPU拥有出色的高密集运算能力,K20的带宽超过200 GB/s ;第三,GPU拥有良好的可编程性,支持多种高级语言编程,NVIDIA开发的CUDA架构支持C/C++和Fortran。现阶段国内外的密码破解方法仅能支持单机系统,其最多只包含4片GPU,这对于破解速度要求非常高的场合性能仍然显得非常有限。
[0004]综上,基于CPU的破解方式破解速度低,基于GPU的破解方式仅能支持单机系统,破解能力同样有限且扩展性差。

【发明内容】

[0005]针对现有技术中的密码破解方法存在破解速度低的技术问题,本发明公开了一种基于多GPU破解设备的密码破解方法和系统。
[0006]本发明公开了一种基于多GPU破解设备的密码破解方法,其具体包括以下的步骤:步骤一、客户端根据用户需求创建破解任务,并将破解任务下发给GPU代理设备,GPU代理设备将客户端下发的破解任务划分成若干个子任务,并将这些子任务分配给不同的GPU破解设备;步骤二、每个GPU破解设备执行分配到的子任务,并将执行的破解结果通过GPU代理设备反馈给客户端。
[0007]更进一步地,上述方法还包括将正确的校验值写入到GPU破解设备的常量内存。
[0008]更进一步地,上述任务分配的具体过程为:首先根据用户输入的字符集计算出此次密码破解所需的总口令数量N,根据GPU代理设备中负载均衡模块得到参与破解的GPU破解设备的数量为NI,每个参与破解的GPU破解设备下GPU卡的数量为N2,那么第一个GPU破解设备上第一张GPU卡分配到的口令区间就是[0,N/N1/N2),第二张GPU卡分配到的口令区间是[N/N1/N2,2 N/N1/N2),依次类推,第一个GPU破解设备上第N2张GPU卡分配到的口令区间是[(N2-1)N/N1/N2, N/N1)。
[0009]本发明还公开了一种基于多GPU破解设备的密码破解系统,其具体包括客户端,GPU代理设备和多个GPU破解设备,所述客户端与GPU代理设备之间信号连接,所述GPU代理设备和多个GPU破解设备之间信号连接,所述客户端根据用户需求创建破解任务,并将破解任务下发给GPU代理设备,GPU代理设备将客户端下发的破解任务划分成若干个子任务,并将这些子任务分配给不同的GPU破解设备;每个GPU破解设备执行分配到的子任务,并将执行的破解结果通过GPU代理设备反馈给客户端。
[0010]更进一步地,上述客户端包括用户交互模块、任务管理模块和日志管理模块;所述用户交互模块用于与用户进行信息交互,所述任务管理模块用于管理用户下发的任务,所述日志管理模块管理模块用于对客户登陆和设备接入信息进行管理。
[0011]更进一步地,上述GPU代理设备包括负载均衡模块、特征值提取模块、口令空间划分模块和设备管理模块;所述负载均衡模块根据当前GPU破解设备的忙闲状态来动态选择一台或者多台GPU破解设备进行破解;所述特征值提取模块用于提取出破解参数和校验参数,用于GPU破解设备的破解运算;所述口令空间划分模块用于为每个参与破解的GPU破解设备划分一定范围的口令区间;所述设备管理模块用于多GPU破解设备的管理。
[0012]更进一步地,上述GPU破解设备包括口令生成模块和口令破解模块;所述口令生成模块用于根据偏移量、GPU线程ID号以及字符集长度来生成口令,所述口令破解模块根据生成的口令进行破解运算。
[0013]更进一步地,将正确的校验值写入到GPU破解设备的常量内存。
[0014]通过采用以上的技术方案,本发明的有益效果为:本发明的密码破解方法及系统能支持多节点的GPU集群,因此可根据需求适当地进行GPU破解设备的扩展,提高了密码破解的速度,较好地提升了密码破解的性能。
【附图说明】
[0015]图1为基于多GPU破解设备的密码破解系统。
[0016]图2为基于多GPU破解设备的密码破解流程图。
[0017]图3为口令生成流程图。
【具体实施方式】
[0018]下面结合说明书附图,详细说明本发明的【具体实施方式】。
[0019]本发明公开了一种基于多GPU破解设备的密码破解方法,其具体包括以下的步骤:步骤一、客户端根据用户需求创建破解任务,并将破解任务下发给GPU代理设备,GPU代理设备将客户端下发的破解任务划分成若干个子任务,并将这些子任务分配给不同的GPU破解设备;步骤二、每个GPU破解设备执行分配到的子任务,并将执行的破解结果通过GPU代理设备反馈给客户端。本发明支持多节点的GPU集群,因此可根据需求适当地进行GPU破解设备的扩展,较好地提升了密码破解的性能,提高了密码破解的速度。
[0020]本发明还公开了一种基于多GPU破解设备的密码破解系统,其具体包括客户端,GPU代理设备和多个GPU破解设备,所述客户端与GPU代理设备之间信号连接,所述GPU代理设备和多个GPU破解设备之间信号连接,所述客户端根据用户需求创建破解任务,并将破解任务下发给GPU代理设备,GPU代理设备将客户端下发的破解任务划分成若干个子任务,并将这些子任务分配给不同的GPU破解设备;每个GPU破解设备执行分配到的子任务,并将执行的破解结果通过GPU代理设备反馈给客户端。本发明的系统支持多节点的GPU集群,因此可根据需求适当地进行GPU破解设备的扩展,较好地提升了密码破解的性能,提高了密码破解的速度。如图1所示,本发明的基于多GPU破解设备的密码破解系统包括I个客户端、I个GPU代理设备以及4个或者更多的GPU破解设备组成。其中客户端的功能主要是创建、配置、下发破解任务并及时接受、显示破解过程中的主要信息;GPU代理设备的主要功能是拆分破解任务、进行复杂均衡等;GPU破解设备主要是根据GPU代理设备下发的任务进行破解并且上报破解的过程和结果。
[0021]如图2所示的基于多GPU破解设备的密码破解流程图,按照数据流的方向分为客户端、GPU代理设备和GPU破解设备。其中客户端包括用户交互模块、任务管理模块和日志管理模块;GPU代理设备包括负载均衡模块、特征值提取模块、口令空间划分模块和设备管理模块;所述GPU破解设备包括口令生成模块和口令破解模块。
[0022]所述用户交互模块用于与用户进行信息交互,所述任务管理模块用于管理用户下发的任务;所述日志管理模块管理模块用于对客户登陆和设备接入信息进行管理;从而方便用户实现密码破解并对密码破解的过程进行有效记载。用户交互模块为用户提供了密码破解任务基本信息的输入接口,包括破解口令的字符集指定、口令的长度区间范围(最小口令长度、最大口令长度)、自定义字符集等。这个为用户提供了友好的系统操作接口,也将更加方便用户根据实际情况对密码破解进行配置。任务管理模块是为用户下发的任务提供了管理功能,是的不同用户能方便查看现在正在进行的任务,已经完成或者中止的任务、查看任务的破解结果等等信息。日志管理模块是对客户登陆、设备接入等等信息进行管理。
[0023]更进一步地,为了适应GPU集群的异构特点,本发明还提供了可靠的任务调度系统来实现负载均衡,从而提高破解速度。其具体的技术方案为:所述GPU代理设备包括负载均衡模块、特征值提取模块、口令空
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1