999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的加密算法改進(jìn)及實(shí)現(xiàn)

2014-11-20 08:18:14郭婷婷
電視技術(shù) 2014年5期
關(guān)鍵詞:系統(tǒng)設(shè)計(jì)

武 一,郭婷婷

(河北工業(yè)大學(xué)信息工程學(xué)院,天津300401)

隨著專用虛擬網(wǎng)絡(luò)的快速發(fā)展,人們對(duì)于通信加密的要求也隨之增高。為解決這一問題,通常采用數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)和高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)來提高信息系統(tǒng)及數(shù)據(jù)的安全性和保密性。目前研究表明,一些ASIC(專用集成電路)和FPGA(現(xiàn)場(chǎng)可編程門陣列)器件可成功實(shí)現(xiàn)DES和AES的多種硬件加密。其中,一部分研究側(cè)重于使用循環(huán)結(jié)構(gòu)來減小芯片的資源占用,另一部分則側(cè)重于使用流水線結(jié)構(gòu)來提高吞吐率。對(duì)于DES和AES加密算法來說,要想達(dá)到一個(gè)高的吞吐率,在每一輪運(yùn)算中嵌入流水線寄存器是必要的[1]。然而,沒有相關(guān)的權(quán)衡,一味地嵌入流水線將增加邏輯運(yùn)算復(fù)雜度和硬件占用面積。因此,硬件資源的共享和復(fù)用以及邏輯門的壓縮是產(chǎn)生一個(gè)加密電路所不可缺少的條件。

1 數(shù)據(jù)加密

為了保護(hù)私有信息不被非法竊取,數(shù)據(jù)加密技術(shù)應(yīng)運(yùn)而生。數(shù)據(jù)加密技術(shù)采用相關(guān)的加密算法對(duì)數(shù)據(jù)進(jìn)行屏蔽,使其成為不可讀的代碼,只有指定的用戶或場(chǎng)合才能解除屏蔽而獲得數(shù)據(jù)。在實(shí)際應(yīng)用中,DES和AES加密算法被普遍用來實(shí)現(xiàn)敏感的金融數(shù)據(jù)、政府信息和私人交易的加密[2]。

數(shù)據(jù)加密的實(shí)現(xiàn)方式通常分為軟件實(shí)現(xiàn)和硬件實(shí)現(xiàn)兩種。軟件實(shí)現(xiàn)方式在主機(jī)上運(yùn)行加密軟件,占用主機(jī)資源、處理速度慢、抗攻擊能力差[3]。而硬件實(shí)現(xiàn)方式,基于FPGA或ASIC器件的加密設(shè)計(jì)很難被非法攻破。因此,從本質(zhì)上說,硬件加密具有更高的物理安全性。另外,硬件加密獨(dú)立于主機(jī)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和運(yùn)算,資源占用少,滿足更高的實(shí)時(shí)性要求。

傳統(tǒng)硬件實(shí)現(xiàn)主要采用ASIC,設(shè)計(jì)成本高、系統(tǒng)擴(kuò)展性差。FPGA器件以其硬件的安全性和高速性以及軟件的靈活性和易維護(hù)性,成為研究和實(shí)現(xiàn)加密算法的理想硬件平臺(tái)。采用FPGA實(shí)現(xiàn)的加解密系統(tǒng)可在保證加解密性能的同時(shí)提供更好的可擴(kuò)展性和通用性[4]。

文獻(xiàn)[1-3]介紹了DES加密算法的FPGA實(shí)現(xiàn)。這些研究中所設(shè)計(jì)的結(jié)構(gòu)能夠達(dá)到Gbit/s級(jí)的吞吐率。其中最高的吞吐率可達(dá)到6 Gbit/s[2]。文獻(xiàn)[4-6]描述了AES算法的FPGA實(shí)現(xiàn)。文獻(xiàn)[4]中提出了提高吞吐率的可能性方案(不超過1 Gbit/s),文獻(xiàn)[5]中已經(jīng)能達(dá)到7 Gbit/s的吞吐率。但這些研究工作都集中在吞吐率方面,沒有權(quán)衡相關(guān)的芯片資源占用。

因此,本文采用資源優(yōu)先的設(shè)計(jì)方案,在一片F(xiàn)PGA芯片上設(shè)計(jì)實(shí)現(xiàn)了DES、AES加解密系統(tǒng)。通過分別對(duì)系統(tǒng)的輪函數(shù)及S盒進(jìn)行優(yōu)化設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)的高速率、低占用。

2 系統(tǒng)設(shè)計(jì)

2.1 DES加密系統(tǒng)設(shè)計(jì)

DES加密系統(tǒng)中,輸入的64位明文經(jīng)初始置換后,數(shù)據(jù)移位,明文塊被分成左右兩部分,各32位。其中左半部分依賴循環(huán)密鑰進(jìn)行邏輯運(yùn)算,右半部分不變,然后交換左右兩部分,并將此過程循環(huán)進(jìn)行16次。這個(gè)過程既包含替代又包含移位,數(shù)據(jù)和密鑰在這一階段被結(jié)合在一起。DES加密流程如圖1所示。

數(shù)據(jù)的安全性取決于密鑰的安全性設(shè)置。每一輪運(yùn)算的關(guān)鍵是初始密鑰的字節(jié)變換和由內(nèi)部密鑰產(chǎn)生器執(zhí)行的左移操作[5]。

內(nèi)部子密鑰產(chǎn)生器對(duì)輸入的64位的外部密鑰K進(jìn)行奇偶校驗(yàn),剔除奇偶校驗(yàn)位,再經(jīng)置換得到56位有效密鑰,將得到的密鑰分成兩部分,每部分28位,分別輸入到28位的寄存器C0、D0中。

圖1 加密系統(tǒng)流程圖

在內(nèi)部子密鑰產(chǎn)生器中,除寄存器(C0,D0)外,還有16 對(duì)寄存器,即(C1,D1),(C2,D2),…,(C16,D16)。C 和 D中的內(nèi)容分別向左移動(dòng)1至2位便可得到加密時(shí)的內(nèi)容,這種移位方式是按循環(huán)移位寄存器方式進(jìn)行的。在16輪左移操作中,第1、2、9、16輪密鑰位數(shù)只左移1位,其余輪密鑰左移2位,共計(jì)向左移動(dòng)了28位,這樣就保證了C16=C0,D16=D0,即(C16,D16)的內(nèi)容和(C0,D0)完全相同。

合并寄存器C1和D1中存儲(chǔ)的28位數(shù)據(jù),形成56位密鑰,并依據(jù)壓縮置換確定48位的內(nèi)部子密鑰K。如圖2所示。

圖2 子密鑰產(chǎn)生框圖

加密過程中要實(shí)現(xiàn)16輪的變換,才能得到最終密文。若輪函數(shù)采用硬件級(jí)聯(lián)的實(shí)現(xiàn)方式,可得到較快的處理速度,但每個(gè)時(shí)鐘周期都要將數(shù)據(jù)存入寄存器,要占用很大的資源空間[6]。

考慮到FPGA的硬件資源有限,本設(shè)計(jì)提出重復(fù)調(diào)用一份輪函數(shù)的硬件拷貝,即僅用硬件實(shí)現(xiàn)一套密鑰變換和密鑰加數(shù)據(jù)運(yùn)算輪函數(shù),通過反復(fù)16次調(diào)用這一硬件結(jié)構(gòu)來實(shí)現(xiàn)1次DES加密運(yùn)算。以時(shí)間換空間,達(dá)到硬件資源占用的最小化[7]。同時(shí),為了兼顧芯片的處理速度,在輪函數(shù)內(nèi)部設(shè)置一級(jí)流水線來提高整體處理的速度。

在硬件上實(shí)現(xiàn)密鑰變換函數(shù)和密鑰加數(shù)據(jù)輪函數(shù)的同步流水線架構(gòu),減少了相鄰流水線級(jí)間的邏輯復(fù)雜度[8]。通過設(shè)置輪計(jì)數(shù)器對(duì)所進(jìn)行的輪運(yùn)算計(jì)數(shù),控制數(shù)據(jù)選擇器,從而實(shí)現(xiàn)輪函數(shù)復(fù)用。圖3為輪函數(shù)硬件結(jié)構(gòu)電路圖。

2.2 AES加密系統(tǒng)設(shè)計(jì)

AES-128加密算法需要運(yùn)行10輪,在每一輪運(yùn)算中,字節(jié)變換是唯一的非線性變換。次變換使用S盒來獨(dú)立操作狀態(tài)矩陣中的每個(gè)字節(jié)。

設(shè)計(jì)一個(gè)合適的S盒能夠很大程度上減少AES硬件電路的復(fù)雜度和運(yùn)算量[9]。目前大多采用基于復(fù)合域變換的S盒實(shí)現(xiàn)方法。

具體操作是將域GF(28)上的元素取逆同構(gòu)線性變換為在GF(24)的取逆。GF(24)上的乘法取逆所消耗的資源相對(duì)較少,可降低資源消耗。不足是增大了硬件設(shè)計(jì)的復(fù)雜性和實(shí)現(xiàn)的時(shí)延[10]。

為避免執(zhí)行同構(gòu)變換,本設(shè)計(jì)的S盒在GF(24)2上取乘法逆,原S盒的仿射函數(shù)不變。具體選擇GF(2)[x]上不可約的三項(xiàng)式x4+x+1定義GF(24)上的乘法,選擇子GF(24)上的二次不可約多項(xiàng)式x2+x+8定義GF(24)2上的乘法。然后對(duì)所定義的域GF(24)2乘法取逆,并且與AES算法S盒的仿射函數(shù)相復(fù)合生成新的S盒。

圖3 輪函數(shù)硬件結(jié)構(gòu)電路圖

實(shí)現(xiàn)過程如下:

1)設(shè)AES算法S盒的仿射函數(shù)是z=A×t+0x63,則z=t⊕(t<<1)⊕(t<<2)⊕(t<<3)⊕(t<<4)⊕0x63。

2)輸入:8 bit向量 y=(y7,y6,…,y0)。

輸出:8 bit向量 z=(z7,z6,…,z0)。

令 b=(y7,…,y0),c=(y3,y2,…,y0),將 y=(b,c)看作是域GF(24)2的元素bx+c,取逆:(bx+c)-1=b(b28+bc+c2)-1x+(c+b)(b28+bc+c2)-1;(b28+bc+c2)-1可通過查表完成。

3)設(shè)乘法取逆的結(jié)果是dx+e,將之用向量表示為t=(t7,t6,…,t0),再計(jì)算:z=t⊕(t<<1)⊕(t<<2)⊕(t<<3)⊕(t<<4)⊕0x63,并輸出結(jié)果z=(z7,z6,…,z0)。

經(jīng)變形后的S盒仍滿足AES加密算法提出的設(shè)計(jì)要求,且由于不執(zhí)行同構(gòu)變換,邏輯電路門數(shù)減少,更易設(shè)計(jì)和實(shí)現(xiàn)。

在加解密系統(tǒng)中,解密過程是加密過程的逆過程,每一輪包括逆字節(jié)變換ISB,逆行位移運(yùn)算ISR,和逆列混合運(yùn)算IMC。在首輪運(yùn)算開始之前,包括一次輪密鑰加運(yùn)算ARK,而最后一輪不包括逆列混合運(yùn)算IMC。加密和解密過程往往由兩個(gè)電路分開實(shí)現(xiàn),這導(dǎo)致硬件資源損耗過大,且不利于加密和解密的同步優(yōu)化[11]。

為了彌補(bǔ)這兩個(gè)不足,在設(shè)計(jì)中,解密模塊將分別調(diào)用加密模塊的電路結(jié)構(gòu),利用加密硬件資源的復(fù)用完成解密工作,減少硬件資源損耗[12]。另外,解密時(shí)先執(zhí)行非線性字節(jié)變換,有利于加解密的同步優(yōu)化。

實(shí)現(xiàn)過程如下:解密時(shí),首先進(jìn)行數(shù)組矩陣的逆仿射變換,然后調(diào)用加密電路的字節(jié)變換部分,得到逆字節(jié)變換的輸出。輸出結(jié)果執(zhí)行逆行位移運(yùn)算的右移操作。右移后的矩陣乘以系數(shù)矩陣(0E,0B,0D,09),并調(diào)用列混合模塊的電路結(jié)構(gòu)完成逆列混合運(yùn)算。

加密過程中,輪密鑰key0~key9由AES算法的密鑰擴(kuò)展基于原始密鑰計(jì)算產(chǎn)生。解密過程中,輪密鑰加運(yùn)算依次取輪密鑰key9~key0,除去首輪和最后一輪,從RAM中取出的輪密鑰需要先經(jīng)進(jìn)行逆列混合運(yùn)算[13]。加解密流程如圖4所示。

3 FPGA電路仿真實(shí)驗(yàn)結(jié)果

本設(shè)計(jì)采用FPGA開發(fā)平臺(tái)、Cyclone II系列芯片對(duì)加解密系統(tǒng)進(jìn)行測(cè)試與驗(yàn)證。系統(tǒng)主要包括數(shù)據(jù)輸入、密鑰輸入和狀態(tài)控制信號(hào)線,具有統(tǒng)一的外部時(shí)鐘控制[14]。

3.1 DES 加密的實(shí)現(xiàn)

在加密測(cè)試文件中:

desin:000000000000000

圖4 AES加/解密系統(tǒng)

key:0000000000000000

expout:8ca64de9c1b123a7

加密后:

desout:8ca64de9c1b123a7

由仿真圖(如圖5)可知:經(jīng)16個(gè)時(shí)鐘周期后,加密得到的最終輸出desout與理論值相同,證明加密成功。

圖5 DES加密仿真波形圖(截圖)

3.2 AES 加密的實(shí)現(xiàn)

在加密測(cè)試文件中:

key:00000000000000000000000000000000

plain:f34481ec3cc627bacd5dc3fb08f273e6

ciph:0336763e966d92595a567cc9ce537f5e

加密后:

test_out:0336763e966d92595a567cc9ce537f5e

同步解密后:

test_out2:f34481ec3cc627bacd5dc3fb08f273e6

由仿真圖(如圖6)可知:最終得到的密文與理論值相同,證明加密成功。同步解密后,還原了最初的明文,解密成功。

圖6 AES加密仿真波形圖(截圖)

4 結(jié)果分析

結(jié)果表明:DES系統(tǒng)的實(shí)現(xiàn)僅占用了629個(gè)LE,不到整個(gè)硬件資源的6%,處理速度為3.08 Gbit/s。

AES系統(tǒng)的實(shí)現(xiàn)占用了1 128個(gè)LE,占整個(gè)硬件資源的8%,處理速度達(dá)到了7.04 Gbit/s。

表1給出了本設(shè)計(jì)的具體實(shí)驗(yàn)結(jié)果。

表1 實(shí)驗(yàn)結(jié)果

表2為本設(shè)計(jì)與一些同類設(shè)計(jì)的比較結(jié)果。

表2 本設(shè)計(jì)與一些同類設(shè)計(jì)的比較結(jié)果

由表1可知,在DES加密系統(tǒng)的設(shè)計(jì)中,對(duì)比文獻(xiàn)[1-3],文獻(xiàn)[2]中采用EP1S10芯片實(shí)現(xiàn)DES的硬件加密,占用了4 362個(gè)LE,加密速率為6 Gbit/s,是3個(gè)方案中相對(duì)最好的。而本設(shè)計(jì)選用EP2C35系列芯片,采用改進(jìn)的方法后,硬件資源占用629個(gè)LE,約為文獻(xiàn)[2]的0.144倍,且加密速度為3.08 Gbit/s,總體性能大大提高。

在 AES加密系統(tǒng)設(shè)計(jì)中,文獻(xiàn)[5]采用 2塊XC2V3000芯片實(shí)現(xiàn)AES的硬件加密,占用了4 817個(gè)LE,加密速度為7.12 Gbit/s,與文獻(xiàn)[4]和文獻(xiàn)[6]相比,文獻(xiàn)[5]性能相對(duì)最佳。而本設(shè)計(jì)的實(shí)現(xiàn)設(shè)備采用EP2C35系列芯片,硬件資源占用了1 128個(gè)LE,約為文獻(xiàn)[5]的0.234 倍,加密速度為7.04 Gbit/s,與文獻(xiàn)[5]基本持平。

5 總結(jié)

本設(shè)計(jì)實(shí)現(xiàn)了一個(gè)高性能的DES和AES硬件加密系統(tǒng)。實(shí)驗(yàn)證明此系統(tǒng)能夠節(jié)省90%的硬件存儲(chǔ)資源,同時(shí)具有相同的抗攻擊能力來保證新一代的IT安全。本設(shè)計(jì)與其他同類設(shè)計(jì)的比較結(jié)果顯示,本設(shè)計(jì)可提供較高的吞吐率,并且在硬件資源方面具有明顯的優(yōu)勢(shì),資源占用率遠(yuǎn)低于其他的設(shè)計(jì),實(shí)現(xiàn)了資源優(yōu)先的設(shè)計(jì)目的。

本設(shè)計(jì)在整體性能方面(吞吐率/面積)具有明顯的優(yōu)越性,使用FPGA來實(shí)現(xiàn)加密算法將具有良好的發(fā)展前景。

[1]姚霽,劉建華,范九倫.一種密鑰可配置的DES加密算法的FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2009,35(7):145-148.

[2]張峰,鄭春來,耶曉東.DES加密算法的FPGA實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2008,31(7):80-82.

[3] MCLOONEM,MCCANNY JV.High-performance FPGA implementation of DESusing a novel method for implementing the key schedule[J].IEEE Proc.Circuits Devices Syst.,2003,150(5):373-378.

[4]徐柏權(quán),王昭順.基于AES算法的FPGA高速實(shí)現(xiàn)[J].信息與電腦,2009(7):98-99.

[5]周微微.DES算法的跨平臺(tái)研究與實(shí)現(xiàn)[J].中國(guó)高新技術(shù)企業(yè),2010(21):30-31.

[6]周建欽,何凌云.DES加密算法的密鑰擴(kuò)展[J].科技通報(bào),2011(2):263-267.

[7]劉明珍.密碼技術(shù)DES和RSA的比較與應(yīng)用[J].煤炭技術(shù),2011(6):176-177.

[8] YANGXianwen,LIZheng,WANGAn,etal.Design research of the DES against power analysis attacks based on FPGA[J].Microprocessors and Microsystems,2011(35):18-22.

[9]馮妮,張會(huì)新,盧一男,等.嵌入式AES加密存儲(chǔ)器的硬件實(shí)現(xiàn)[J].電視技術(shù),2013,37(3):59-61.

[10]胡春燕,易波.基于AES加密算法的S盒優(yōu)化設(shè)計(jì)[J].微計(jì)算機(jī)信息,2012,10(28):358-360.

[11] JOSM,GRANADO C,MIGUEL A.A new methodology to implement the AES algorithm using partial and dynamic reconfiguration[J].the VLSI journal of Integration,2010(43):72-80.

[12]劉維杰.基于FPGA的AES加密設(shè)計(jì)[D].太原:中北大學(xué),2012.

[13]楊曉非,趙婷.基于AES算法改進(jìn)的藍(lán)牙安全機(jī)制研究[J].電視技術(shù),2013,37(5):106-109.

[14]唐明,張煥國(guó),劉樹波,等.AES的高性能硬件設(shè)計(jì)與研究[J].計(jì)算機(jī)工程,2006,32(8):257-259.

猜你喜歡
系統(tǒng)設(shè)計(jì)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
瞞天過海——仿生設(shè)計(jì)萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 激情爆乳一区二区| 久久久久久久久亚洲精品| 91精品国产一区自在线拍| 国产成人综合日韩精品无码首页| 欧洲熟妇精品视频| 欧美色图第一页| 亚洲精品无码成人片在线观看| 国产无码高清视频不卡| 99成人在线观看| 五月激情婷婷综合| 精品欧美日韩国产日漫一区不卡| 99久久精品美女高潮喷水| 亚洲大尺码专区影院| 国产精品久线在线观看| 久久国产精品嫖妓| 午夜少妇精品视频小电影| 中国成人在线视频| 亚洲欧洲日产国码无码av喷潮| 国产无人区一区二区三区| 九九免费观看全部免费视频| 日韩激情成人| 日韩免费无码人妻系列| 亚洲av日韩综合一区尤物| 麻豆精品在线视频| 国产激情无码一区二区APP| 国产成人免费观看在线视频| 欧美一级大片在线观看| lhav亚洲精品| 国产成人综合日韩精品无码首页| 精品国产免费第一区二区三区日韩| 91精品日韩人妻无码久久| 亚洲黄色视频在线观看一区| 日韩东京热无码人妻| 欧美19综合中文字幕| 欧美精品亚洲精品日韩专区| 亚洲中文字幕久久精品无码一区| 玩两个丰满老熟女久久网| 免费看av在线网站网址| 国产亚洲美日韩AV中文字幕无码成人 | a级毛片一区二区免费视频| 精品国产自在在线在线观看| 久久国产V一级毛多内射| AV不卡国产在线观看| 亚洲欧洲日产国码无码av喷潮| 亚洲一区第一页| 美女一区二区在线观看| 青青青国产视频| 亚洲精品黄| 国产91av在线| 欧美中文字幕在线播放| 天天做天天爱夜夜爽毛片毛片| 亚洲天堂色色人体| 国产日本一线在线观看免费| www欧美在线观看| 精品无码人妻一区二区| 色偷偷一区二区三区| 亚洲第一黄片大全| 国产麻豆91网在线看| 人妻精品全国免费视频| 中文字幕亚洲精品2页| 国产综合欧美| 人妻无码AⅤ中文字| 国内精自视频品线一二区| 99伊人精品| 亚洲av成人无码网站在线观看| 国产高颜值露脸在线观看| 亚洲精品无码高潮喷水A| 精品视频一区在线观看| 久久精品最新免费国产成人| 久久久久中文字幕精品视频| 99ri国产在线| 国产精品30p| 青青青视频免费一区二区| 欧美激情首页| 亚洲天堂啪啪| 欧美 国产 人人视频| 亚洲第七页| 久久精品国产精品青草app| 成人在线亚洲| 亚洲欧美日韩中文字幕在线| 国产高清无码麻豆精品| 亚洲欧美日韩中文字幕在线|