<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的信息安全系統(tǒng)設(shè)計(jì)

          基于FPGA的信息安全系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2017-06-03 來(lái)源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/201706/347398.htm

          系統(tǒng)開(kāi)發(fā)設(shè)計(jì):

          1.項(xiàng)目名稱(chēng)及主要內(nèi)容

          本項(xiàng)目名稱(chēng)是:基于設(shè)計(jì)。

          主要內(nèi)容為:本模塊采用xilinx公司的Spartan 3E系列XC3S500E型作為核心控制芯片,對(duì)采集到底模擬信號(hào)進(jìn)行數(shù)字轉(zhuǎn)換后通過(guò)3DES算法進(jìn)行加密、然后通過(guò)網(wǎng)絡(luò)傳輸,再經(jīng)過(guò)解密算法解密出明文數(shù)據(jù)。盡管DES已被證實(shí)是不安全的算法(主要是密鑰太短),但三重DES增加了密鑰長(zhǎng)度,由56位增加到112或168位,有更高的安全性,而且在新一代因特網(wǎng)安全標(biāo)準(zhǔn)IPSEC協(xié)議集中已將DES作為加密標(biāo)準(zhǔn)。利用3DES可以使原系統(tǒng)不作大的改動(dòng),所以對(duì)3DES的研究仍有很大的現(xiàn)實(shí)意義。在此使用了3DES算法,保證了系統(tǒng)功能的完整性與數(shù)據(jù)傳輸?shù)陌踩浴T撟R(shí)別模塊可用于國(guó)內(nèi)外衛(wèi)星通信、網(wǎng)關(guān)服務(wù)器、機(jī)頂盒、視頻傳輸以及其它大量的數(shù)據(jù)傳輸業(yè)務(wù)中,也可和計(jì)算機(jī)等設(shè)備聯(lián)機(jī)使用,滿(mǎn)足各個(gè)方面的不同需求,因此它的設(shè)計(jì)具有很廣泛的應(yīng)用前景和市場(chǎng)價(jià)值。

          2.項(xiàng)目關(guān)鍵技術(shù)及設(shè)計(jì)

          系統(tǒng)框圖見(jiàn)下圖

          2.1 A/D、D/A模塊

          這兩個(gè)模塊功能是完成信號(hào)的轉(zhuǎn)換功能,實(shí)現(xiàn)模擬信號(hào)與數(shù)字信號(hào)之間的轉(zhuǎn)化。

          2.3 數(shù)據(jù)加密(解密)

          將轉(zhuǎn)換好的明文數(shù)據(jù)存儲(chǔ)在事先固化好的1,基于3DES算法模塊對(duì)明文進(jìn)行加密,并將密文存儲(chǔ)到2中,并通過(guò)數(shù)據(jù)庫(kù)技術(shù)連接到網(wǎng)絡(luò),通過(guò)網(wǎng)絡(luò)傳播,將傳送后的密文數(shù)據(jù)采集到3中,通過(guò)解密算法模塊對(duì)密文解密存儲(chǔ)到RAM4。

          算法總體結(jié)構(gòu):通過(guò)一個(gè)密鑰控制模塊為3DES提供三個(gè)56位的密鑰以及加/解密控制信號(hào)。密鑰的輸入是28位的,所產(chǎn)生的三個(gè)56位密鑰并不是同一時(shí)間提供給3DES的,相互之間有16個(gè)時(shí)鐘的延時(shí),這樣可以保證修改密鑰后并不影響先前流水線(xiàn)的工作。再加上輸入、輸出接口就構(gòu)成了該設(shè)計(jì)的總體結(jié)構(gòu),如圖5所示。限于圖的大小,不影響理解的部分信號(hào)沒(méi)有畫(huà)出。加/解密的流程是先輸入六組28位的密鑰,然后就可以發(fā)送需要加/解密的數(shù)據(jù)了,中間可以有間斷,如果需要更改密鑰,也是先輸入改后的密鑰,再輸入數(shù)據(jù),可實(shí)時(shí)更改,無(wú)需等到流水線(xiàn)中最后一組數(shù)據(jù)加/解密完成。

          3 程序代碼及仿真

          3des部分代碼

          module des_3(key1, key2, key3, datain, sysclk, en, reset, mode1, mode2, mode3, load, ready, dataout);

          input [64:1] key1;

          input [64:1] key2;

          input [64:1] key3;

          input [64:1] datain;

          input sysclk;

          input en;

          input reset;

          input mode1;

          input mode2;

          input mode3;

          input load;

          output ready;

          output [64:1] dataout;

          wire flagwire1,flagwire2;

          wire[64:1] datastream1,datastream2;

          DES jia1(.sysclk(sysclk),.en(en),.reset(reset),.mode(mode1),

          .load(load),.key(key1),.datain(datain),.dataout(datastream1),

          .ready(),.flag(flagwire1));

          DES jie(.sysclk(sysclk),.en(flagwire1),.reset(reset),.mode(mode2),

          .load(load),.key(key2),.datain(dataistream1),.dataout(datastream2), .ready(),.flag(flagwire2));

          DESjia2(.sysclk(sysclk),.en(flagwire2),.reset(reset),.mode(mode3), .load(load),.key(key3),.datain(datastream2),.dataout(dataout),

          .ready(ready),.flag());

          Endmodule

          控制代碼

          module control(sysclk, reset, load, en, ready,

          ct1,ct2,ct3,ct4,ct5,ct6,ct7,ct8,

          ct9,ct10,ct11,ct12,ct13,ct14,ct15,ct16);

          input sysclk;

          input reset;

          input load;

          input en;

          output ready,ct1,ct2,ct3,ct4,ct5,ct6,ct7,ct8,

          ct9,ct10,ct11,ct12,ct13,ct14,ct15,ct16;

          wire ready,ct1,ct2,ct3,ct4,ct5,ct6,ct7,ct8,

          ct9,ct10,ct11,ct12,ct13,ct14,ct15,ct16;

          D d1(sysclk,reset,en,load,ct1);

          D d2(sysclk,reset,en,ct1,ct2);

          D d3(sysclk,reset,en,ct2,ct3);

          D d4(sysclk,reset,en,ct3,ct4);

          D d5(sysclk,reset,en,ct4,ct5);

          D d6(sysclk,reset,en,ct5,ct6);

          D d7(sysclk,reset,en,ct6,ct7);

          D d8(sysclk,reset,en,ct7,ct8);

          D d9(sysclk,reset,en,ct8,ct9);

          D d10(sysclk,reset,en,ct9,ct10);

          D d11(sysclk,reset,en,ct10,ct11);

          D d12(sysclk,reset,en,ct11,ct12);

          D d13(sysclk,reset,en,ct12,ct13);

          D d14(sysclk,reset,en,ct13,ct14);

          D d15(sysclk,reset,en,ct14,ct15);

          D d16(sysclk,reset,en,ct15,ct16);

          D d17(sysclk,reset,en,ct16,ready);

          endmodule

          4 RAM工作方式的選擇

          ”(pingpong operation)是一個(gè)常常應(yīng)用于數(shù)據(jù)流控制的處理技巧,典型的方法如圖1所示。

          的處理流程為:輸入數(shù)據(jù)流通過(guò)“輸入數(shù)據(jù)流選擇單元”將數(shù)據(jù)流等時(shí)分配到兩個(gè)數(shù)據(jù)緩沖區(qū),數(shù)據(jù)緩沖模塊可以為任何存儲(chǔ)模塊,比較常用的存儲(chǔ)單元為雙口RAM(DPRAM)、單口RAM(SPRAM)、FIFO等。我們選擇單口ram就可以實(shí)現(xiàn)其功能。

          在第1個(gè)緩沖周期:將輸入的數(shù)據(jù)流緩存到“數(shù)據(jù)緩沖模塊1”;在第2個(gè)緩沖周期:通過(guò)“輸入數(shù)據(jù)選擇單元”的切換,將輸入的數(shù)據(jù)流緩存到“數(shù)據(jù)緩沖模塊2”,同時(shí)將“數(shù)據(jù)緩沖模塊1”緩存的第1個(gè)周期數(shù)據(jù)通過(guò)“輸出數(shù)據(jù)選擇單元”的選擇,送到“數(shù)據(jù)流運(yùn)算處理模塊”進(jìn)行運(yùn)算處理;

          在第3個(gè)緩沖周期:通過(guò)“輸入數(shù)據(jù)選擇單元”的再次切換,將輸入的數(shù)據(jù)流緩存到“數(shù)據(jù)緩沖模塊1”,同時(shí)將“數(shù)據(jù)緩沖模塊2”緩存的第2個(gè)周期的數(shù)據(jù)通過(guò)“輸出數(shù)據(jù)選擇單元”切換,送到“數(shù)據(jù)流運(yùn)算處理模塊”進(jìn)行運(yùn)算處理。如此循環(huán)。

          乒乓操作的最大特點(diǎn)是通過(guò)“輸入數(shù)據(jù)選擇單元”和“輸出數(shù)據(jù)選擇單元”按節(jié)拍、相互配合的切換,將經(jīng)過(guò)緩沖的數(shù)據(jù)流沒(méi)有停頓地送到“數(shù)據(jù)流運(yùn)算處理模塊”進(jìn)行運(yùn)算與處理。把乒乓操作模塊當(dāng)做一個(gè)整體,站在這個(gè)模塊的兩端看數(shù)據(jù),輸入數(shù)據(jù)流和輸出數(shù)據(jù)流都是連續(xù)不斷的,沒(méi)有任何停頓,因此非常適合對(duì)數(shù)據(jù)流進(jìn)行流水線(xiàn)式處理。所以乒乓操作常常應(yīng)用于流水線(xiàn)式算法,完成數(shù)據(jù)的無(wú)縫緩沖與處理。

          乒乓操作的第二個(gè)優(yōu)點(diǎn)是可以節(jié)約緩沖區(qū)空間。比如在WCDMA基帶應(yīng)用中,1個(gè)幀是由15個(gè)時(shí)隙組成的,有時(shí)需要將1整幀的數(shù)據(jù)延時(shí)一個(gè)時(shí)隙后處理,比較直接的辦法是將這幀數(shù)據(jù)緩存起來(lái),然后延時(shí)1個(gè)時(shí)隙進(jìn)行處理。這時(shí)緩沖區(qū)的長(zhǎng)度是1整幀數(shù)據(jù)長(zhǎng),假設(shè)數(shù)據(jù)速率是3.84Mbps,1幀長(zhǎng)10ms,則此時(shí)需要緩沖區(qū)長(zhǎng)度是38400位。如果采用乒乓操作,只需定義兩個(gè)能緩沖1個(gè)時(shí)隙數(shù)據(jù)的RAM(單口RAM即可)。當(dāng)向一塊RAM寫(xiě)數(shù)據(jù)的時(shí)候,從另一塊RAM讀數(shù)據(jù),然后送到處理單元處理,此時(shí)每塊RAM的容量?jī)H需2560(=38400/15)位即可,2塊RAM加起來(lái)也只有5120位的容量。

          另外,巧妙運(yùn)用乒乓操作還可以達(dá)到用低速模塊處理高速數(shù)據(jù)流的效果。這里我們選擇乒乓操作方式來(lái)工作。

          2)加密模塊中存在一些問(wèn)題,例如:3DES的代碼還不完善,補(bǔ)充之后在仿真是出現(xiàn)不定態(tài):

          3)Ram中存在的問(wèn)題:直接調(diào)用Ip核可以簡(jiǎn)潔地生成我們所需要的ram,但在前仿真時(shí)Modelsim SE 總是出現(xiàn)錯(cuò)誤。直接按照書(shū)上的仿真例子去試驗(yàn),也仿真不出來(lái),初步推測(cè)是軟件破譯的不全,有些庫(kù)無(wú)法調(diào)用所造成。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();