• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的AES算法中行位移與列混淆混合設(shè)計(jì)

      2018-04-09 06:25:40彭關(guān)禮肖順文
      關(guān)鍵詞:輪數(shù)加密算法字節(jié)

      彭關(guān)禮,肖順文

      (西華師范大學(xué) 電子信息工程學(xué)院,四川 南充 637009)

      0 引言

      隨著信息技術(shù)與互聯(lián)網(wǎng)的發(fā)展,數(shù)據(jù)傳送的安全性也變得越來越重要[1]。高級加密標(biāo)準(zhǔn)AES(Advanced Encryption Standard) 算法作為目前最流行的加密算法之一,無論是在商業(yè)、工業(yè)還是在軍事方面都被廣泛應(yīng)用[2]。該加密算法是繼數(shù)據(jù)加密標(biāo)準(zhǔn)DES(Date Encryption Standard)之后的新一代加密算法,采用了Rijndeal算法設(shè)計(jì),該算法具有模塊性、高效性、對稱性等自身結(jié)構(gòu)特點(diǎn)。

      高級加密標(biāo)準(zhǔn)AES算法硬件實(shí)現(xiàn)相比軟件實(shí)現(xiàn)提供了更好的物理安全性和更快的處理速度,F(xiàn)PGA(Field-Programmable Gate Array)以其可編程性為該算法的實(shí)現(xiàn)提供了較好的平臺(tái)[3]。本文針對該算法中行位移變換模塊和列混淆變換模塊的特點(diǎn)將兩個(gè)模塊綜合為一個(gè)整體模塊基于硬件描述語言VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)來實(shí)現(xiàn),為AES算法中行位移與列混淆的實(shí)現(xiàn)提供一種可行的設(shè)計(jì)方案。

      1 AES的輪函數(shù)分析

      輪變換函數(shù)包括了字節(jié)替代變換(SubBytes)、行位移變換(ShfitRows)、列混淆變換(MixColumns)(除最后一輪加密外)以及輪密鑰加(AddRoundKey)四個(gè)步驟的操作[4]。在AES加密算法中明文分組長度為128位固定值,而密鑰分組長度的不同決定了加密的輪數(shù)和輪變換的輪數(shù),當(dāng)密鑰分組長度為128位時(shí)加密輪數(shù)和輪變換輪數(shù)為10輪;當(dāng)密鑰分組長度為192位時(shí)加密輪數(shù)和輪變換輪數(shù)為12輪;當(dāng)密鑰分組長度為256位時(shí)加密輪數(shù)和輪變換輪數(shù)為14輪。雖然相應(yīng)的加密輪數(shù)能夠?qū)崿F(xiàn)對數(shù)據(jù)信息進(jìn)行有效地保護(hù),但輪函數(shù)中的行位變換和列混淆變換為加密算法提供了更高的擴(kuò)散性以抗擊密碼攻擊,因此輪變換中的行位變換和列混淆變換對實(shí)現(xiàn)AES加密算法有著至關(guān)重要的作用。

      1.1 行位移變換

      行位移變換是一個(gè)簡單的字節(jié)換位操作,它是將狀態(tài)中的行按照不同的偏移量進(jìn)行循環(huán)移位。AES加密算法中明文分組長度為固定值128位,可以抽象地用4行4列的狀態(tài)矩陣來表示,每行由4字節(jié)組成。在AES加密算法中行位移變換是將第1行字向左循環(huán)移動(dòng)0字節(jié),第2行字向左循環(huán)移動(dòng)1字節(jié),第3行字向左循環(huán)移動(dòng)2字節(jié),第4行字向左循環(huán)移動(dòng)3字節(jié)。

      1.2 列混淆變換

      列混淆變換是一個(gè)作用在4字節(jié)列上的磚匠變換,可以將每列看作是一個(gè)多項(xiàng)式與一個(gè)固定的多項(xiàng)d(x)=03.x3+01.x2+01.x+02相乘后取模x4+1,亦可用式(1)所示的矩陣形式[5]表示。

      (1)

      傳統(tǒng)的AES算法輪函數(shù)中行位移與列混淆是作為單獨(dú)的兩個(gè)模塊分別來實(shí)現(xiàn),因此模塊與模塊之間存在線路的傳輸延遲以及資源的多余損耗,不利于提高該算法實(shí)現(xiàn)的效率以及資源空間的節(jié)省,因此文中采用了行位移與列混淆的混合設(shè)計(jì)模式。

      2 行位移與列混淆的混合及算法設(shè)計(jì)

      首先輪函數(shù)中的行位移變換與列混淆變換都是針對字節(jié)的變換操作,其次兩者的變換都具有一定的線性性質(zhì)。在原AES加密算法中行位移變換與列混淆變換是兩個(gè)獨(dú)立變換,因此原算法基于FPGA的硬件描述語言VHDL來實(shí)現(xiàn)需要兩個(gè)獨(dú)立模塊,通過對算法中的行位移與列混淆的分析可以將它們綜合為一個(gè)整體模塊來實(shí)現(xiàn)。

      2.1混合設(shè)計(jì)

      (2)

      其中{X}H表示十六進(jìn)制數(shù),⊕表示異或運(yùn)算,X取01,02,03,i取0,4,8,12。為了更好地實(shí)現(xiàn)混合設(shè)計(jì),式(2)中乘02、乘03統(tǒng)一定義為Xtime()[6]運(yùn)算,設(shè)a=b7b6b5b4b3b2b1b0(a表示十六進(jìn)制數(shù),其中b7,b6,b5,b4,b3,b2,b1,b0表示依次從高位到低位的二進(jìn)數(shù))。定義Xtime()按照以下方式運(yùn)算,如式(3)所示,c=00011011是用二進(jìn)制數(shù)表示的常量。

      (3)

      因此由式(2)經(jīng)過變換整理可以得到式(4)。

      (4)

      從理論角度而言整合設(shè)計(jì)模塊優(yōu)于原算法中兩個(gè)獨(dú)立模塊,整合后的模塊省去了一些中間變換步驟,同時(shí)也能夠消除模塊之間傳輸?shù)木€路延遲,但效率的提升因軟件、硬件以及加密時(shí)的文件大小不同而有所差異[7]。

      2.2 混合設(shè)計(jì)的FPGA實(shí)現(xiàn)

      硬件描述語言VHDL具有功能強(qiáng)大、設(shè)計(jì)靈活、與具體器件無關(guān)等自身結(jié)構(gòu)優(yōu)點(diǎn)[8],而AES加密算法基于硬件實(shí)現(xiàn)優(yōu)于軟件實(shí)現(xiàn)。因此采用專有硬件來實(shí)現(xiàn)AES加密算法更能顯示其中的優(yōu)點(diǎn)。實(shí)現(xiàn)行位移與列混淆變換的部分VHDL程序如下:

      library ieee;

      use ieee.std_logic_arith.all;

      use ieee.std_logic_1164.all;

      use ieee.std_logic_unsigned.all;

      .

      .

      s0:=Xtime(h1,(e0 xor e5)) xor (e5 xor e10) xor e15;

      s1:=Xtime(h1,(e5 xor e10)) xor (e10 xor e15) xor e0;

      s2:=Xtime(h1,(e10 xor e15)) xor (e0 xor e15) xor e5;

      s3:=Xtime(h1,(e0 xor e15)) xor (e0 xor e5) xor e10;

      3 實(shí)驗(yàn)仿真

      基于Quartus II 9.1 (32-Bit)版本,在cyclone iii系列下的EP3C80F484C8芯片上進(jìn)行了實(shí)驗(yàn)仿真,其中資源利用率如圖1所示,基于芯片EP3C80F484C8中的81264個(gè)LE資源(Total logic elements)僅使用216個(gè),占用率小于1%,引腳數(shù)(Total pins)利用率為87%。

      FamilyCycloneIIIDeviceEP3C80F484C8TimingModelsH/ATotallogicelements216/81,264(<1%) Totalcombinationalfunctions216/81,264(<1%) Dedicatedlogicregisters128/81,264(<1%)Totalregisters128Totalpins257/296(87%)Totalvirtualpins0Totalmemorybits0/2,810,880(0%)EmbeddedMultiplier9-bitelements0/488(0%)TotalPLLs0/4(0%)

      圖1資源利用率

      為了驗(yàn)證該混合設(shè)計(jì)模塊的穩(wěn)定性和可靠性,分別給出了不同工作頻率下不同輸入數(shù)據(jù)對應(yīng)的輸出數(shù)據(jù)結(jié)果,具體測試結(jié)果如表1所示。

      表1 相關(guān)數(shù)據(jù)測試

      由表1可知,在工作頻率分別為1 000MHz和100MHz時(shí),當(dāng)輸入數(shù)據(jù)din=DEE570E3749B9BBA7516C67

      69D51924D,對應(yīng)的數(shù)據(jù)輸出為dout=52C192121EF7DCDBC580F2222DDFB28E,其吞吐率分別可以達(dá)到9.78Gb/s和7.28Gb/s.當(dāng)輸入數(shù)據(jù)din=22C93CBFD2C73A6B1418407FB88D214A,對應(yīng)的數(shù)據(jù)輸出為dout=5CC307CC246A8B0B191FF3C11DF9BAB1,其吞吐率分別可以達(dá)到9.30Gb/s和7.21Gb/s.

      測試使用的時(shí)鐘頻率為1000MHz時(shí),第1組數(shù)據(jù)的仿真結(jié)果如圖2所示:

      測試使用的時(shí)鐘頻率為100MHz時(shí),第1組數(shù)據(jù)的仿真結(jié)果如圖3所示:

      測試使用的時(shí)鐘頻率為1 000MHz時(shí),第2組數(shù)據(jù)的仿真結(jié)果如圖4所示:

      測試使用的時(shí)鐘頻率為100MHz時(shí),第2組數(shù)據(jù)的仿真結(jié)果如圖5所示:

      4 總 結(jié)

      本文通過對原AES算法中的行位移變換與列混淆變換的分析,針對這兩種變換的特點(diǎn)經(jīng)過整合來實(shí)現(xiàn)兩個(gè)模塊所能單獨(dú)實(shí)現(xiàn)的功能,實(shí)驗(yàn)仿真結(jié)果表明基于FPGA的硬件描述語言VHDL實(shí)現(xiàn)AES算法的行位移與列混淆的混合設(shè)計(jì)是可行的,在不同的工作頻率下達(dá)到了數(shù)據(jù)的不同處理速度,在同一工作頻率下不同輸入數(shù)據(jù)達(dá)到了相應(yīng)的工作頻率。

      參考文獻(xiàn):

      [1]肖振久,胡馳,姜正濤,等.AES與RSA算法優(yōu)化其混合加密體制[J].計(jì)算機(jī)應(yīng)用研究,2014,31(4):1189-1198.

      [2]于松林,王文工,陳博,等.基于FPGA的AES硬件實(shí)現(xiàn)及優(yōu)化[J].電子設(shè)計(jì)工程,2017,25(6):75-83.

      [3]張偉,高俊雄,王耕波,等.一種優(yōu)化的AES算法及其FPGA實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2017,45(3):502-505.

      [4]趙躍華,馬林林.AES算法的輕量化實(shí)現(xiàn)研究[J].計(jì)算機(jī)工程與應(yīng)用.2015,51(6):79-83.

      [5]趙哲斐.AES算法IP核優(yōu)化與設(shè)計(jì)[D].西安:西安電子科技大學(xué),2013.

      [6]王穎.高級加密標(biāo)準(zhǔn)AES中MixColumns()函數(shù)的改進(jìn)[D].西安:陜西師范大學(xué),2011.

      [7]劉秀蓮.AES算法的一種快速實(shí)現(xiàn)方法[J].計(jì)算機(jī)安全,2012(06):47-49.

      [8]朱松柏,肖順文,江敏.基于FPGA的AES解密算法研究[J].成都工業(yè)學(xué)院學(xué)報(bào),2016,19(2):27-30.

      猜你喜歡
      輪數(shù)加密算法字節(jié)
      多輪反應(yīng)溶液用量對微生物加固粉土的影響
      No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
      LowMC實(shí)例的差分枚舉攻擊效果分析
      網(wǎng)絡(luò)安全平臺(tái)斗象科技 完成C輪數(shù)億元融資
      No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
      簡談MC7字節(jié)碼
      基于小波變換和混沌映射的圖像加密算法
      循環(huán)賽
      Hill加密算法的改進(jìn)
      對稱加密算法RC5的架構(gòu)設(shè)計(jì)與電路實(shí)現(xiàn)
      多伦县| 西乌珠穆沁旗| 张家川| 建德市| 达日县| 嘉祥县| 靖江市| 博客| 德令哈市| 通山县| 镇安县| 招远市| 梁平县| 彝良县| 靖宇县| 井冈山市| 大悟县| 田阳县| 甘德县| 资溪县| 高青县| 凤山市| 靖州| 印江| 广宗县| 天气| 哈巴河县| 沁源县| 大厂| 皋兰县| 瓮安县| 潮州市| 浦城县| 鄂尔多斯市| 安吉县| 长阳| 汉寿县| 莒南县| 介休市| 仁怀市| 长兴县|