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

全通用AES加密算法的FPGA實現

2020-05-20 01:18:46李熾陽雷倩倩楊延飛
計算機工程與應用 2020年10期
關鍵詞:設計

李熾陽,雷倩倩,楊延飛

西安工程大學 理學院,西安 710000

1 引言

隨著互聯網技術的飛速發展,私人信息的安全形勢越來越嚴峻[1-2]。高級加密標準(Advanced Encryption Standard,AES)算法[3]以其速度快、內存需求低、靈活、易維護等優點廣泛應用于數字簽名、文檔加密、郵件加密、傳輸加密[4-7]。

AES 算法根據密鑰長度的不同,分為AES-128、AES-192 和AES-256。AES 算法為分組密碼算法,其工作模式有電子密碼本(Electronic Code Book,ECB)模式、密文分組鏈接(Cipher Block Chaining,CBC)模式、密文反饋(Cipher FeedBack,CFB)模式、輸出反饋(Output FeedBack,OFB)模式、計數器(CTR)5 種。AES 加密算法在ECB 和CTR 模式支持并行運算,通過流水線式設計,每經過一個時鐘周期可以加密128 bit 的原文,但流水線式加密設計具有局限性[8]。AES 加密算法在CFB、CBC 和OFB 模式,由于每一段原文進行加密前需要用到上一段的密文[9],不支持并行運算,無法使用流水線式設計。

本文實現了一種非流水線式的AES加密算法,可兼容5種工作模式和3種位寬的密鑰以適用于不同的加密要求,并在速度和面積方面加以優化。

2 全通用AES加密算法的硬件設計

圖1給出了全通用AES加密模塊的整體結構,頂層模塊下包含兩個子模塊:模式選擇模塊實現5種模式轉換功能,可調節密鑰AES 加密模塊進行3 種位寬密鑰的AES 加密。輸入的明文text_in 和額外向量initial 經過Mode_Change 模塊處理后通過AES_in 輸入AES_Encryption模塊,并將開始信號AES_start置1,AES加密后輸出加密完成信號start_next 和加密數據AES_out,AES_out 經過Mode_Change 模塊處理后輸出完成信號done和密文text_out。

圖1 全通用AES加密框圖

2.1 模式選擇模塊

模式選擇模塊整體結構如圖2所示,該模塊需要同時滿足5 種工作模式的加密。為了減小模塊的路徑延時,該模塊使用5條不同的路徑并行執行,使用一個3 bit的AES_mode信號控制選擇器,在不同的工作模式下切換到不同的工作電路。5 種工作模式在AES 加密前后的處理流程均可通過簡單的組合邏輯電路實現。除ECB 外,其余工作模式均需要128 bit 的額外輸入,在CFB、CBC和OFB模式下輸入初始向量,在CTR模式下輸入自增算子。由于密鑰在整個加密流程不會發生變化,為了減少輸入輸出口,設定一個flag 輸入,當flag=0時,key[255:0]輸入密鑰,當flag=1時,key[127:0]輸入初始向量或自增算子。

圖2 模式切換模塊

每進行128 bit 的密文加密就需要進行一次工作模式的運算,該運算會造成不可避免的延時。AES加密模塊通過一個時鐘周期進行一輪加密,使得各個周期的路徑延時基本一致,避免因為某個時鐘周期延時太大影響整個系統的加密頻率。將首個輪密鑰加和工作模式的處理整合在一個額外周期中,使其不會影響加密模塊的時鐘頻率。第一個時鐘周期完成模式處理和輪密鑰加,接下來的N個周期完成N輪加密。

2.2 可調節密鑰AES加密模塊

AES-128、AES-192和AES-256均包含密鑰擴展、字節替代、行移位、列混淆和輪密鑰加5個模塊,區別在于輪密鑰的數目和加密的輪數N,AES-128、AES-192、AES-256 的N值分別為 10、12 和 14,整體流程如圖 3所示。

圖3 AES加密流程

2.2.1 可調節密鑰擴展模塊

密鑰擴展模塊用于生成AES-128、AES-192和AES-256的輪密鑰。為了減小設計面積,將不同的密鑰擴展流程合并為一個模塊,整體結構如圖4所示。

圖4 密鑰擴展模塊

密鑰擴展中含有RotWord、SubWord、XorRcon模塊。RotWord模塊將32 bit的數據向左平移8 bit,SubWord模塊是4個8 bit的S盒替換,XorRcon模塊將32 bit數據與32 bit常量Rcon進行異或運算。

文獻[3]中密鑰擴展的標準流程為RotWord、SubWord、XorRcon,但由于AES-256中,高128 bit需要完整的3個流程,而低128 bit只需要SubWord步驟。在文獻[10]中通過在SubWord 模塊前后分別加入一個選擇器來實現高低位的切換。而根據計算,RotWord和SubWord步驟交換位置不影響結果,因此本設計通過交換兩個模塊位置并在兩個模塊間加入一個選擇器實現,減少了一個選擇器的面積及路徑延時。

模塊通過 flag 信號在 AES-128、AES-192 和 AES-256 間進行切換。AES-256 的密鑰為256 bit,存入W1至W8 共計8 個32 bit 儲存空間中,每輪生成一個32 bit的W值,進行密鑰的迭代運算。進行192 bit 和128 bit密鑰擴展算法時,分別復用W1 至W6 和W1 至W4 的儲存空間。該設計的優點在于無論是AES-128、AES-192或者AES-256模式均為每經過4個時鐘周期依次輸出W1、W2、W3、W4 為該輪的輪密鑰,無需多路選擇器切換到其他儲存空間。

文獻[10]中密鑰擴展與AES加密并行,不需要額外的儲存空間存放輪密鑰,但每個輪密鑰需要4個時鐘周期生成,因此,每輪加密至少需要擴展為4個周期,且額外的并行電路會提升功耗。本設計采用預計算的方法,首先進行密鑰擴展算法的運算,生成全部的輪密鑰儲存在寄存器中。加密過程中使用輪密鑰時,訪問對應寄存器即可,使得每輪加密只需要一個時鐘周期,且密鑰擴展模塊只需運算一次,提升了整體設計的加密速度并減小了功耗。

2.2.2 字節替代模塊

字節替代模塊在傳統流水線式AES 加密設計中引入復合場算法[11](Composite Field Arithmetic,CFA)的概念,為了在GF(28)上找到乘法逆,會引出高度復雜的電路。其優點在于可以拆分字節替代模塊,在模塊內部加入流水線,從而減小電路的最大延時。該方案在流水線式加密結構中廣泛使用,但在非流水線式結構中面積和延遲較大。因此本文采用文獻[12]基于查找表的方法,對于輸入的128 Byte的數據,首先將數據分為16組,每組8 bit。然后構建一個16×16 的S盒,對于輸入S盒的8 bit數據,高4 bit對應的值作為行標,低4 bit對應的值作為列標,輸出對應位置上儲存的8 bit 數。對于16組輸入構建16個S盒,并行計算得到16個8 bit的值,將它們按原順序組合并輸出。

2.2.3 行移位與列混淆模塊

考慮到行移位增加獨立模塊會影響速度和面積。因此將字節替代模塊的輸出與列混淆模塊的輸入按照算法要求進行連接,從而完成了行移位流程。

列混淆的矩陣乘法定義在GF(28)上,與一般的矩陣乘法有所不同,其中選定的模多項式為m(x)=x8+x4+x3+x+1。在該計算規則下,若直接在GF(28)上執行多項乘法模運算,硬件復雜度較高,難以實現,因此需要簡化算法。根據文獻[13]可知8 bit 數據b7b6b5b4b3b2b1b0乘2運算可以表示為:

乘3運算結果為:

因此,采用該算法后,只需循環移位和異或邏輯運算即可實現多項式模運算,算法硬件執行效率明顯提高。

3 測試結果

本文采用Xilinx公司的ISE14.7工具,器件選擇Virtex7系列的XC7VX690T型號,速度等級為-3。綜合顯示資源消耗為1 173 Slices,最高工作頻率為348.191 MHz。

3.1 功能測試

為了驗證5種工作模式的加密功能,對同一明文和密鑰依次進行ECB、CBC、CTR、CFB、OFB 全部5 種工作模式加密,密鑰長度為128 bit,輸入明文為256'h3243f 6a8885a308d313198a2e037073412345678901234567890 123456789012,密鑰為128'h2b7e151628aed2a6abf71588 09cf4f3c。CTR模式初始自增算子為128'h12123456789 01234567890123456789,CBC、CFB、OFB 模式的初始向量為128'h1212345678901234567890123456789。仿真波形如圖5所示,模式選擇信號mode由1到5依次對應ECB、CBC、CTR、CFB、OFB工作模式,接收到最后一個start_next 信號標志著一次加密的完成。每個模式加密完成后將復位信號rst和開始信號start置0,rst置1后輸入下一個工作模式的數據,然后將start置1開始下一次加密。

為了驗證128/192/256 bit 密鑰加密功能,對同一明文依次進行128、192 和256 bit 密鑰加密,工作模式為ECB,輸入明文為128'h00112233445566778899aabbccddeeff,128 bit密鑰為128'h000102030405060708090a0b0c 0d0e0f,192 bit密鑰為192'h000102030405060708090a0b 0c0d0e0f1011121314151617,256 bit密鑰為256'h000102 030405060708090a0b0c0d0e0f101112131415161718191a 1b1c1d1e1f。仿真波形如圖6所示,密鑰位寬信號flag_in=1、2、3分別對應128、192、256 bit信號,每次加密完成后將復位信號 rst 和開始信號 start 置 0,rst 置 1 后輸入下一個密鑰和密鑰位寬信號,然后將start 置1 開始下一次加密。

3.2 性能測試

對于AES加密算法的硬件實現,已有文獻提出了一些AES 加密設計,如表1 所示。文獻[14]提出了一種高吞吐量AES流水線設計,但由于流水線設計的局限性,該設計無法在ECB、CBC 和OFB 工作模式下實現加密。文獻[15]提出了一種具有128 bit 塊大小和密鑰大小的重復循環方法。文獻[16]提出了一種完全基于預先計算的查找表(Look-Up Table,LUT)的AES 加密設計。文獻[17]提出了一種4級循環流水線結構。本設計不僅可以兼容3 種密鑰長度和5 種工作模式,與文獻[15]相比,通量增加了2.1倍,面積增加了1.1倍,與文獻[16]相比,速度和面積均有優勢,與文獻[17]相比,通量增加了1.6倍,面積減小了49.5%。

4 結論

針對AES 算法需要兼容不同工作模式以及不同密鑰長度的加密需求,提出全通用AES加密算法。該算法通過設計可調節密鑰擴展模塊和模式選擇模塊,實現128/192/256 位寬的加密,支持ECB/CBC/CFB/OFB/CTR 5 種工作模式。基于Xilinx 公司的XC7VX690T FPGA 綜合仿真,資源消耗為1 947 Slices,最高工作頻率為348.191 MHz。

圖5 5種工作模式連續加密波形

圖6 3種長度密鑰加密波形

表1 與同類設計的比較

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(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
主站蜘蛛池模板: 国产精品一老牛影视频| Jizz国产色系免费| 2022国产无码在线| 又粗又硬又大又爽免费视频播放| 久热这里只有精品6| 99免费在线观看视频| 精品国产电影久久九九| 国产成人精品18| 国产高清在线观看| 亚洲国产成人精品一二区| 日韩欧美中文在线| 久久精品娱乐亚洲领先| 亚洲国产在一区二区三区| 无码AV高清毛片中国一级毛片| 一级爆乳无码av| 波多野结衣无码AV在线| 91丝袜美腿高跟国产极品老师| 亚洲一区二区在线无码| 国产偷国产偷在线高清| 99er这里只有精品| 亚洲国产精品国自产拍A| 狠狠色婷婷丁香综合久久韩国| 美臀人妻中出中文字幕在线| 久青草国产高清在线视频| 69综合网| 国产黄视频网站| 中文字幕调教一区二区视频| 日本人妻一区二区三区不卡影院| 五月天天天色| 91精品国产一区自在线拍| 精品视频一区二区观看| 成人毛片免费观看| 日本道综合一本久久久88| 国产玖玖玖精品视频| 国产精品污污在线观看网站| 亚洲A∨无码精品午夜在线观看| 欧美成人午夜视频免看| 亚洲日本中文字幕天堂网| 无码高潮喷水在线观看| 中文字幕啪啪| 精品少妇人妻av无码久久| 热久久国产| 亚洲色图综合在线| 成人va亚洲va欧美天堂| 欧美中文字幕无线码视频| 久久久久88色偷偷| 国产精品无码久久久久久| 精品无码一区二区三区电影| 国产午夜精品一区二区三| 久久男人视频| 亚洲男人的天堂网| 日a本亚洲中文在线观看| 精品亚洲欧美中文字幕在线看| 国产97色在线| 五月天久久综合国产一区二区| 亚洲国产精品国自产拍A| 亚洲精品图区| 欧美高清三区| 色哟哟国产精品| 国产美女免费网站| 久久精品国产精品国产一区| 成人免费午夜视频| 欧美专区在线观看| 91色国产在线| 一本久道久久综合多人 | 成人在线欧美| 欧美国产在线一区| 另类重口100页在线播放| 欧美高清日韩| 高清码无在线看| 免费中文字幕在在线不卡| 人与鲁专区| 亚洲无码视频图片| 久久www视频| 亚洲精品视频网| 黄片一区二区三区| 欧美福利在线| 国产主播一区二区三区| 久久久久免费看成人影片| 免费无遮挡AV| 国产视频一区二区在线观看 | 无码精品国产VA在线观看DVD|