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

        ?

        AES加密算法的FPGA優(yōu)化設計

        2021-02-28 06:49:46湖南工學院電氣與信息工程學院
        電子世界 2021年22期
        關鍵詞:設計

        湖南工學院電氣與信息工程學院 陳 超

        高級加密標準AES(Advanced Encryption Standard)算法由于其安全性高的優(yōu)勢而應用廣泛,再結(jié)合FPGA的優(yōu)勢可實現(xiàn)加密速度快,開發(fā)周期短且可通用性強的AES加密算法。多輪加密的每一輪采用復用的方式以節(jié)省資源,且通過狀態(tài)機控制加密過程。最后結(jié)合FPGA綜合仿真,資源消耗為9643,最高工作頻率為126.34MHz。

        隨著通信技術及計算機的發(fā)展,人們有越來越多的信息需要通過通信設備來傳輸與交換,用戶對于數(shù)據(jù)傳輸?shù)陌踩栽絹碓街匾?,因此需要對?shù)據(jù)進行加密傳輸來保證數(shù)據(jù)的安全性。而AES以其速度快、設計簡單、安全性高、易維護等優(yōu)點在郵件加密、數(shù)字簽名、文檔加密中廣泛應用。

        AES算法是2001年由NIST(美國國家標準技術研究所)為取代DES而發(fā)布的新一代數(shù)據(jù)高級加密標準。AES-128算法的密鑰比DES-56的密鑰在破解的時間花費上強1021倍。如果加解密采用同樣的密鑰會導致降低安全性。為了保證安全性,設計加解密密鑰可采用相關且不同的密鑰,即把加密模式的密鑰擴展模塊的最后一輪子密鑰作為解密模式密鑰的初始密鑰,這樣就可以強化通信安全性,保密性以及出色的抗攻擊性。

        1 AES算法原理

        1.1 AES的算法描述

        AES算法是一種對稱密碼,且是屬于其中的一種分組密碼,其原理采用的是迭代分組密碼算法,它由輪變換函數(shù)經(jīng)過數(shù)次迭代變換而成。AES加密可用如下加密公式表示。

        其中E表示加密函數(shù),K表示密鑰,P表示明文,C表示密文。

        AES的密鑰長度可分為128bit,192bit和256bit,而分組長度固定為128bit。除了輪數(shù),這三種的加密過程相同。每種長度對應的變換輪數(shù)的關系如表1所示。

        表1 AES算法的分組,密鑰及輪數(shù)關系

        1.2 AES的加密過程

        把加密數(shù)據(jù)排列成以字節(jié)為單位元素的4×4狀態(tài)矩陣,該矩陣中字節(jié)的排列順序為從上到下,從左至右。加密的第一個步驟是待加密的明文與初始密鑰異或(輪密鑰加),然后根據(jù)表1的密鑰長度進行對應的多輪變換。每一輪包含字節(jié)替換,行移位,列混淆,輪密鑰加四個過程。其中最后一輪需跳過列混淆。

        AES解密是加密的逆過程,文中不再詳細闡述。圖1所示是AES加解密過程的結(jié)構圖。

        圖1 AES加解密執(zhí)行過程

        2 AES加密算法的硬件設計及模塊分析

        2.1 AES實現(xiàn)的整體結(jié)構

        由于大部分應用采用AES-128,文中采用128bit來設計,其整體實現(xiàn)結(jié)構框圖如圖2所示,該設計的加密與解密是同一個模塊,通過mode輸入信號來控制加解密模式。該框架主要由加/解密模塊(Encrypt/Decrypt)、密鑰擴展模塊(key_exp)、字節(jié)替換模塊(s_box)組成。其中加/解密模塊功能主要由狀態(tài)機控制,完成與字節(jié)替換/逆替換模塊的數(shù)據(jù)交互、行移位、列混淆運算、輪密鑰加以及對密鑰擴展模塊的控制。設計中為了節(jié)省I/O資源,128bit數(shù)據(jù)和128bit初始密鑰由32bit的data_in依次輸入,并通過k_or_d信號來區(qū)分數(shù)據(jù)輸入還是密鑰輸入。輸入start信號為高表示輸入有效。同樣,輸出端亦為128bit密文由32bit端口依次輸出。加密數(shù)據(jù)流向為接收數(shù)據(jù)后由加/解密模塊配合其他模塊進行10輪迭代變換,最后一輪密鑰異或輸出即為密文。解密過程與其相同,把密文以相同的步驟作為數(shù)據(jù)輸入,同時設置mode=0,輸出即為明文。

        圖2 設計實現(xiàn)框圖

        2.2 密鑰擴展模塊

        AES采用的是密碼密鑰,不能在每一輪都是中相同的密鑰,需要根據(jù)初始密鑰去擴展獲得每一輪需要的密鑰。十輪密鑰擴展得到總長度為W*Nb(Nr+1),其中W為密鑰矩陣每列的位數(shù),Nb分組長度為4,Nr指加密輪數(shù)。矩陣的每一列密鑰元素可用Wi表示,其中i的所在范圍為0 ≤i<Nb(Nr+1)。擴展子密鑰可由初始密鑰生成。

        當i能被4整除:

        當i不能被4整除:

        其中:函數(shù)g()由三部分組成:字循環(huán)、字節(jié)替換和輪常量異或(函數(shù)g()可以增加密鑰拓展中的非線性,并且破壞AES算法的對稱性)。

        (1)字循環(huán):密鑰W[i]中的4個字節(jié)循環(huán)左移一個字節(jié)。例如輸入[a0,a1,a2,a3]變換后為[a1,a2,a3,a0]。

        (2)字節(jié)替換:將第一步的結(jié)果使用S盒進行字節(jié)代換,與加密過程字節(jié)替換步驟相同。

        (3)輪常量異或:將第二步的結(jié)果與輪常量Rcon[j]異或,j表示輪數(shù)。Rcon用查找表實現(xiàn),輪計數(shù)器kcnt作為查找地址。

        2.3 字節(jié)替換與行移位模塊

        字節(jié)替換是數(shù)據(jù)4×4狀態(tài)矩陣中,每個字節(jié)元素的高四位為S盒的行地址,低四位為列地址,用尋址后的值替換狀態(tài)矩陣的值。逆字節(jié)替換同理,只是需要查找逆S盒的行列地址即可。設計中采用查找表的方式進行字節(jié)替換與逆字節(jié)替換操作。以下為4×4狀態(tài)矩陣的排列順序。

        行移位是4×4狀態(tài)矩陣的行循環(huán)移位,第一行不變,第二行左移一個字節(jié),第二行左移兩個字節(jié),第三行左移三個字節(jié)。逆行移位為行移位反向操作,即向右循環(huán)移位即可。

        2.4 列混淆與輪密鑰加模塊

        列混淆運算為位元變換,根據(jù)GF(28)有限域運算規(guī)則,即將狀態(tài)矩陣左乘混淆矩陣,結(jié)果就是列混淆后的值。而逆列混淆運算就是狀態(tài)矩陣左乘逆混淆矩陣。設計中的列混淆與逆列混淆采用函數(shù)的方法進行運算,一個時鐘周期出結(jié)果。部分代碼如下:

        輪密鑰加易于實現(xiàn),只需狀態(tài)矩陣與密鑰矩陣相同的位置進行異或運算后,得到的就是下一輪迭代變換的起始狀態(tài)矩陣。

        3 AES算法的仿真與實現(xiàn)

        3.1 AES算法仿真結(jié)果及分析

        設計采用Verilog HDL對AES算法進行設計以及驗證。在十輪迭代加密、解密運算后,得到的加密與解密結(jié)果分別如圖3、圖4所示。

        圖3 AES加密數(shù)據(jù)仿真

        圖4 AES解密數(shù)據(jù)仿真

        表2、表3分別對應圖3、圖4的加密和解密實例結(jié)果表。由實例數(shù)據(jù)測試結(jié)果可知,文中的AES算法設計在mode=1的加密模式下,輸入表2中的明文以及密鑰,可得到表2中的密文(如圖3所示);然后用密文作為輸入在mode=0的解密模式下,輸入表3中的密文以及密鑰,可得到表3中的明文(如圖4所示)。實驗表明解密后的明文與加密前的明文相同。同時測試也用了多組數(shù)據(jù)進行了設計驗證,均證明了文中的設計可以對數(shù)據(jù)進行正確的加密得到密文,密文也可以反過來解密出明文。

        表2 AES測試加密數(shù)據(jù)實例

        表3 AES測試解密數(shù)據(jù)實例

        3.2 性能分析

        文中設計軟件基于Quartus Ⅱ13.1,仿真軟件為ModelSim 10.1d,芯片為Cyclone Ⅳ系列EP4CE10E22C8進行驗證,最終設計綜合出來可實現(xiàn)工作頻率最高為126.34MHz,邏輯資源消耗為9643。再通過對比占用的邏輯單元數(shù),可將中文設計與其他文獻的方案做比較可得到表4,可說明本方案較其他方案相比,運行速度更快,吞吐量更高;但同時占用邏輯單元數(shù)在對比中處于適中位置,不占很大優(yōu)勢,這是用面積換取速度的結(jié)果導致。

        表4 設計與其他文獻方案對比

        文中分析了AES算法的原理以及設計的實現(xiàn)方案,實現(xiàn)的關鍵在于狀態(tài)機的控制;再通過劃分各個模塊來分析每個模塊的實現(xiàn)方法;最后實例測試采用文中的方案而實現(xiàn)的設計模塊以及設計的性能分析。結(jié)果表明該設計方案能滿足設計要求。

        猜你喜歡
        設計
        二十四節(jié)氣在平面廣告設計中的應用
        河北畫報(2020年8期)2020-10-27 02:54:06
        何為設計的守護之道?
        《豐收的喜悅展示設計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PWM的伺服控制系統(tǒng)設計
        電子制作(2019年19期)2019-11-23 08:41:36
        基于89C52的32只三色LED搖搖棒設計
        電子制作(2019年15期)2019-08-27 01:11:50
        基于ICL8038的波形發(fā)生器仿真設計
        電子制作(2019年7期)2019-04-25 13:18:16
        瞞天過?!律O計萌到家
        藝術啟蒙(2018年7期)2018-08-23 09:14:18
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        從平面設計到“設計健康”
        商周刊(2017年26期)2017-04-25 08:13:04
        精品亚洲成在人线av无码| 偷拍视频十八岁一区二区三区| 成人在线观看av毛片| 成人亚洲一区二区三区在线| 日本不卡在线视频二区三区| 色噜噜狠狠色综合中文字幕| 国内精品女同一区二区三区| 一个色综合中文字幕人妻激情视频| 乱色熟女综合一区二区三区| 欧美韩日亚洲影视在线视频| 亚洲高清在线视频网站| 蜜桃视频网站在线观看一区| 最近中文字幕大全在线电影视频| 亚洲无码一二专区| 日本一区二区三区一级免费| 精品女同一区二区三区| 欧美寡妇xxxx黑人猛交| 久久狠狠第一麻豆婷婷天天| 国产美女主播福利一区| 丰满少妇按摩被扣逼高潮| 特级无码毛片免费视频尤物| 男人的天堂在线无码视频| 国产黄色一级到三级视频| 狠狠色噜噜狠狠狠8888米奇| 越猛烈欧美xx00动态图| 中日韩欧美高清在线播放| 国产少妇高潮在线视频| 国产亚洲美女精品久久久2020 | 91色综合久久熟女系列| 粗大的内捧猛烈进出小视频| 欧美情侣性视频| 亚洲av伊人久久综合性色| 亚洲美女毛片在线视频| 青楼妓女禁脔道具调教sm| 亚洲阿v天堂网2021| 日韩精品一区二区在线视| 波多野结衣中文字幕一区二区三区 | 内射后入在线观看一区| 亚洲熟妇夜夜一区二区三区 | 精品卡一卡二卡3卡高清乱码| 又黄又爽又色的视频|