一种基于FPGA的多板卡阵列并行解密装置及其方法与流程

文档序号:12889857阅读:494来源:国知局
一种基于FPGA的多板卡阵列并行解密装置及其方法与流程

本发明涉及解密处理技术领域,具体涉及一种基于fpga的多板卡阵列并行解密装置及其方法。



背景技术:

加密算法经过了多年的发展,目前大部分已经趋于成熟和稳定,其中可利用的算法漏洞也越来越少。因此,不需要任何算法漏洞都可进行密码破解的纯暴力破解手段就成为了一种通用的解密手段。而在解密处理领域,对相关加密数据进行破解是一项重要的内容,尤其对于国防、公安等有着极其重要的意义。

现有的破解平台多数采用单一计算机或计算机集群的方式进行破解,由于计算机上的cpu(centralprocessingunit)只具备串行运算的能力,这很大程度上限制了破解的效率和性能。另外如采用计算机集群的方式加大破解效能,其在功耗和发热上也将遇到问题。fpga(fieldprogrammablegatearray)是现场可编程门阵列,其具有cpu无以比拟的硬件并行处理能力,在计算的性能,功耗和成本上均比cpu的实现方式有很明显的优势。



技术实现要素:

本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于fpga的多板卡阵列并行解密装置及其方法。

根据公开的实施例,本发明的第一方面公开了一种基于fpga的多板卡阵列并行解密装置,采用cpci的通信架构,所述的并行解密装置包括:一张用于对外通讯和对解密卡进行管理调度控制的主控卡、六张以上用于解密快速运算和运算结果上报的解密卡以及一张用于上述解密卡与主控卡完成板卡间高速互联的背板;

所述的解密卡均由多个fpga组成,通过并行解密装置中的背板互联,实现多个fpga的并行解密处理;

所述的并行解密装置中采用arm处理器负责各板卡内的状态管理和fpga固件的配置加载,并通过内部的网络通路传输给上位机pc,由上位机根据相关的状态进行控制和调度。

进一步地,所述的主控卡包括对外自适应的10/100/1000mbps网口,通过该网口实现与外界的交互,接收用户在配套的上位机软件上输入相关密文和破解策略,所述的主控卡将按照已设置好的策略和调度控制让下连的解密卡进行运行并最终把运算结果上传给上位机上。

进一步地,所述的主控卡和每张解密卡采用3对高速serdes进行内部互联。

进一步地,所述的解密卡均具有5个fpga解密单元,其中1个作为转发单元用于负责数据的转发,其余4个作为高速解密单元运行,转发单元和下连的高速解密单元间具有各自独立的数据通路,数据的带宽可达18gbps。

进一步地,所述的解密单元内均配有大容量的内存ddr3单元以满足解密的数据存储和访问的需要。

根据公开的实施例,本发明的第二方面公开了一种基于fpga的多板卡阵列并行解密方法,所述的并行解密方法包括下列步骤:

并行解密装置上电后主控卡检测并行解密装置中存在的解密卡数量和整机状态,并把相应的状态上报给pc上位机;

用户在配套的上位机软件上输入相关密文和破解策略,提交到并行解密装置的主控卡上,主控卡将按照已设置好的策略和调度控制让下连的解密卡进行运行;

六张以上的解密卡通过并行解密装置中的背板互联,实现多个fpga的并行解密处理;

各解密卡的运算结果上报汇总到主控卡,并最终由主控卡把运算结果上传给上位机。

本发明相对于现有技术具有如下的优点及效果:

本发明采用cpci的通信架构,对各板块进行功能划分,解密装置中的各解密卡独立运行互不干涉。解密装置充分利用fpga的高速serdes接口,提高了数据传输带宽,减少了数据传输时间;各板卡内均带有高速大容量的内存ddr3单元,保证数据的高速存储和访问。由于fpga具有可编程和低功耗的特性,解密装置中的各板卡采用了1个arm处理器芯片实现fpga固件的灵活配置,以满足不同破解算法的破解需求,本解密装置具有很强的通用性。

附图说明

图1是本发明公开的并行解密装置的总体框图;

图2是本发明公开的并行解密装置的应用场景说明简图;

图3是本发明公开的并行解密装置的内部硬件拓扑图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

本实施例公开的基于fpga的多板卡阵列并行解密装置采用cpci的通信架构,以多张(不少于6张)fpga板卡阵列的方式通过高速背板进行互连,以实现整个系统解密运算和数据处理。考虑到系统的调度控制和对外互联,方案实现中设置了一张主控卡负责对外互联和调度控制。附图1给出了并行解密装置的框架图。整个并行解密装置一共由3类板卡组成,分别是解密卡、主控卡以及背板,其功能分别如下:

1、主控卡,主要负责对外的通讯和解密卡的管理调度控制。

2、解密卡,主要解密的快速运算和运算结果的上报。

3、背板,主要完成板卡间的互联。

为了提高并行解密装置的解密运算能力,并行解密装置中的各解密卡均由多个fpga组成,通过并行解密装置中的背板互联,实现多个fpga的并行解密处理。同时由于fpga具有可编程特性,应用中可以通过对外接口实现fpga的固件更新,以实现不同解密的需求。并行解密装置在功耗上由于fpga的特性,系统总功耗上可以控制在1000w内。

目前该装置上已实现了对word2003/excel2003等文档的解密,性能较传统的解密方式有很大的提升,可以达到平均0.7s内完成1个word2003/excel2003文档的解密(不关注密码长度和密码字符类型)。

附图2给出的是1个应用场景的说明简图。用户通过已安装有和本装置配套的上位机软件电脑,该电脑使用网络和本装置进行互联。用户在配套的上位机软件上输入相关密文和破解策略等,然后提交到本并行解密装置的主控卡上,主控卡将按照已设置好的策略和调度控制让下连的解密卡进行运行并最终把运算结果上传给上位机上。

如图3所示,该并行解密装置中具有7张fpga板卡,一共31个fpga器件组成。其中一张作为对外通信和整机控制的主控卡,其余均为负责解密运算的解密卡,各解密卡独立运行互不干涉。主控卡通过对外自适应的10/100/1000mbps网口进行和外界的交互,并行解密装置上电后主控卡检测并行解密装置中存在的解密卡数量和整机状态,并把相应的状态上报给pc上位机。当有新的解密任务下发之后,解密的相关参数等将通过主控卡内的fpga高速serdes接口进行下发。本装置主控卡和每张解密卡目前采用3对高速serdes进行内部互联,总的数据带宽可达18gbps。并行解密装置中一共有6张解密板卡,由于所有的解密卡均和主控卡有独立的数据通道,背板的总数据带宽达到108gbps(18linksx6gbps)。

本装置中的各个解密卡中均具有5个fpga解密单元,其中1个负责数据的转发,其余4个作为高速解密单元运行在系统中。转发单元和下连的解密单元间具有各自独立的数据通路,数据的带宽可达18gbps;同时为了使用解密的需要,各解密单元内均配有大容量的内存ddr3单元以满足解密的数据存储和访问的需要。

为了满足并行解密装置的可配置特性和状态管理,并行解密装置中采用了arm处理器负责各板卡内的状态管理和fpga固件的配置加载,并通过内部的网络通路传输给上位机pc,由上位机根据相关的状态进行控制和调度。由于采用fpga的可编程和低功耗特性,目前整个装置的总体功耗不超过1000w。

本实施例还公开了一种基于fpga的多板卡阵列并行解密方法,基于上述公开的基于fpga的多板卡阵列并行解密装置进行运行,包括下列技术步骤:

并行解密装置上电后主控卡检测并行解密装置中存在的解密卡数量和整机状态,并把相应的状态上报给pc上位机;

用户在配套的上位机软件上输入相关密文和破解策略,提交到并行解密装置的主控卡上,主控卡将按照已设置好的策略和调度控制让下连的解密卡进行运行;

六张以上的解密卡通过并行解密装置中的背板互联,实现多个fpga的并行解密处理;

各解密卡的运算结果上报汇总到主控卡,并最终由主控卡把运算结果上传给上位机。

综上所述,本实施例针对解密高效能,低功耗的要求,结合fpga的可编程特性,公开了一种基于fpga的多板卡阵列并行解密的硬件实现装置,该解密装置采用cpci的通信架构,对各板块进行功能划分,各解密卡独立运行互不干涉。解密装置充分利用fpga的高速serdes接口,提高了数据传输带宽,减少了数据传输时间;各板卡内均带有高速大容量的内存ddr3单元,保证数据的高速存储和访问。由于fpga具有可编程和低功耗的特性,解密装置中的各板卡采用了1个arm处理器芯片实现fpga固件的灵活配置,以满足不同破解算法的破解需求,本解密装置具有很强的通用性。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1