基于計算機網絡加密接口卡的硬件實現(xiàn)方案
【摘 要】本文根據作者的實際的開發(fā)過程,提出了一種切實可行的基于計算機網絡的橢圓曲線加密接口系 統(tǒng)。內容包括橢圓密碼體制的選擇、有效算法的設計和快速加、解密的硬件實現(xiàn)及雙端口共享器的設計。并且詳細闡述了利用多片數(shù)字信號處理器TMS320C50 在微機上實現(xiàn)并行橢圓曲線加、解密系統(tǒng)的方法。
本文引用地址:http://m.butianyuan.cn/article/148884.htm前言
隨著信息時代的到來,計算機網絡已成為人們進行信息交流的主要手段之一。但由于計算機網絡的固有的弱點——開放性,使得傳統(tǒng)的物理措施和人員管理措施難以抵御計算機網絡上不斷增加的各種安全侵害,因此密碼技術在實現(xiàn)網絡安全方面已被作為關鍵的手段。雖然目前已有一些加密軟件運行在聯(lián)網的微機上,但它們大多數(shù)都存在加密速度低或安全強度有限的缺點,不能滿足高級別的網絡安全要求。在開發(fā)計算機網絡加密系統(tǒng)的過程中,我們以橢圓密碼體制為基礎,利用一系列有效的算法,最終設計出了增強微機加密能力的密碼加密板,在計算機網絡加密方面取得了較好的實踐效果。
一、 計算機網絡加密系統(tǒng)的理論基礎
近年來,橢圓曲線作為公開密碼體制的基礎,已引起了通信保密領域內的廣泛關注。利用橢圓曲線進行加解密的過程可以用圖一來表示。橢圓曲線在通信保密中的具體應用體現(xiàn)在各種信息傳輸協(xié)議上,比較常用的有:類Diffie-Hellman 密鑰交換規(guī)程和類ElGamal 體制,我們在系統(tǒng)設計中采用了后者。橢圓曲線加解密流程圖如圖1所示。
圖1 橢圓曲線加解密流程圖
橢圓曲線密碼體制要用到點乘、點加、模乘、模加、模逆、模冪這些基本運算,它們的執(zhí)行速度直接決定著橢圓曲線的加密速度。為了提高它們的速度,可從以下幾方面考慮:
①有效算法的設計。加解密算法的設計是密碼體制具體實現(xiàn)的過程,它為系統(tǒng)軟硬件設計提供了基礎,算法的好壞決定了系統(tǒng)的實用性。
② 快速加解密的實現(xiàn)。我們設計的網絡加密系統(tǒng)采用硬件加密板(主要部件為多片數(shù)字信號處理器TMS320C50)作為最終實現(xiàn)方案,它的優(yōu)點在于利用了算法中大量存在的并行性,提高了系統(tǒng)加解密的速度。
遵循以上原則,我們在計算機網絡加密系統(tǒng)的開發(fā)方面取得了較好的實踐效果。本文根據作者的實際開發(fā)經驗,本文主要對網絡加密系統(tǒng)的硬件設計進行較為詳細的論述。
二、基于并行加、解密算法的加密卡的設計
在我們研制的計算機網絡加密系統(tǒng)過程中,硬件結構采用了主從式的共享存儲型多處理機系統(tǒng),互連結構采用雙端口存儲器方式,之所用這樣的結構是由于:
① 我們所研制的橢圓曲線加密系統(tǒng)主要用于計算機網絡上微機的安全。由于微機的硬件環(huán)境,故采用以微機為主結點,以多片并行處理器作為從結點的主從式多處理機系統(tǒng)。
② 提供了訪問沖突解決電路,并允許外部同時訪問不同的單元,從而簡化了電路設計,并極大地減少了訪問沖突的可能性。
由于從結點的運算具有很大的獨立性,并且其運算需要大量的數(shù)據存儲,所以各個從結點都有自己的局部存儲器。網絡加密系統(tǒng)的硬件卡體系結構如圖2所示:
圖2加密接口板硬件系統(tǒng)結構圖
在選擇處理結點時,我們使用了數(shù)字信號處理器(DSP)TMS320C50,它的特點是對密碼運算既有針對性,同時又易于開發(fā)。對于微機在網絡上傳輸?shù)奈募?,其大小一般都至少?00 個字符以上。也就是說,至少有25 個明文、密文組(本系統(tǒng)中,明密文組的長度為20 個字符)。面系統(tǒng)的硬件的并行規(guī)模由于微機對電路板大小的限制及插槽個數(shù)的限制,最大允許10 個從結點,即有5 個加、解密電路板。從而明、密文組這一級的并行性對于系統(tǒng)的硬件環(huán)境來說已經足夠用了。因此,我們僅采用算法中明、密文組級的并行性。由于本系統(tǒng)采用雙端口共享存儲互連方式,可以利用共享存儲器來存放被加載的程序,從而引導方式設置為16 位并行EPROM,主機通過控制端口來對TMS320C50 進行初始化。
三、網絡加密的并行處理的實現(xiàn)
針對計算機網絡加密的特點,本文采用了Pentium 4 與兩個高速數(shù)字信號處理器TMS320C50 組成三機并行處理系統(tǒng),如圖2所示。TMS320C50 具有獨立的內存單元,并具有32 位浮點格式,浮點運算精度高。兩個TMS320C50 分別為獨立的子系統(tǒng),通過PC 機ISA 總線與PC 機相連。TMS320C50 與主控機之間的通訊采用共享存儲技術,用雙端口RAM 作為共享存儲器。
圖3 多處理器并行處理系統(tǒng)
該系統(tǒng)運行時,算法采用靜態(tài)調度方法,PC 機作為主控機。PC 機執(zhí)行算法并進行任務分配協(xié)調,A 結點TMS320C50 執(zhí)行加密,B 結點TMS320C50 執(zhí)行加密。所有和程序都用C 語言開發(fā)。PC 機向TMS320C50發(fā)出復位命令,程序聯(lián)機加載。PC 機將初始數(shù)據通過雙端口RAM 傳送到每個子系統(tǒng)。子系統(tǒng)與PC 機并行計算,獨立完成自己的計算任務后將結果再傳送回PC 機,由PC 機完成最后輸出。由于本系統(tǒng)采用共享存儲互連方式,可以利用共享存儲器來存放被加載的程序,從而引導方式設置為16位并行EPROM。我們由主機通過控制端口來對TMS320C50 進行初始(RESET)。主機啟動從結點的過程為:
① 通過控制端口將從結點的RESET 引腳置低。
② 從主機將程序代碼裝入雙端口存儲器(此時由于TMS320C50 不活動,故不會干擾雙端口存儲器數(shù)據)。
③ 在雙端口存儲器中設置引導程序選擇字及其它引導參數(shù)。
④ 通過控制端口將從結點的RESET 引腳置高。
由于從結點在大數(shù)取模時使用的是模余數(shù)表的方法,從而需要大容量的局部數(shù)據存儲器,我們采用了32K字的快速RAM,能夠保證TMS320C50 的無等待訪問。由于我們的從結點程序比較大(超過8K 字),故另外又配置了32K 字的局部程序存儲器。
評論