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
主站蜘蛛池模板: 亚洲国产综合精品一区| 中文天堂在线视频| 有专无码视频| 老色鬼欧美精品| 免费无码一区二区| 亚州AV秘 一区二区三区| 婷婷午夜影院| 亚洲日韩图片专区第1页| 综合亚洲网| 无码国产伊人| 日韩黄色精品| 国产交换配偶在线视频| 国产成人久久综合一区| 国产凹凸一区在线观看视频| 国产丝袜91| 国产精品大白天新婚身材| 一本色道久久88亚洲综合| 日本尹人综合香蕉在线观看| 国产成人亚洲综合A∨在线播放| 精品国产三级在线观看| 九九九精品成人免费视频7| 精品久久久久成人码免费动漫| 亚洲综合色婷婷| 91年精品国产福利线观看久久 | 久久综合丝袜长腿丝袜| 久久黄色免费电影| 97视频在线精品国自产拍| 国产亚洲精品自在久久不卡 | 国产91九色在线播放| 色婷婷亚洲综合五月| 国产在线日本| 日韩在线视频网站| 夜精品a一区二区三区| 无码福利视频| 40岁成熟女人牲交片免费| 国产97视频在线观看| 永久免费av网站可以直接看的| 亚洲精品波多野结衣| 午夜人性色福利无码视频在线观看| 欧洲免费精品视频在线| 国产在线98福利播放视频免费| 国产凹凸一区在线观看视频| 青青青国产免费线在| 亚洲综合经典在线一区二区| 日韩一二三区视频精品| 黄色网在线| 亚洲天堂免费在线视频| 欧美日韩激情在线| www.youjizz.com久久| 精品午夜国产福利观看| 再看日本中文字幕在线观看| 成人无码区免费视频网站蜜臀 | 91在线高清视频| 在线观看热码亚洲av每日更新| 99精品国产自在现线观看| 日本午夜网站| 亚洲丝袜第一页| 亚洲精品动漫在线观看| 91小视频在线观看| 在线精品亚洲国产| 久久青青草原亚洲av无码| yjizz视频最新网站在线| 国产成人精品高清不卡在线| 国产精品一区二区不卡的视频| 看国产毛片| 国产一级二级在线观看| 亚洲视频色图| 国产第一页第二页| 孕妇高潮太爽了在线观看免费| 在线观看av永久| 欧美精品在线观看视频| 91亚瑟视频| 制服丝袜国产精品| 免费可以看的无遮挡av无码| 波多野结衣一级毛片| 欧美www在线观看| 日本午夜三级| 91成人在线观看视频| 国产精品手机视频一区二区| 五月天在线网站| 国产精品毛片在线直播完整版| 亚洲swag精品自拍一区|