【正文】
在電話機(jī)的組成中,有一個(gè)A/D, D/A電路。 在軍事通信總站用戶服務(wù)呼叫系統(tǒng)中,只要對(duì)通信終端設(shè)備進(jìn)行端一端DES加密,那么整個(gè)系統(tǒng)的信息傳遞就比較安全可靠了。鏈一鏈加密是指加密的地方在物理層。數(shù)據(jù)用戶是《通信總站用戶服務(wù)呼叫中心》系統(tǒng)的組成部分之一,功能是使用調(diào)制解調(diào)器及相應(yīng)軟件(Internet瀏覽器,或?qū)S密浖?登陸到總站用戶服務(wù)呼叫中心網(wǎng)絡(luò),獲得查詢的數(shù)據(jù)結(jié)果。而總站的電話會(huì)議系統(tǒng)及時(shí)解決了這些問(wèn)題。下面就對(duì)各部份進(jìn)行簡(jiǎn)要介紹: : 通信總站業(yè)務(wù)系統(tǒng)是《通信總站用戶服務(wù)呼叫中心》系統(tǒng)的重要組成部份,用戶能夠查詢到的資料都由該系統(tǒng)提供。2,經(jīng)常性的巡線制度。 通信總站機(jī)關(guān)和各營(yíng),連,哨所是通過(guò)獨(dú)立的通信線路相連接的,組成獨(dú)立的通信網(wǎng)絡(luò)。一般來(lái)說(shuō),全國(guó)各省都有一個(gè)軍事通信總站,擔(dān)負(fù)著全省所有部隊(duì)的通信保障工作,是各省軍事通信樞紐。利用同一組Testbench對(duì)系統(tǒng)的解密功能進(jìn)行測(cè)試,即將得出的密文連同原有密鑰一同發(fā)回由系統(tǒng)進(jìn)行解密:圖44 Key:5B 5A 57 67 6A 56 67 6ECipher: 97 4A FF BF 86 02 2D 1FDeciph: 67 5A 69 67 5E 5A 6B 5A與原先輸入的Plain Text一致。各方法均驗(yàn)證了本設(shè)計(jì)的加/解密功能。成功下載到試驗(yàn)板EITS2003上的XC2S100中。 下圖是DES加密系統(tǒng)的ModelSim的仿真波形圖:圖41將上圖中紅色方框內(nèi)的波形放大如下,可以看到三級(jí)流水線的效果,即d_data_rdy為高的時(shí)候有連續(xù)的三個(gè)64位加密數(shù)據(jù)塊輸出,如下圖中紅色橢圓內(nèi)所示??紤]到實(shí)際布局布線之后的性能折扣,DES加密核心的數(shù)據(jù)吞吐量也應(yīng)可在百M(fèi)數(shù)量級(jí)。最后介紹了整體設(shè)計(jì)結(jié)果。用兩個(gè)LED分別作為UART串口傳輸?shù)谝粠瑪?shù)據(jù)的開(kāi)始和所有數(shù)據(jù)接收完畢的指示。NET Control3 LOC=p123。NET Display6 LOC=p114。NET Display2 LOC=p110。NET TX_reset LOC=p16。NET TXD LOC=p199。endendendmoduleDES加密系統(tǒng)頂層設(shè)計(jì)中,des. v, pram. v, uartnew. v, FrecLDiv. v, HEX2LED. v為系統(tǒng)調(diào)用函數(shù)。 LED_ Flag=239。 endelse if(LED_Flag====239。 Control=439。 LEDes Flag=239。 endelse if(LED_Flag==239。 b00) begin Display=DisplayAl: Control=439。/********七段碼輸出控制狀態(tài)機(jī)*************/always(posedge clk_LED or negedge rstn) beginif(!rstn)begin Display=0。 assign rstn=RX_reset。 assign time_seed=2639。HEX2LED myHLBl(DISPLAY一OUNTER[11:8],DisplayBl)。 b 1。desIdes(.reset(RX),.clk (clk),.data_ bus (DATA_OUT64),.TEST_OUT (TEST_OUT_REG),.e_data_rdy(E_DATA_RDY),.key(DATA_OUT64),.decrypt(DECRYPT),.data out(DATA_IN64),.d_ data_ rdy(DATA_IN64_ EN),.block_ counter (BLOCK_ COUNTER),.total_block(TOTAIFRAME[11:3]))。assign DISPLAY_COUNTER=RX?(FRAME_COUNTER+1):(FRAME_COUNTER8)。 b0000。 b 1。wire DATA_IN64_EN。wire [11:0] TOTAL_FRAME。wire [63:0] DATA_IN64。wire [] DATAREADY。reg [1:0] LED_ Flag。output [3:0] Control。input DECRYPT。input TX_ reset:input RX_reset://input DES_ reset。在本設(shè)計(jì)中對(duì)默認(rèn)的所有存儲(chǔ)區(qū)初始化為0。bl), .RSTB(139。由于本設(shè)計(jì)中RAM有64位數(shù)據(jù)的讀寫(xiě)和8位數(shù)據(jù)的讀寫(xiě),采用雙端形式可以方便地址線的控制。本例中選用8*512。dout是并行輸出信號(hào)。同時(shí),用dataready信號(hào)上升沿對(duì)接收幀數(shù)進(jìn)行計(jì)數(shù)。接收數(shù)據(jù): 按照串口傳輸協(xié)議,檢測(cè)起始位,為防止因干擾或其它因素引起的電平跳動(dòng),以波特率16倍的頻率檢測(cè),一旦檢測(cè)到起始位,就開(kāi)始接收數(shù)據(jù),要保證在數(shù)據(jù)位的中間取樣。同時(shí)會(huì)給傳送的8位數(shù)據(jù)加上起始位,奇偶校驗(yàn)位和停止位。在本設(shè)計(jì)中,為了方便文件的傳輸,我們也設(shè)計(jì)了基于UA RT的串口通信模塊。圖34 S盒在XC2S100e的實(shí)現(xiàn) 密鑰生成器的設(shè)計(jì)是獨(dú)立于DES輪函數(shù)運(yùn)算實(shí)現(xiàn)的,采用3級(jí)流水線來(lái)與輪函數(shù)中的流水線相平衡,單輪的實(shí)現(xiàn)如圖9。這是最簡(jiǎn)單的實(shí)現(xiàn)方法,但是HDL語(yǔ)言都屬于高級(jí)語(yǔ)言,它們強(qiáng)烈依賴于編譯器的優(yōu)化能力,往往對(duì)設(shè)計(jì)者來(lái)說(shuō),涉及得越少、編程越簡(jiǎn)單,代碼效率越不高,這對(duì)于性能考慮的實(shí)現(xiàn)來(lái)說(shuō)是不可取的。3. DES加密核心模塊的實(shí)現(xiàn)3. S盒設(shè)計(jì)通過(guò)分析發(fā)現(xiàn),S盒在整個(gè)設(shè)計(jì)中占了很大的比重。采用片內(nèi)8片8位寬度BlockRAM并行輸入輸出,實(shí)現(xiàn)與DES加密數(shù)據(jù)總線的位寬匹配。但是從功能演示和熟悉系統(tǒng)實(shí)現(xiàn)的流程上來(lái)說(shuō),UART的簡(jiǎn)易、可操作又不失為一個(gè)不錯(cuò)的選擇。在數(shù)據(jù)跨越不同時(shí)鐘邊界時(shí),如何穩(wěn)定可靠地傳輸數(shù)據(jù)是一個(gè)值得重視的問(wèn)題,而握手或緩沖是常用的實(shí)現(xiàn)方案。將數(shù)據(jù)+密鑰輪函數(shù)和密鑰變換函數(shù)在硬件上單獨(dú)實(shí)現(xiàn),減少了相鄰流水線級(jí)間的邏輯復(fù)雜度[14]。后來(lái)的綜合驗(yàn)證肯定了這一觀點(diǎn)[13]。在第一時(shí)鐘周期,第一塊數(shù)據(jù)經(jīng)過(guò)第一輪處理存入寄存器1中。究竟選擇怎么樣的實(shí)現(xiàn)方式,根據(jù)實(shí)際硬件條件進(jìn)行了選擇。FPGA內(nèi)部的B1ockRAM主要起到兩方面作用:緩沖數(shù)據(jù)。本章小結(jié)本章先介紹了DES加密算法的基本原理,然后介紹了本系統(tǒng)開(kāi)發(fā)的環(huán)境,包括硬件,硬件開(kāi)發(fā)平臺(tái)EITS2003,軟件開(kāi)發(fā)工具ISE WebPack和3硬件描述語(yǔ)言Verilog HDL。另外,該語(yǔ)言的功能強(qiáng)大,可以滿足各個(gè)層次設(shè)計(jì)人員的需要,從高層的系統(tǒng)描述到地層的版圖設(shè)計(jì),都可以很好的支持。l 用戶定義原語(yǔ)創(chuàng)建的靈活性。設(shè)計(jì)的規(guī)??梢允侨我獾模Z(yǔ)言不對(duì)設(shè)計(jì)的規(guī)模施家任何限制。 從語(yǔ)法結(jié)構(gòu)上看,Verilog HDL語(yǔ)言與C語(yǔ)言有許多相似之處,并繼承和借鑒了C語(yǔ)言的多種操作符和語(yǔ)法結(jié)構(gòu)。1990年,Cadence公司決定公開(kāi)Verilog HDL語(yǔ)言,于是成立了OVI (Open Verilog International)組織,負(fù)責(zé)促進(jìn)Verilog HDL語(yǔ)言的發(fā)展。在1984~1985年,Phil Moorby設(shè)計(jì)出T第一個(gè)名為VerilogXL的仿真器。20世紀(jì)80年代后期,VHDL和Verilog HDL語(yǔ)言適應(yīng)了這種趨勢(shì)的要求,先后成為IEEE標(biāo)準(zhǔn)。 硬件描述語(yǔ)言HDL的發(fā)展至今己有20多年的歷史,并成功地應(yīng)用于設(shè)計(jì)的各個(gè)階段:建模、仿真、驗(yàn)證和綜合等。2. 2. 3硬件描述語(yǔ)言Yerilog IiDL 硬件描述語(yǔ)言HDL是一種用形式化方法描述數(shù)字電路和系統(tǒng)的語(yǔ)言。 3) Place and Route一對(duì)可配置邏輯塊進(jìn)行布局,使用布線資源. 4) Configure一生成可以下載編程的Bit流文件。下面是WebPack結(jié)合MXE的典型設(shè)計(jì)流程: 圖25 WebPack典型設(shè)計(jì)流程 1:根據(jù)設(shè)計(jì)思路進(jìn)行邏輯輸入,可以選擇的有:使用ECS進(jìn)行原理圖輸入,使用Design Entry進(jìn)行硬件描述語(yǔ)言輸入(VHDL, Ver i logHDL, ABEL),使用StateCAD進(jìn)行狀態(tài)機(jī)轉(zhuǎn)換圖的輸入。WebPack是基于Xilinx工SE的一個(gè)軟件套件,提供了原理圖輸入,綜合,布局布線,編程下載等功能。 *ADC電路,把FPGA的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)輸出。 *標(biāo)準(zhǔn)RS232接口,可方便的連接PC及其他工業(yè)設(shè)備。EITS2003的用戶可以在PC機(jī)上通過(guò)并口對(duì)FPGA進(jìn)行配置,也可以使用板上的單片機(jī)配合EEPROM來(lái)配置FPGA。2. EITS2003是多用途EDA(電子設(shè)計(jì)自動(dòng)化)開(kāi)發(fā)實(shí)驗(yàn)平臺(tái),核心器件是Xilinx公司的SpartanIIE系列的FPGA芯片, FPGA架構(gòu),專(zhuān)為價(jià)格敏感的消費(fèi)類(lèi)電子設(shè)計(jì),具有強(qiáng)大的功能,可能達(dá)到與ASIC相比擬的系統(tǒng)級(jí)集成度[9]。這是根據(jù)表7的每個(gè)數(shù)據(jù)塊的左移運(yùn)算完成的。 表25選擇函數(shù)S圖22中的P運(yùn)算如下表所示:表26 P運(yùn)算 圖23子密鑰生成 首先,64位的密鑰KEY通過(guò)陣列選擇變換操作PC1,成為48位數(shù)據(jù)。B的中間4位代表0~15的一個(gè)數(shù),設(shè)它為j。圖22加密函數(shù)f的運(yùn)算框圖E運(yùn)算是一個(gè)函數(shù),它將32位輸入數(shù)據(jù)擴(kuò)充為48位的數(shù)據(jù)塊作為輸出。其中S盒(選擇函數(shù))是DES算法的心臟,靠它實(shí)現(xiàn)非線性變換[5]。解密過(guò)程與此類(lèi)似。第五章介紹了DES加密系統(tǒng)在軍事通信總站內(nèi)的應(yīng)用方案。 第二章介紹了DES加密算法原理以及系統(tǒng)的開(kāi)發(fā)環(huán)境。整個(gè)系統(tǒng)包括DES加密核心模塊,UART通信接口模塊和BLOCKRAM存儲(chǔ)模塊。幾乎所有應(yīng)用門(mén)陣列,PLD和中小規(guī)模通用數(shù)字集成電路的場(chǎng)合均可應(yīng)用FPGA和CPLD器件。這一階段的產(chǎn)品主要有PAL(可編程邏輯陣列)和GAL(通用陣列邏輯)。但是,隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)與制造集成電路的任務(wù)己不完全由半導(dǎo)體廠商來(lái)獨(dú)立承擔(dān)。采用軟件方式實(shí)現(xiàn)的DES算法會(huì)在很大程度上占用系統(tǒng)資源,造成系統(tǒng)性能的嚴(yán)重下降,而DES算法本身并沒(méi)有大量的復(fù)雜數(shù)學(xué)計(jì)算(如乘、帶進(jìn)位的加、模等運(yùn)算)[3],在加/解密過(guò)程和密鑰生成過(guò)程中僅有邏輯運(yùn)算和查表運(yùn)算,因而,無(wú)論是從系統(tǒng)性能還是加/解密速度的角度來(lái)看,采用硬件實(shí)現(xiàn)都是一個(gè)理想的方案。目前,基于DES算法的加/解密硬件廣泛地應(yīng)用于軍事,衛(wèi)星通信、網(wǎng)關(guān)服務(wù)器、機(jī)頂盒、視頻傳輸以及其它大量的數(shù)據(jù)傳輸業(yè)務(wù)中。其中極少量的數(shù)被認(rèn)為是弱密鑰,但能容易地避開(kāi)它們。DES是一個(gè)對(duì)稱算法:加密和解密用的是同一種算法。t need to test, the quality is steady and the product can be inspected on line. So, the FPGA is widely used to design and make product. Therefore, using the FPGA to design and implement the DES encryption arithmetic is very important and it will be widely used in much field. The main contributions of the paper are as follow: 1: Completed the whole design of the DES encryption system .The whole system includesthe DES encryption core module, he UART munication interface module and Block RAM memory module. 2: Used the Verilog hardware design language to design and implement the function and the whole connection of the three modules by the EITS2003 as the hardware development flat roof and the ISEwebpack as the software development tool. 3: Used the PC, SCOMAssistant, the UART munication interface and the EITS2003 development plat roof to test and rerify the function of the whole system. 4: Discussed the application of the DES encryption system in the military