基于計算機網(wǎng)絡(luò )加密接口卡的硬件實(shí)現方案
【摘 要】本文根據作者的實(shí)際的開(kāi)發(fā)過(guò)程,提出了一種切實(shí)可行的基于計算機網(wǎng)絡(luò )的橢圓曲線(xiàn)加密接口系 統。內容包括橢圓密碼體制的選擇、有效算法的設計和快速加、解密的硬件實(shí)現及雙端口共享器的設計。并且詳細闡述了利用多片數字信號處理器TMS320C50 在微機上實(shí)現并行橢圓曲線(xiàn)加、解密系統的方法。
本文引用地址:http://dyxdggzs.com/article/148884.htm前言
隨著(zhù)信息時(shí)代的到來(lái),計算機網(wǎng)絡(luò )已成為人們進(jìn)行信息交流的主要手段之一。但由于計算機網(wǎng)絡(luò )的固有的弱點(diǎn)——開(kāi)放性,使得傳統的物理措施和人員管理措施難以抵御計算機網(wǎng)絡(luò )上不斷增加的各種安全侵害,因此密碼技術(shù)在實(shí)現網(wǎng)絡(luò )安全方面已被作為關(guān)鍵的手段。雖然目前已有一些加密軟件運行在聯(lián)網(wǎng)的微機上,但它們大多數都存在加密速度低或安全強度有限的缺點(diǎn),不能滿(mǎn)足高級別的網(wǎng)絡(luò )安全要求。在開(kāi)發(fā)計算機網(wǎng)絡(luò )加密系統的過(guò)程中,我們以橢圓密碼體制為基礎,利用一系列有效的算法,最終設計出了增強微機加密能力的密碼加密板,在計算機網(wǎng)絡(luò )加密方面取得了較好的實(shí)踐效果。
一、 計算機網(wǎng)絡(luò )加密系統的理論基礎
近年來(lái),橢圓曲線(xiàn)作為公開(kāi)密碼體制的基礎,已引起了通信保密領(lǐng)域內的廣泛關(guān)注。利用橢圓曲線(xiàn)進(jìn)行加解密的過(guò)程可以用圖一來(lái)表示。橢圓曲線(xiàn)在通信保密中的具體應用體現在各種信息傳輸協(xié)議上,比較常用的有:類(lèi)Diffie-Hellman 密鑰交換規程和類(lèi)ElGamal 體制,我們在系統設計中采用了后者。橢圓曲線(xiàn)加解密流程圖如圖1所示。

圖1 橢圓曲線(xiàn)加解密流程圖
橢圓曲線(xiàn)密碼體制要用到點(diǎn)乘、點(diǎn)加、模乘、模加、模逆、模冪這些基本運算,它們的執行速度直接決定著(zhù)橢圓曲線(xiàn)的加密速度。為了提高它們的速度,可從以下幾方面考慮:
①有效算法的設計。加解密算法的設計是密碼體制具體實(shí)現的過(guò)程,它為系統軟硬件設計提供了基礎,算法的好壞決定了系統的實(shí)用性。
② 快速加解密的實(shí)現。我們設計的網(wǎng)絡(luò )加密系統采用硬件加密板(主要部件為多片數字信號處理器TMS320C50)作為最終實(shí)現方案,它的優(yōu)點(diǎn)在于利用了算法中大量存在的并行性,提高了系統加解密的速度。
遵循以上原則,我們在計算機網(wǎng)絡(luò )加密系統的開(kāi)發(fā)方面取得了較好的實(shí)踐效果。本文根據作者的實(shí)際開(kāi)發(fā)經(jīng)驗,本文主要對網(wǎng)絡(luò )加密系統的硬件設計進(jìn)行較為詳細的論述。
二、基于并行加、解密算法的加密卡的設計
在我們研制的計算機網(wǎng)絡(luò )加密系統過(guò)程中,硬件結構采用了主從式的共享存儲型多處理機系統,互連結構采用雙端口存儲器方式,之所用這樣的結構是由于:
① 我們所研制的橢圓曲線(xiàn)加密系統主要用于計算機網(wǎng)絡(luò )上微機的安全。由于微機的硬件環(huán)境,故采用以微機為主結點(diǎn),以多片并行處理器作為從結點(diǎn)的主從式多處理機系統。
② 提供了訪(fǎng)問(wèn)沖突解決電路,并允許外部同時(shí)訪(fǎng)問(wèn)不同的單元,從而簡(jiǎn)化了電路設計,并極大地減少了訪(fǎng)問(wèn)沖突的可能性。
由于從結點(diǎn)的運算具有很大的獨立性,并且其運算需要大量的數據存儲,所以各個(gè)從結點(diǎn)都有自己的局部存儲器。網(wǎng)絡(luò )加密系統的硬件卡體系結構如圖2所示:

圖2加密接口板硬件系統結構圖
在選擇處理結點(diǎn)時(shí),我們使用了數字信號處理器(DSP)TMS320C50,它的特點(diǎn)是對密碼運算既有針對性,同時(shí)又易于開(kāi)發(fā)。對于微機在網(wǎng)絡(luò )上傳輸的文件,其大小一般都至少在500 個(gè)字符以上。也就是說(shuō),至少有25 個(gè)明文、密文組(本系統中,明密文組的長(cháng)度為20 個(gè)字符)。面系統的硬件的并行規模由于微機對電路板大小的限制及插槽個(gè)數的限制,最大允許10 個(gè)從結點(diǎn),即有5 個(gè)加、解密電路板。從而明、密文組這一級的并行性對于系統的硬件環(huán)境來(lái)說(shuō)已經(jīng)足夠用了。因此,我們僅采用算法中明、密文組級的并行性。由于本系統采用雙端口共享存儲互連方式,可以利用共享存儲器來(lái)存放被加載的程序,從而引導方式設置為16 位并行EPROM,主機通過(guò)控制端口來(lái)對TMS320C50 進(jìn)行初始化。
三、網(wǎng)絡(luò )加密的并行處理的實(shí)現
針對計算機網(wǎng)絡(luò )加密的特點(diǎn),本文采用了Pentium 4 與兩個(gè)高速數字信號處理器TMS320C50 組成三機并行處理系統,如圖2所示。TMS320C50 具有獨立的內存單元,并具有32 位浮點(diǎn)格式,浮點(diǎn)運算精度高。兩個(gè)TMS320C50 分別為獨立的子系統,通過(guò)PC 機ISA 總線(xiàn)與PC 機相連。TMS320C50 與主控機之間的通訊采用共享存儲技術(shù),用雙端口RAM 作為共享存儲器。

圖3 多處理器并行處理系統
該系統運行時(shí),算法采用靜態(tài)調度方法,PC 機作為主控機。PC 機執行算法并進(jìn)行任務(wù)分配協(xié)調,A 結點(diǎn)TMS320C50 執行加密,B 結點(diǎn)TMS320C50 執行加密。所有和程序都用C 語(yǔ)言開(kāi)發(fā)。PC 機向TMS320C50發(fā)出復位命令,程序聯(lián)機加載。PC 機將初始數據通過(guò)雙端口RAM 傳送到每個(gè)子系統。子系統與PC 機并行計算,獨立完成自己的計算任務(wù)后將結果再傳送回PC 機,由PC 機完成最后輸出。由于本系統采用共享存儲互連方式,可以利用共享存儲器來(lái)存放被加載的程序,從而引導方式設置為16位并行EPROM。我們由主機通過(guò)控制端口來(lái)對TMS320C50 進(jìn)行初始(RESET)。主機啟動(dòng)從結點(diǎn)的過(guò)程為:
① 通過(guò)控制端口將從結點(diǎn)的RESET 引腳置低。
② 從主機將程序代碼裝入雙端口存儲器(此時(shí)由于TMS320C50 不活動(dòng),故不會(huì )干擾雙端口存儲器數據)。
③ 在雙端口存儲器中設置引導程序選擇字及其它引導參數。
④ 通過(guò)控制端口將從結點(diǎn)的RESET 引腳置高。
由于從結點(diǎn)在大數取模時(shí)使用的是模余數表的方法,從而需要大容量的局部數據存儲器,我們采用了32K字的快速RAM,能夠保證TMS320C50 的無(wú)等待訪(fǎng)問(wèn)。由于我們的從結點(diǎn)程序比較大(超過(guò)8K 字),故另外又配置了32K 字的局部程序存儲器。
評論