本發(fā)明涉及解密處理技術領域,具體涉及一種基于fpga的多板卡陣列并行解密裝置及其方法。
背景技術:
加密算法經過了多年的發(fā)展,目前大部分已經趨于成熟和穩(wěn)定,其中可利用的算法漏洞也越來越少。因此,不需要任何算法漏洞都可進行密碼破解的純暴力破解手段就成為了一種通用的解密手段。而在解密處理領域,對相關加密數(shù)據(jù)進行破解是一項重要的內容,尤其對于國防、公安等有著極其重要的意義。
現(xiàn)有的破解平臺多數(shù)采用單一計算機或計算機集群的方式進行破解,由于計算機上的cpu(centralprocessingunit)只具備串行運算的能力,這很大程度上限制了破解的效率和性能。另外如采用計算機集群的方式加大破解效能,其在功耗和發(fā)熱上也將遇到問題。fpga(fieldprogrammablegatearray)是現(xiàn)場可編程門陣列,其具有cpu無以比擬的硬件并行處理能力,在計算的性能,功耗和成本上均比cpu的實現(xiàn)方式有很明顯的優(yōu)勢。
技術實現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有技術中的上述缺陷,提供一種基于fpga的多板卡陣列并行解密裝置及其方法。
根據(jù)公開的實施例,本發(fā)明的第一方面公開了一種基于fpga的多板卡陣列并行解密裝置,采用cpci的通信架構,所述的并行解密裝置包括:一張用于對外通訊和對解密卡進行管理調度控制的主控卡、六張以上用于解密快速運算和運算結果上報的解密卡以及一張用于上述解密卡與主控卡完成板卡間高速互聯(lián)的背板;
所述的解密卡均由多個fpga組成,通過并行解密裝置中的背板互聯(lián),實現(xiàn)多個fpga的并行解密處理;
所述的并行解密裝置中采用arm處理器負責各板卡內的狀態(tài)管理和fpga固件的配置加載,并通過內部的網絡通路傳輸給上位機pc,由上位機根據(jù)相關的狀態(tài)進行控制和調度。
進一步地,所述的主控卡包括對外自適應的10/100/1000mbps網口,通過該網口實現(xiàn)與外界的交互,接收用戶在配套的上位機軟件上輸入相關密文和破解策略,所述的主控卡將按照已設置好的策略和調度控制讓下連的解密卡進行運行并最終把運算結果上傳給上位機上。
進一步地,所述的主控卡和每張解密卡采用3對高速serdes進行內部互聯(lián)。
進一步地,所述的解密卡均具有5個fpga解密單元,其中1個作為轉發(fā)單元用于負責數(shù)據(jù)的轉發(fā),其余4個作為高速解密單元運行,轉發(fā)單元和下連的高速解密單元間具有各自獨立的數(shù)據(jù)通路,數(shù)據(jù)的帶寬可達18gbps。
進一步地,所述的解密單元內均配有大容量的內存ddr3單元以滿足解密的數(shù)據(jù)存儲和訪問的需要。
根據(jù)公開的實施例,本發(fā)明的第二方面公開了一種基于fpga的多板卡陣列并行解密方法,所述的并行解密方法包括下列步驟:
并行解密裝置上電后主控卡檢測并行解密裝置中存在的解密卡數(shù)量和整機狀態(tài),并把相應的狀態(tài)上報給pc上位機;
用戶在配套的上位機軟件上輸入相關密文和破解策略,提交到并行解密裝置的主控卡上,主控卡將按照已設置好的策略和調度控制讓下連的解密卡進行運行;
六張以上的解密卡通過并行解密裝置中的背板互聯(lián),實現(xiàn)多個fpga的并行解密處理;
各解密卡的運算結果上報匯總到主控卡,并最終由主控卡把運算結果上傳給上位機。
本發(fā)明相對于現(xiàn)有技術具有如下的優(yōu)點及效果:
本發(fā)明采用cpci的通信架構,對各板塊進行功能劃分,解密裝置中的各解密卡獨立運行互不干涉。解密裝置充分利用fpga的高速serdes接口,提高了數(shù)據(jù)傳輸帶寬,減少了數(shù)據(jù)傳輸時間;各板卡內均帶有高速大容量的內存ddr3單元,保證數(shù)據(jù)的高速存儲和訪問。由于fpga具有可編程和低功耗的特性,解密裝置中的各板卡采用了1個arm處理器芯片實現(xiàn)fpga固件的靈活配置,以滿足不同破解算法的破解需求,本解密裝置具有很強的通用性。
附圖說明
圖1是本發(fā)明公開的并行解密裝置的總體框圖;
圖2是本發(fā)明公開的并行解密裝置的應用場景說明簡圖;
圖3是本發(fā)明公開的并行解密裝置的內部硬件拓撲圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
實施例
本實施例公開的基于fpga的多板卡陣列并行解密裝置采用cpci的通信架構,以多張(不少于6張)fpga板卡陣列的方式通過高速背板進行互連,以實現(xiàn)整個系統(tǒng)解密運算和數(shù)據(jù)處理??紤]到系統(tǒng)的調度控制和對外互聯(lián),方案實現(xiàn)中設置了一張主控卡負責對外互聯(lián)和調度控制。附圖1給出了并行解密裝置的框架圖。整個并行解密裝置一共由3類板卡組成,分別是解密卡、主控卡以及背板,其功能分別如下:
1、主控卡,主要負責對外的通訊和解密卡的管理調度控制。
2、解密卡,主要解密的快速運算和運算結果的上報。
3、背板,主要完成板卡間的互聯(lián)。
為了提高并行解密裝置的解密運算能力,并行解密裝置中的各解密卡均由多個fpga組成,通過并行解密裝置中的背板互聯(lián),實現(xiàn)多個fpga的并行解密處理。同時由于fpga具有可編程特性,應用中可以通過對外接口實現(xiàn)fpga的固件更新,以實現(xiàn)不同解密的需求。并行解密裝置在功耗上由于fpga的特性,系統(tǒng)總功耗上可以控制在1000w內。
目前該裝置上已實現(xiàn)了對word2003/excel2003等文檔的解密,性能較傳統(tǒng)的解密方式有很大的提升,可以達到平均0.7s內完成1個word2003/excel2003文檔的解密(不關注密碼長度和密碼字符類型)。
附圖2給出的是1個應用場景的說明簡圖。用戶通過已安裝有和本裝置配套的上位機軟件電腦,該電腦使用網絡和本裝置進行互聯(lián)。用戶在配套的上位機軟件上輸入相關密文和破解策略等,然后提交到本并行解密裝置的主控卡上,主控卡將按照已設置好的策略和調度控制讓下連的解密卡進行運行并最終把運算結果上傳給上位機上。
如圖3所示,該并行解密裝置中具有7張fpga板卡,一共31個fpga器件組成。其中一張作為對外通信和整機控制的主控卡,其余均為負責解密運算的解密卡,各解密卡獨立運行互不干涉。主控卡通過對外自適應的10/100/1000mbps網口進行和外界的交互,并行解密裝置上電后主控卡檢測并行解密裝置中存在的解密卡數(shù)量和整機狀態(tài),并把相應的狀態(tài)上報給pc上位機。當有新的解密任務下發(fā)之后,解密的相關參數(shù)等將通過主控卡內的fpga高速serdes接口進行下發(fā)。本裝置主控卡和每張解密卡目前采用3對高速serdes進行內部互聯(lián),總的數(shù)據(jù)帶寬可達18gbps。并行解密裝置中一共有6張解密板卡,由于所有的解密卡均和主控卡有獨立的數(shù)據(jù)通道,背板的總數(shù)據(jù)帶寬達到108gbps(18linksx6gbps)。
本裝置中的各個解密卡中均具有5個fpga解密單元,其中1個負責數(shù)據(jù)的轉發(fā),其余4個作為高速解密單元運行在系統(tǒng)中。轉發(fā)單元和下連的解密單元間具有各自獨立的數(shù)據(jù)通路,數(shù)據(jù)的帶寬可達18gbps;同時為了使用解密的需要,各解密單元內均配有大容量的內存ddr3單元以滿足解密的數(shù)據(jù)存儲和訪問的需要。
為了滿足并行解密裝置的可配置特性和狀態(tài)管理,并行解密裝置中采用了arm處理器負責各板卡內的狀態(tài)管理和fpga固件的配置加載,并通過內部的網絡通路傳輸給上位機pc,由上位機根據(jù)相關的狀態(tài)進行控制和調度。由于采用fpga的可編程和低功耗特性,目前整個裝置的總體功耗不超過1000w。
本實施例還公開了一種基于fpga的多板卡陣列并行解密方法,基于上述公開的基于fpga的多板卡陣列并行解密裝置進行運行,包括下列技術步驟:
并行解密裝置上電后主控卡檢測并行解密裝置中存在的解密卡數(shù)量和整機狀態(tài),并把相應的狀態(tài)上報給pc上位機;
用戶在配套的上位機軟件上輸入相關密文和破解策略,提交到并行解密裝置的主控卡上,主控卡將按照已設置好的策略和調度控制讓下連的解密卡進行運行;
六張以上的解密卡通過并行解密裝置中的背板互聯(lián),實現(xiàn)多個fpga的并行解密處理;
各解密卡的運算結果上報匯總到主控卡,并最終由主控卡把運算結果上傳給上位機。
綜上所述,本實施例針對解密高效能,低功耗的要求,結合fpga的可編程特性,公開了一種基于fpga的多板卡陣列并行解密的硬件實現(xiàn)裝置,該解密裝置采用cpci的通信架構,對各板塊進行功能劃分,各解密卡獨立運行互不干涉。解密裝置充分利用fpga的高速serdes接口,提高了數(shù)據(jù)傳輸帶寬,減少了數(shù)據(jù)傳輸時間;各板卡內均帶有高速大容量的內存ddr3單元,保證數(shù)據(jù)的高速存儲和訪問。由于fpga具有可編程和低功耗的特性,解密裝置中的各板卡采用了1個arm處理器芯片實現(xiàn)fpga固件的靈活配置,以滿足不同破解算法的破解需求,本解密裝置具有很強的通用性。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內。