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