亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的AES算法硬件實現(xiàn)優(yōu)化及IP核應(yīng)用

        2017-07-12 16:06:27龔向東
        電子設(shè)計工程 2017年12期
        關(guān)鍵詞:寄存器通量密鑰

        龔向東,王 佳,張 準,王 坤

        (1.深圳大學(xué) 電子科學(xué)與技術(shù)學(xué)院,廣東 深圳518060;2.深圳大學(xué) 光電工程學(xué)院,廣東 深圳518060)

        基于FPGA的AES算法硬件實現(xiàn)優(yōu)化及IP核應(yīng)用

        龔向東1,王 佳2,張 準2,王 坤2

        (1.深圳大學(xué) 電子科學(xué)與技術(shù)學(xué)院,廣東 深圳518060;2.深圳大學(xué) 光電工程學(xué)院,廣東 深圳518060)

        根據(jù)AES算法的特點,從3方面對算法硬件實現(xiàn)進行改進:列混合部分使用查找表代替矩陣變換,降低算法實現(xiàn)的運算復(fù)雜度,采用流水線結(jié)構(gòu)優(yōu)化關(guān)鍵路徑-密鑰拓展,提升加密速度,利用FPGA定制RAM (BRAM)預(yù)存查找表進一步提升加密速度。優(yōu)化后的AES算法在Virtex-6 xc6vlx240T(速度等級 -3)FPGA上實現(xiàn),結(jié)果發(fā)現(xiàn),AES算法共占用1 139個Slice,最大頻率達到443.99 MHz,通量達到 56.83 Gbit/s,效率達到 49.89 (Mbit/s)/Slice;然后,對 AES算法進行接口邏輯聲明,將優(yōu)化后AES算法封裝成自定制IP核;最后,采用基于NIOS II的SOPC技術(shù),構(gòu)建了一個嵌入式AES算法加密系統(tǒng),實現(xiàn)了數(shù)據(jù)通信中的高速加密。

        AES;流水線結(jié)構(gòu);通量;效率;自定制IP核;加密系統(tǒng)

        數(shù)據(jù)加密標準(DES-Data Encryption Standard)[1]是密碼學(xué)歷史上第一個廣泛用于商用數(shù)據(jù)保密的密碼算法,隨著計算機性能的不斷提升,DES的密鑰長度和分組長度顯得過短,易被窮舉攻破。為了更好的保護數(shù)據(jù),2001年更安全的數(shù)據(jù)加密標準 (AESAdvancedEncryptionStandard高級加密標準)正式公布。

        AES[2]算法的分組長度為128 bit,密鑰長度支持128、192和256 bit。不同的密鑰長度對應(yīng)不同的加密輪數(shù),分別為10,12,14輪。如密鑰長度為128位的AES算法需要10輪迭代實現(xiàn),前9輪迭代過程是一致的,包括字節(jié)替換、行移位、列混合、輪密鑰異或,最后一輪包括字節(jié)替換、行移位和輪密鑰異或,解密過程則是逆向輪迭代運算。AES算法可以通過硬件或軟件的方法有效的實現(xiàn)。軟件實現(xiàn)消耗較少的資源,獲得有限物理安全保障和慢的加密速度;硬件實現(xiàn)則消耗更多的資源,獲得極大的物理安全和很快的加密速度(達到Gbit/s)。

        近些年網(wǎng)絡(luò)和通信的快速發(fā)展,對通信速度和信息安全的要求越來越高,為了保證用戶傳輸?shù)男畔⒃诰W(wǎng)絡(luò)或通信中不被盜取和篡改,用戶對信息進行加密后傳輸,這樣就要求更高的加密速度。因此,硬件電路實現(xiàn)的加密算法受到更加廣泛的關(guān)注?;贔PGA的加密算法具有安全性高、加密速度較快、開發(fā)周期短、可重配、成本低、可靠性高以及可移植性好等特點[3-4],在加密中得到廣泛應(yīng)用。

        基于FPGA的AES算法實現(xiàn)的研究中,部分研究側(cè)重AES算法加密速度的優(yōu)化,并不關(guān)心其邏輯資源消耗:文獻[5]為了提高算法加密速度,使用了多核128-AES技術(shù),一次處理多個128 bit數(shù)據(jù),以達到提升加密速度的目的,這種硬件實現(xiàn)方式以犧牲大量可編程邏輯資源為代價。文獻[6]使用CTR模型來實現(xiàn)AES,加密速度很快,但可編程邏輯資源消耗非常大。另一部分研究雖然使用了較少的可編程邏輯資源,但其實現(xiàn)速度較慢:文獻[7]僅僅使用了輪內(nèi)流水線結(jié)構(gòu)來提升加密速度,資源消耗較少,但每10個時鐘周期輸出一個加密結(jié)果,加密速度很低。文獻[8]為了減少可編程邏輯資源的消耗,對S盒進行了優(yōu)化,設(shè)計的S盒在有限域GF(24)2上取乘法逆,原S盒的仿射函數(shù)不變,并且與AES算法S盒的仿射函數(shù)相復(fù)合生成新的S盒,并未在其他方面優(yōu)化,其整體加密速度較慢。

        設(shè)計并實現(xiàn)一種基于FPGA的AES加密算法,以較少的邏輯資源消耗獲得快的加密速度。從降低算法運算復(fù)雜度,優(yōu)化關(guān)鍵路徑提高加密速度(通量),利用BRAM進一步提升加密速度等方面對算法的硬件實現(xiàn)進行優(yōu)化,以獲得更高的加密速度和效率。優(yōu)化后的AES算法封裝成IP核,并在SOPC上使用自定制IP核,實現(xiàn)數(shù)據(jù)通信中的高速加密。

        1 AES算法的硬件實現(xiàn)優(yōu)化

        1.1 行移位與列混合的優(yōu)化降低資源使用

        明文分成16個字節(jié),組成狀態(tài)矩陣[2]A。AES算法輪迭代包括4個部分:字節(jié)替代,行移位,列混合,輪密鑰異或。字節(jié)替代使用查找表(S盒)實現(xiàn),替代后的輸出矩陣B行移位。為減少邏輯資源的使用,行移位與字節(jié)替代組合實現(xiàn),矩陣A進行字節(jié)替代后輸出結(jié)果不再按照原始順序,而按行移位后的順序,節(jié)省行移位所需可編程邏輯資源。

        列混合運算如式(1)所示,其中Bij是狀態(tài)矩陣B的元素,下標x=0、1、2、3表示狀態(tài)矩陣的不同列。

        上述運算都在有限域GF(28)域[1]上進行的,硬件實現(xiàn)時,加法運算等價于異或;*運算則分為兩種情況[2]:如果二進制數(shù)Bij最高位為1,與2做*運算時,則先左移一位,然后與00011011進行異或運算;如果二進制數(shù)Bij最高位為0,與2做*運算時,則只左移一位。用查找表方式替代組合邏輯實現(xiàn)的*運算,將8位二進制數(shù)進行*運算的256種可能結(jié)果用一個查找替換表(M盒)進行存儲,輸入的8位二進制數(shù)為M盒的元素地址,取出對應(yīng)地址的M盒元素,可以降低列混合的運算復(fù)雜度,減少可編程邏輯資源消耗。

        1.2 關(guān)鍵路徑(密鑰擴展)的優(yōu)化提升加密速度

        AES系統(tǒng)的通量和效率定義如下:

        通量=分組長度×最大頻率/所需時鐘周期數(shù) (3)

        效率=通量/所用可編程邏輯單元(Slice)個數(shù)(4)

        標準AES經(jīng)過10輪迭代,即每10個時鐘周期獲得一個加密結(jié)果[10],通量低。一般會將10輪迭代完全展開并在每一級加入流水線,每一個時鐘周期獲得一個加密輸出,加密速度提升為原來的十倍。

        為了進一步提高AES算法通量,需找出關(guān)鍵路徑,對輪迭代中的每一個變換進行測試并獲得其最大頻率,將字節(jié)替換,行移位,列混合組合實現(xiàn),得到最大頻率1 205.13 MHz;對密鑰拓展部分實現(xiàn),獲得最大頻率為384.79 MHz。在AES算法的輪迭代中,密鑰拓展部分與另外3部分相對獨立。AES算法最大頻率由密鑰拓展和輪迭代的另外3部分組合實現(xiàn)的最大頻率中的較小者決定。而字節(jié)替換,行移位,列混合的組合實現(xiàn)的最大頻率遠高于密鑰拓展部分的最大頻率384.79 MHz,得出決定AES算法最大頻率的關(guān)鍵路徑是密鑰擴展部分。

        密鑰擴展部分為AES的關(guān)鍵路徑,如圖1所示密鑰擴展流程圖,W為第i輪128位密鑰,N為第i+1 輪 128 位密鑰,W[i]、N[i](i=0,1,2,3)分別為 W 和N的32位分組,T、R為32位。

        圖1 密鑰擴展流程圖

        為了進一步提高AES算法的通量,需提高密鑰擴展部分的最大頻率。引入6級流水線結(jié)構(gòu),每次異或運算之后均加入寄存器,這樣一個時鐘周期之間的組合邏輯運算只有一次異或運算,與其他情況下的一個時鐘周期內(nèi)多次異或運算相比較,最大延遲降低,最高頻率提高。插入流水線后單獨的密鑰擴展部分最大頻率提高到515.38 MHz。

        1.3 利用BRAM進一步提升加密速度

        FPGA內(nèi)嵌RAM(BRAM)的讀寫操作具有延遲固定,低延時和訪問時間固定的優(yōu)點。利用BRAM代替LUT實現(xiàn)S盒和M盒可以進一步提高算法的加密速度(通量)。

        AES算法在FPGA上實現(xiàn)的最大頻率為443.99 MHz,消耗1 139個Slice,通量為56.83 Gbit/s,效率為49.89(Mbit/s)/slice。表1為關(guān)鍵路徑優(yōu)化前后的對比。

        表1 關(guān)鍵路徑優(yōu)化前后的對比

        表2為本設(shè)計結(jié)果與相關(guān)文獻(文獻均在Virtex 6實現(xiàn)AES算法)所報道的同類設(shè)計結(jié)果的比較。

        本設(shè)計效率最高,為了驗證優(yōu)化后加密算法的功能正確性,選取測試向量[13],其相關(guān)數(shù)據(jù)如下:

        采用Modelsim進行功能時序仿真驗證,結(jié)果顯示優(yōu)化后算法實現(xiàn)了預(yù)定功能。

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

        2 AES算法自定制IP核

        優(yōu)化后的AES算法封裝為自定制IP核,需要對接口進行聲明。自定制IP核硬件結(jié)構(gòu)[14]如圖2所示,主要由AVALON接口邏輯部分,寄存器邏輯部分,任務(wù)邏輯部分和AES算法部分構(gòu)成。

        圖2 AES算法IP核硬件結(jié)構(gòu)

        4個模塊中,AVALON接口邏輯模塊聲明與總線通信的接口,調(diào)用寄存器邏輯模塊和任務(wù)邏輯模塊。寄存器邏輯模塊定義工作寄存器組,因為NIOS CPU是32位RISC軟核處理器,所以AVALON總線定為32位,設(shè)置的寄存器字長也為32位,包括4個32位的密鑰寄存器,4個32位的明文數(shù)據(jù)輸入寄存器,4個32位的結(jié)果寄存器和1個32位控制寄存器。為寄存器設(shè)定地址偏移量,密鑰寄存器地址偏移量為0x00~0x03,數(shù)據(jù)寄存器地址偏移量為0x04~0x07,結(jié)果寄存器地址偏移量為0x08~0x0b,控制寄存器地址偏移量為0x0c??刂萍拇嫫饔糜诳刂艫ES算法,其格式如下:控制寄存器第0位為AES算法狀態(tài)位,用于判斷AES算法完成與否(完成則為1);寄存器第1位為AES算法啟動位,當啟動位為1時,AES算法啟動;寄存器第2位為加解密選擇位,選擇位為1,則AES進行加密,為0,則進行解密;寄存器第3位則為狀態(tài)復(fù)位位,復(fù)位位為1時,狀態(tài)機復(fù)位,進入休眠初始態(tài),其余為保留位。

        任務(wù)邏輯模塊用于狀態(tài)轉(zhuǎn)換,即狀態(tài)機的描述:狀態(tài)機復(fù)位后進入初始休眠態(tài)Idel,密鑰和明文輸入后,發(fā)送使能信號Enable,狀態(tài)機轉(zhuǎn)入建立態(tài)Setup,將明文和密鑰送入AES算法部分,之后狀態(tài)機自動跳入保持態(tài)Hold(加入保持態(tài)是為了確保明文和密鑰完全送入AES算法部分),等待AES算法啟動信號,像控制寄存器寫入啟動信號Start,狀態(tài)機進入工作態(tài)Work,AES算法開始工作,加/解密完成后,AES算法發(fā)出完成標志信號,狀態(tài)機進入完成態(tài)Finish,最后自動跳入休眠態(tài)Idel,如圖3所示。

        圖3 任務(wù)邏輯狀態(tài)轉(zhuǎn)換圖

        3 AES算法加密系統(tǒng)

        基于NIOS II的可編程片上系統(tǒng)(SOPC),其硬件和軟件均可現(xiàn)場編程實現(xiàn),從而為設(shè)計提供了極大的靈活性,并得到了越來越廣泛的應(yīng)用[15-16]。

        AES算法加密系統(tǒng)的SOPC結(jié)構(gòu)如圖4所示,其中包括NIOS II處理器,自定制AES IP核,SDRAM控制器,F(xiàn)LASH接口等。AES IP核用于數(shù)據(jù)加密,SDRAM用于數(shù)據(jù)的存儲,F(xiàn)LSAH用于系統(tǒng)程序的運行,PIO用于顯示加密完成的標志,LCD用于顯示加密結(jié)果。

        圖4 AES算法加密系統(tǒng)

        SOPC系統(tǒng)采用Altera QuartusII設(shè)計軟件中的Qsys工具構(gòu)建。Qsys的系統(tǒng)組件庫提供了CPU,F(xiàn)LASH存儲器接口,SDRAM控制器等IP核,AES加密則采用自定制設(shè)計IP核。AES加密系統(tǒng)的QuartusII工程頂層模塊如圖5所示。

        圖5 AES加密系統(tǒng)的QuartusII工程頂層模塊

        用戶應(yīng)用程序通過硬件抽象層(HAL)系統(tǒng)訪問硬件,作為軟件運行環(huán)境的HAL系統(tǒng)將C標準庫,應(yīng)用程序接口(API)和設(shè)備驅(qū)動程序集成在一起。當采用Qsys創(chuàng)建了NIOS II應(yīng)用硬件系統(tǒng)后,就可以在NIOS II集成開發(fā)環(huán)境(EDS)中創(chuàng)建相應(yīng)的HAL系統(tǒng)庫,并進行IP核應(yīng)用編程。使用API函數(shù)IOWR(AESIP_BASE,OFFSET,DATA)將與上文驗證的128 位測試密鑰2b7e1516_28aed2a6_abf71588_09cf4f3c和128位明文3243f6a8_885a308d_313198a2_e0370734分別寫入密鑰寄存器,數(shù)據(jù)寄存器,程序如下。

        再將啟動加密的控制字寫入控制寄存器,AES IP核開始工作,程序如下:

        加密完成后返回的加密完成信號觸發(fā)結(jié)果讀出及完成標志信號顯示。

        4 結(jié)束語

        文中首先介紹了基于FPGA的AES算法硬件實現(xiàn)優(yōu)化,從行移位,列混合和關(guān)鍵路徑等進行硬件實現(xiàn)優(yōu)化,獲得了AES算法加密速度56.83 Gbit/s,加密效率 49.89(Mbit/s)/Slice,與同類設(shè)計相比,加密速度較快,加密效率最高;然后,優(yōu)化后的AES算法進行接口邏輯聲明,封裝成自定制IP核,以便隨時添加使用;最后,采用基于NIOS II的SOPC技術(shù),構(gòu)建了一個嵌入式AES算法加密系統(tǒng),實現(xiàn)了數(shù)據(jù)的高速加密,該系統(tǒng)具有開發(fā)周期短,處理速度快,硬件可自由配置等優(yōu)點,可以自由的應(yīng)用于高速數(shù)據(jù)通信中。

        [1]谷利澤,鄭世慧,楊義先.現(xiàn)代密碼學(xué)教程[M].2版.北京:北京郵電大學(xué)出版社,2015.

        [2]劉艷萍,李秋慧.AES算法的研究與其密鑰擴展算法的改進[J].現(xiàn)代電子技術(shù),2016,39(10):5-8.

        [3]韓津生,林家駿,周文錦,等.基于FPGA的AES核設(shè)計[J].計算機工程與科學(xué),2013,35(3):80-84.

        [4]韓少男,李曉江.一種小面積低功耗串行AES硬件加解密電路[J].微電子學(xué), 2010,40(3):347-353.

        [5]Henzen L,F(xiàn)ichtner W.FPGA parallel-pipelined AES-GCM core for 100G Ethernet applications[R].ESSCIRC, 2010 Proceedings of the, Seville,2010:202-205.

        [6]Abolfazl Soltani,Saeed Sharifian.An ultra-high throughput and fully pipelined implementation of AES algorithm on FPGA[J].Microprocessors and Microsystems, 2015(39):480-493.

        [7]El Maraghy M,Hesham S,Abd El Ghany M A.Real-time efficient FPGA implementation of aes algorithm[C]//SOC Conference(SOCC),2013 IEEE 26th International, Erlangen, 2013:203-208.

        [8]武一,郭婷婷.基于FPGA的加密算法改進及實現(xiàn)[J].電視技術(shù),2014,38(5):66-70.

        [9]楊軍,余江,趙征鵬.基于FPGA密碼技術(shù)的設(shè)計與應(yīng)用[M].北京:電子工業(yè)出版社,2012.

        [10]Wang Y,Ha Y.FPGA-Based 40.9-Gbits/s Masked AES With Area Optimization for Storage Area Network[R].in IEEE Transactions on Circuits and Systems II, 2013:36-40.

        [11]Hussain U,Jamal H.An efficient high throughput FPGA implementation of AES for Multi-gigabit Protocols[C]//Frontiers of Information Technology(FIT), 2012 10th International Conference on,Islamabad, 2012:215-218.

        [12]Rahimunnisa K, Karthigaikumar P, Rasheed S,et al.Suresh Kumar,F(xiàn)pga implementation of aes algorithm for high throughput using folded parallel architecture[J].Security Commun.Netw.(2014),7(11):2225-2236.

        [13]谷大武,徐勝波譯.高級加密標準(AES)算法-Rijndael的設(shè)計[M].北京:清華大學(xué)出版社,2003.

        [14]龔向東,黃虹賓,劉春平.主從可配置I2C總線接口IP及其應(yīng)用[J].電訊技術(shù),2010,50(1):76-80.

        [15]宋宇,宋雋煒.基于SOPC的微型無人機飛行控制系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2016,35(9):101-103.

        [16]張磊,武騰飛,申雅峰.基于SOPC的光信號數(shù)據(jù)采集解調(diào)系統(tǒng)設(shè)計 [J].光學(xué)技術(shù),2016,42(4):321-324.

        Optimization of AES algorithm hardware implementation based on FPGA and application of its IP core

        GONG Xiang-dong1,WANG Jia2,ZHANG Zhun2,WANG Kun2
        (1.College of Electronic Science and Technology , Shenzhen University,Shenzhen 518060,China;2.College of Optoelectronic Engineering,Shenzhen University,Shenzhen 518060,China)

        According to the characteristics of AES algorithm,its hardware implementation is improved from three aspects in this paper:In parts of sub_Bytes and MixColumns,using lookup table replace matrix transform to reduce the computational complexity of AES algorithm implementation;Using pipeline architecture for optimization of critical path greatly increase encryption speed;Employing FPGA customized RAM (BRAM)store pre-computed lookup table value to further enhance the encryption speed.The optimized AES algorithm is simulated and verified,then it is implemented on a Xilinx Virtex-6 xc6vlx240T (speed grade-3) FPGA.Improved results are obtained:1 139 Slices is totally employed, maximum frequency is 443.99 MHz, throughput is 56.83 Gbit/s,and efficiency is 49.89(Mbit/s)/Slice; Then, declaring Interface logic for AES algorithm, the optimized AES algorithm is encapsulated into a custom IP core;At last,using SOPC technology to build an embedded AES algorithm encryption system based on NIOS II,the system implement high speed data encryption in data communication.

        AES;pipelinearchitecture;maximumfrequency;efficiency;customIPcore;encryptionsystem

        TN918

        A

        1674-6236(2017)12-0001-05

        2016-10-08稿件編號:201610011

        國家自然科學(xué)基金儀器專項(61027014)

        龔向東(1956—),男,廣東深圳人,教授。研究方向:瞬態(tài)光電技術(shù),微機系統(tǒng)應(yīng)用等。

        猜你喜歡
        寄存器通量密鑰
        探索企業(yè)創(chuàng)新密鑰
        冬小麥田N2O通量研究
        密碼系統(tǒng)中密鑰的狀態(tài)與保護*
        Lite寄存器模型的設(shè)計與實現(xiàn)
        一種對稱密鑰的密鑰管理方法及系統(tǒng)
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        基于ECC的智能家居密鑰管理機制的實現(xiàn)
        緩釋型固體二氧化氯的制備及其釋放通量的影響因素
        化工進展(2015年6期)2015-11-13 00:26:29
        春、夏季長江口及鄰近海域溶解甲烷的分布與釋放通量
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        熟女少妇内射日韩亚洲| 亚洲精品第一国产麻豆| 欧美综合图区亚洲综合图区| 一区二区三区日本美女视频| 国产色av一区二区三区| 人妻少妇精品视频专区vr| 大陆国产乱人伦| 亚洲色丰满少妇高潮18p| 玖玖资源站无码专区| 中文字幕大乳少妇| 丰满少妇又爽又紧又丰满动态视频| 一区二区国产av网站| 日本边添边摸边做边爱喷水 | 在线观看免费人成视频| 亚洲国产精品线观看不卡| 白白视频在线免费观看| 亚洲高清精品一区二区| 麻婆视频在线免费观看| 亚洲日韩国产欧美一区二区三区 | 国产av在线观看久久| 国内最真实的xxxx人伦| 国产亚洲美女精品久久久| 第九色区Aⅴ天堂| 美女扒开内裤让我捅的视频| 久久精品国产亚洲av无码偷窥| 欧美尺寸又黑又粗又长| 免费 无码 国产精品| av在线免费观看男人天堂| 色先锋av影音先锋在线| 国产精品视频牛仔裤一区| 在线视频青青草猎艳自拍69| 亚洲一区二区日韩精品| 精品久久久久久无码中文野结衣| 美女大量吞精在线观看456| 日韩女优一区二区视频| 日本中文一区二区在线| 国产欧美亚洲精品第一页| 99久久久精品免费观看国产| 亚洲国产精品久久九色| 毛片在线视频成人亚洲| 亚洲va国产va天堂va久久|