• 
    

    
    

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

      分組密碼AES的優(yōu)化與設(shè)計(jì)

      2020-01-14 06:34:36劉宇峰許向陽(yáng)耿艷香
      關(guān)鍵詞:加密算法解密密鑰

      劉宇峰 許向陽(yáng) 蘇 浩 耿艷香 劉 婷

      1(河北科技大學(xué)信息科學(xué)與工程學(xué)院 河北 石家莊 050000)2(天津商業(yè)大學(xué)信息工程學(xué)院 天津 300134)

      0 引 言

      科技進(jìn)步以及互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展使人們對(duì)信息安全這個(gè)概念的理解更加深入。AES算法可以通過(guò)軟件來(lái)實(shí)現(xiàn),但是現(xiàn)在已經(jīng)跟不上人們的需求,它受限于CPU的串行體制,導(dǎo)致加密和解密的速度已經(jīng)跟不上現(xiàn)在使用的需要。與此同時(shí),軟件實(shí)現(xiàn)方案在物理安全性方面比較薄弱,比較容易受到安全攻擊。除此之外,對(duì)于AES算法怎樣能更好地發(fā)揮其自身的性能,本文嘗試對(duì)算法進(jìn)行了優(yōu)化設(shè)計(jì)。

      本文提出了一種優(yōu)化后的AES算法,隨機(jī)性測(cè)試表明優(yōu)化方案提高了算法的安全性,本次設(shè)計(jì)是采用自頂向下的設(shè)計(jì)方案,其主要依據(jù)是AES的算法結(jié)構(gòu),本文優(yōu)化設(shè)計(jì)后的AES算法,提高了吞吐量,減少了使用面積,大大提高了使用性能。其中:算法方面的主要問(wèn)題是怎樣對(duì)各種變換進(jìn)行優(yōu)化以提高處理速度和安全性能;實(shí)現(xiàn)方面的主要問(wèn)題是AES的各個(gè)模塊在通過(guò)FPGA實(shí)現(xiàn)的環(huán)節(jié)上是否能提高吞吐量和處理速度,在性能上進(jìn)行突破設(shè)計(jì)出一個(gè)高效的加密解密系統(tǒng),在確保速度的前提下還要盡力減小芯片資源的占用。

      1 AES算法介紹

      現(xiàn)在是信息科技逐日更新進(jìn)步的時(shí)代,Email的收發(fā)、資料的查找、保密數(shù)據(jù)的保存及傳輸?shù)忍焯於及l(fā)生在我們的生活中。網(wǎng)絡(luò)是把雙刃劍,在它把大家?guī)闲畔l(fā)展的高速路,讓我們感受便利的同時(shí),也讓信息以及用戶安全受到威脅,隨著人們對(duì)個(gè)人信息的安全性意識(shí)逐漸提高,信息的傳輸、存儲(chǔ)和調(diào)用查找等問(wèn)題的安全性處理逐漸成為人類要迅速解決的問(wèn)題。所以人們發(fā)明了加密算法,加密技術(shù)最有效的方法之一就是通過(guò)加密算法來(lái)對(duì)需要保密的信息進(jìn)行加密處理。DES加密算法是較早的算法,它一直保護(hù)著人類信息的安全性直到1999年被破解。在DES算法的安全性被攻破后,美國(guó)向全世界科研人員尋求幫助來(lái)研究出一種更為安全的加密算法,最終提出了AES。

      當(dāng)AES算法被確定為新的加密算法后,它就立即被用于多個(gè)領(lǐng)域,如NFC加密、Email數(shù)據(jù)加密、衛(wèi)星通信加密以及PC機(jī)中硬盤的加密等。起初AES是通過(guò)軟件來(lái)實(shí)現(xiàn)的,軟件容易實(shí)現(xiàn)且便于更新,但是安全性不強(qiáng),吞吐量不高。所以人們逐漸開(kāi)始選擇硬件來(lái)實(shí)現(xiàn)。相比軟件而言,在實(shí)際應(yīng)用中AES算法用硬件完成后,它的安全性會(huì)更好,不容易被破解攻破,而且吞吐量比軟件高出數(shù)千倍,硬件實(shí)現(xiàn)的方法有ASIC(Application Specific Integrated Circuit)和FPGA(Field Programmable Gate Array),本文使用FPGA來(lái)實(shí)現(xiàn)AES算法,因?yàn)镕PGA可以編程和配置,所以它比ASCI更具有靈活性,且比ASCI實(shí)現(xiàn)速度快。

      AES加密解密算法屬于對(duì)稱加密解密算法,它主要由加密、解密以及密鑰擴(kuò)展三部分組成。AES算法的明文分組長(zhǎng)度只可以是128 bit,但是其密鑰長(zhǎng)度允許是128 bit、192 bit或256 bit,與輪密鑰相關(guān)的選代輪數(shù)Nr分別是10、12、14輪。本文設(shè)計(jì)是把三種密鑰長(zhǎng)度集成在一起,并且可以隨意選擇所需的密鑰長(zhǎng)度進(jìn)行加密和解密。

      2 AES算法優(yōu)化

      2.1 S-box優(yōu)化

      現(xiàn)有S-box研究主要集中在其設(shè)計(jì)準(zhǔn)則和構(gòu)造方法上。S-box設(shè)計(jì)準(zhǔn)則主要有:非線性度、查分均勻性、代數(shù)次數(shù)及項(xiàng)數(shù)分布。任何一個(gè)有差異的密碼學(xué)性質(zhì)都各自應(yīng)用防御不一樣的安全威脅,例如差分分析可以用差分均勻性來(lái)阻擋,差分攻擊可以使用項(xiàng)數(shù)分布和代數(shù)次數(shù)來(lái)防御。通常在設(shè)計(jì)準(zhǔn)則之間存在制約關(guān)系,具體設(shè)計(jì)時(shí)需要折中考慮?;谏鲜鲈O(shè)計(jì)準(zhǔn)則,在實(shí)際設(shè)計(jì)中有許多種S-box構(gòu)造方法,如:隨機(jī)選取并測(cè)試、幾乎完全非線性置換、數(shù)學(xué)函數(shù)和不同群中數(shù)學(xué)函數(shù)的復(fù)合等。

      在AES算法中,S-box設(shè)計(jì)遵循的準(zhǔn)則為:非線性度;代數(shù)復(fù)雜度。設(shè)計(jì)者建議選取GF(28)上的乘法逆運(yùn)算來(lái)構(gòu)造S-box,然而直接采用逆變換生成的S-box在GF(28)上的代數(shù)表達(dá)式太簡(jiǎn)單,攻擊者可能利用這一點(diǎn)進(jìn)行插值攻擊。為彌補(bǔ)這一缺陷,設(shè)計(jì)者對(duì)乘法逆運(yùn)算結(jié)果進(jìn)行了一次環(huán)Z2[x]/(x8+1)上(而非有限域GF(28)上)的仿射變換,這使得產(chǎn)生的S-box代數(shù)表達(dá)式非常復(fù)雜。此外,設(shè)計(jì)者限制仿射變換使得S-box沒(méi)有不動(dòng)點(diǎn)與反不動(dòng)點(diǎn),雖然目前還沒(méi)有針對(duì)這一特性的攻擊方法。AES算法中S-box具體構(gòu)造過(guò)程如下:

      (1) 求GF(28)上元素的乘法逆元:

      (2) 進(jìn)行Z2[x]/(x8+1)上的仿射變換:

      b(x)=(u(x)a(x)+v(x))mod(x8+1)

      將其記為L(zhǎng)u和Lv,u(x)和v(x)稱為仿射變換對(duì),矩陣表達(dá)式為:

      定義1若存在正整數(shù)n,使得Sn(x)=x,則稱S-box是周期性的,及GF(28)內(nèi)元素通過(guò)S-box的連續(xù)變換返回自身所經(jīng)過(guò)的循環(huán)次數(shù)。AES算法S-box共有5個(gè)迭代周期:2、27、59、81、87,這對(duì)于GF(28)的空間容量256來(lái)說(shuō)太小了,之前有人指出任何明文或明文差分經(jīng)過(guò)ABS算法線性擴(kuò)散層的16輪選代之后都會(huì)重現(xiàn),將其與S-box選代周期過(guò)短的缺點(diǎn)結(jié)合起來(lái)會(huì)成為AES算法的弱點(diǎn),所以應(yīng)該把選代周期作為一條設(shè)計(jì)準(zhǔn)則加以考慮。

      之前有人指出AES算法S-box代數(shù)表達(dá)式次數(shù)為254,代數(shù)式項(xiàng)數(shù)為9,過(guò)于簡(jiǎn)單的形式引發(fā)了對(duì)其安全性的懷疑。有人證明了GF(2)上的矩陣運(yùn)算是造成S-box代數(shù)式復(fù)雜度低的主要原因,改變有限域生成多項(xiàng)式m(x)、仿射矩陣u(x)和仿射常量v(x)等不會(huì)增加S-box代數(shù)式的次數(shù)和復(fù)雜程度,上述缺點(diǎn)與乘法逆運(yùn)算和仿射變換的順序有關(guān),他們采用了新的仿射變換對(duì){6b,5d}并且改變了S-box構(gòu)造順序,然而這一構(gòu)造方案進(jìn)行了2次仿射變換使得電路的面積和路徑延時(shí)增加。本文最終選擇S-box的構(gòu)造方案:S-box非線性變換為y=(ux)-1+v,逆S-box非線性變換為y=u-1(x+v)-1,仿射變換對(duì)(u,v)=({34},{ba})。該優(yōu)化方案僅采用了1次仿射變換,比原始的方案電路面積更小,路徑延時(shí)更低。表1為本文S-box與原始AES算法S-box密碼性質(zhì)的比較,可見(jiàn)優(yōu)化的S-box具有更好的密碼學(xué)特性

      表1 S-box性能比較

      2.2 列混合優(yōu)化

      在MixColumn和IncMixColumn的操作中,主要操作定義如下:

      (1)

      (2)

      在設(shè)計(jì)中,可以將式(1)、式(2)表示為:

      outx=2(a+b)+b+(c+d)

      (3)

      outy=4(2(a+b)+2(c+d)+(a+c))+

      2(a+b)+b+(c+d)

      (4)

      將式(1)和式(2)所做的操作及結(jié)果列入表2,由步驟1到步驟5處理的結(jié)果得到outx,接著由outx和W8得到outy。執(zhí)行過(guò)程中,操作所用到的硬件資源及其所得結(jié)果可以用于步驟9還有步驟10。如圖1所示,這種新型結(jié)構(gòu)(字節(jié)-列混合模塊)僅僅需要8個(gè)加法器和4個(gè)乘法器。與原始方案相比,此設(shè)計(jì)大大減少了硬件的復(fù)雜度并顯著節(jié)省了資源的消耗。

      表2 運(yùn)算操作

      圖1 列混合模塊

      在圖1中的乘法器模塊中的計(jì)算公式為:out[7:0]={in[6:4],in[3:0]}∧{in[7],in[7],0,in[7],in[7]}

      3 仿真及實(shí)現(xiàn)

      3.1 仿真設(shè)計(jì)

      本文采用的是Quartus做的總體綜合,本文使用的是全流水技術(shù),也就是在組合邏輯單元中添加寄存器縮短路徑演示以滿足更高的時(shí)鐘頻率要求,提高系統(tǒng)的吞吐量,并且本次設(shè)計(jì)是將128 bit、192 bit、256 bit這三種密鑰長(zhǎng)度綜合在一起實(shí)現(xiàn)三種自由選擇,而且可以實(shí)現(xiàn)加密解密同時(shí)進(jìn)行。相比優(yōu)化前的AES算法的設(shè)計(jì),本次設(shè)計(jì)在多方面有了改進(jìn)和優(yōu)化,大大提高了工作效率。圖2是整體設(shè)計(jì)的電路接口圖,表3是電路端口聲明,keylen代表密鑰長(zhǎng)度的選擇00代表128 bit,01代表192 bit,10代表256 bit。

      圖2 整體設(shè)計(jì)的電路接口圖

      表3 電路端口聲明

      續(xù)表3

      3.2 仿真結(jié)果及性能比較

      本文使用Modelsim進(jìn)行仿真,全流水結(jié)構(gòu)如圖3所示。

      圖3 全流水結(jié)構(gòu)仿真圖

      圖4是選擇256 bit密鑰進(jìn)行加密的仿真驗(yàn)證。

      密鑰:256′h123456789abcdef123456789abcdef123456789abcdef123456789abcdef1234;

      明文:128′h000000000000000000000000000000C8;

      加密結(jié)果:128′h3001320a8f2cee7394d20153f4dffb8e。

      圖4 加密仿真驗(yàn)證

      圖5是使用軟件進(jìn)行驗(yàn)證。

      圖5 軟件驗(yàn)證

      圖6是解密仿真,也就是加密仿真的逆過(guò)程。

      密鑰:256′h123456789abcdef123456789abcdef123456789abcdef123456789abcdef1234;

      密文:128′h3001320a8f2cee7394d20153f4dbfb8e;

      解密結(jié)果:128′h000000000000000000000000000000c8。

      圖6 解密仿真驗(yàn)證

      圖7是原始方法S盒的性能,而圖8是優(yōu)化后的性能結(jié)果,可以看出,原始方法在資源使用上要比優(yōu)化后的S-box的資源用得多,原始S-box使用3 328個(gè)邏輯器件,而優(yōu)化后的S-box則使用1 233個(gè)邏輯器件。

      圖7 經(jīng)典方法S盒性能

      圖8 本文優(yōu)化后S盒性能

      4 結(jié) 語(yǔ)

      本文通過(guò)FPGA實(shí)現(xiàn)改進(jìn)后的AES算法加密和解密。對(duì)AES算法中的S盒使用列混合進(jìn)行優(yōu)化,采用全流水的方式進(jìn)行操作,大大提高了吞吐量,減少了使用面積。在設(shè)計(jì)過(guò)程中也進(jìn)行了優(yōu)化,使得加密解密可以同時(shí)進(jìn)行,并且可以隨意選擇密鑰的長(zhǎng)度,大大提高了工作效率及安全保障。最后通過(guò)Modelsim進(jìn)行仿真,驗(yàn)證了整體設(shè)計(jì)的可行性和準(zhǔn)確性。

      猜你喜歡
      加密算法解密密鑰
      探索企業(yè)創(chuàng)新密鑰
      解密“熱脹冷縮”
      解密“一包三改”
      密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
      炫詞解密
      一種對(duì)稱密鑰的密鑰管理方法及系統(tǒng)
      基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
      基于小波變換和混沌映射的圖像加密算法
      Hill加密算法的改進(jìn)
      解密“大調(diào)解”
      瑞丽市| 南郑县| 中江县| 湖北省| 义乌市| 民勤县| 清丰县| 清镇市| 彭阳县| 永济市| 滁州市| 册亨县| 满城县| 汶上县| 江北区| 尤溪县| 万宁市| 将乐县| 中江县| 尼勒克县| 衡水市| 汕尾市| 青阳县| 芮城县| 兖州市| 昆山市| 明光市| 泸定县| 庆城县| 同心县| 诸城市| 东宁县| 滦平县| 闻喜县| 楚雄市| 宽城| 瑞丽市| 莲花县| 仙游县| 泰宁县| 龙南县|