《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 面向CBC模式的AES高速芯片設計與實現
面向CBC模式的AES高速芯片設計與實現
來源:電子技術應用2014年第1期
劉 楠,陳 迅,李軍偉
信息工程大學 密碼工程學院,河南 鄭州450004
摘要: 為以硬件方式高速實現AES密碼算法,縮短整個芯片的關鍵路徑,基于一種改進AES密碼算法,在算法級對電路實現進行優化,將AES密碼算法中字節代替變換與列混合變換進行合并,以查找表的方式實現這兩種變換的一步變換。在支持密鑰長度為128 bit、192 bit和256 bit AES算法的同時,支持分組密碼工作中的ECB,CBC模式,提高了分組密碼不同級別的安全性。在0.13 μm CMOS工藝下,用Verilog硬件描述語言進行綜合,仿真結果表明最高時鐘頻率可以達到781 MHz,在密鑰長度分別為128 bit、192 bit和256 bit時,最大數據吞吐率分別可以達到9.9 Gb/s、8.3 Gb/s和7.1 Gb/s,占用面積38.5 KGates。
中圖分類號: TN492
文獻標識碼: A
文章編號: 0258-7998(2014)01-0064-04
Design and implementation of high-speed AES chip optimized for CBC modes
Liu Nan,Chen Xun,Li Junwei
Institute of Cryptography Engineering, PLA Information Engineering University, Zhengzhou 450004,China
Abstract: For the purpose of implementing high-speed AES algorithm and reducing the critical path of the whole chip, this paper optimizes the circuits based on an improved AES algorithm in an algorithmic view. This paper merges the SubByte transform and the MixColumn transform together and implements it in the lookup table(LUT) approach. It can fully support AES-128/192/256 performance and meanwhile support both ECB and CBC modes improving different levels of the security of block cipher. Based on 0.13 μm CMOS technology, using Verilog hardware description language for synthesis, the simulation results show that 781 MHz clock frequency and up to 9.9/8.3/7.1Gb/s data throughput rate are achieved for AES-128/192/256 and the area cost is 38.5 KGates.
Key words : high-speed;AES;CBC;ECB

   針對通信網絡、數據存儲加密等應用場景中的安全需求,人們對AES算法的硬件實現進行了廣泛地研究。目前,對其高速高吞吐率的優化實現方法主要分為兩類。
    第一類采用組合邏輯計算字節代替變換中S盒代替表的值,并通過在組合路徑中插入流水寄存器的方法來減小整個芯片的關鍵路徑,從而提高最高時鐘頻率與數據吞吐率。HODJAT A[1]將數據映射到GF(24)上,MATHEW S K[2]將所有數據與變換系數均映射到GF(24)2上,并在組合路徑中插入了不同級數的流水寄存器,實現了不同數據吞吐率的AES硬件電路。雖然這類實現方法有著面積占用小、數據吞吐率高的優點,但不能有效支持分組密碼工作中目前已被廣泛使用的密碼分組鏈接CBC(Cipher Block Chaining)模式,影響算法實際應用的安全性。
    第二類采用多核方案實現。Wang Maoyin[3]提出了面向不同安全等級的AES架構,Huang Wei[6]提出了低復雜性的多核異構安全SoC平臺。雖然數據吞吐率較高,但這類方法在提高數據吞吐率的同時成倍地增加了電路面積,且仲裁邏輯的設計也會導致電路設計復雜性的增加。
    基于以上問題,本設計基于一種改進的AES算法,在算法級對電路實現進行優化,將AES算法中字節代替變換與列混合變換進行合并,采用查找表方式實現,從而有效地縮短了關鍵路徑,提高了時鐘頻率,同時支持分組密碼CBC模式,提升了安全強度。
1 AES密碼算法簡介
    AES密碼算法是基于對稱密鑰密碼實現的分組密碼算法,分組長度為128 bit,密鑰長度為128 bit、192 bit或256 bit。對應的輪數Nr分別為10、12和14。
    AES密碼算法在對明文進行加密時,經過的變換依次為字節代替變換、行移位變換、列混合變換和輪密鑰加變換。
2 高速AES密碼算法硬件結構設計
2.1 適用于CBC模式的硬件結構選擇

    分組密碼算法對數據進行加/解密操作時,有多種不同的工作模式,其中ECB(Electronic Code Book)和CBC是兩種常用的工作模式。
    ECB模式中各明/密文分組獨立處理、實現簡單。但ECB模式無法隱蔽明文數據的格式規律和統計特性,無法抵抗組的重放、嵌入和刪除等攻擊,使密碼分析者可以按組進行分析,這對長報文而言并不安全。CBC工作模式中加密算法的輸入是當前明文分組與前一密文分組的“異或”。其能夠隱蔽明文數據的格式規律和統計特性,使相同的明文分組未必蘊涵著相同的密文分組,可以有效克服ECB模式的弱點。
    為使AES密碼芯片能夠有效支持分組密碼CBC模式,在實現時要對其硬件結構設計進行充分的考量。
    分組密碼算法的硬件實現結構通常可以分為兩種——循環迭代結構和全流水結構。
    圖1(a)所示,循環迭代結構將明文分組接入AES運算模塊進行Nr輪迭代運算后輸出,關鍵路徑為經過數據選擇器和AES運算模塊到輪數據寄存器的延遲,其共需Nr個時鐘周期完成加/解密運算。對于分組密碼CBC模式而言,下一明文分組等待Nr個時鐘周期后與當前明文分組的密文結果先進行“異或”,再開始加/解密運算。
    圖1(b)所示,全流水結構以在每輪運算之間插入流水寄存器的方式實現,其關鍵路徑與循環迭代結構相同。在輸入數據連續,即每個時鐘周期輸入1個明文分組的情況下,當前明文分組與下一明文分組連續輸入時,下一明文分組在沒有得到當前明文分組對應的密文結果之前就輸入進行計算,這顯然不能滿足分組密碼CBC模式的工作條件。在輸入數據不連續(即下一明文分組在得到當前明文分組的密文結果后,先“異或”再進行加/解密運算)的情況下,下一明文分組需要等待Nr個時鐘周期才能進行加/解密運算。此時,芯片的吞吐率與采用循環迭代結構實現時相同。

    但在占用面積資源方面,采用全流水結構時,電路結構中需要Nr個128 bit位寬的輪數據寄存器和Nr個AES運算模塊,占用面積較大。采用循環迭代結構實現時,電路結構中只需1個128 bit位寬的輪數據寄存器和1個AES運算模塊通過硬連線進行迭代就可實現,占用面積較小。
    因此,為有效支持分組密碼CBC模式,同時考慮到資源占用問題,本設計采用循環迭代結構來實現AES密碼算法。
2.2 整體架構設計
    本設計的架構設計主要分為(ENCRYPT/DECRYPT)加/解密模塊和(EXPANDKEY)密鑰擴展模塊兩大部分。
    如圖2所示,輸入數據寄存器直接接入與密鑰擴展模塊輸出的128 bit輪密鑰進行“異或”操作,而后數據依次進入(ShiftRow)行移位變換模塊、(Sub&Mix)字列合并變換模塊,并將運算結果存入輪數據寄存器。以此類推,每一輪的輪寄存器當中存入的都是其相應輪數的運算結果。若為最后一輪時,數據直接與最后一輪密鑰相“異或”進入輸出寄存器。


    例如,第1列32 bit列向量中Column1的第i個字節通過硬連線接入(S&M Table i)字列合并查找表i中(i=1,2,3,4),對查找表的結果進行“異或”后,輸出該32 bit列向量經過字節代替變換與列混合變換后的結果。
2.4 密鑰擴展模塊設計
    由于AES密碼算法的密鑰擴展算法是以字為單位進行操作的,所以要將128 bit、192 bit和256 bit的密鑰存入4、6和8個不同的32 bit位寬寄存器中。之后初始密鑰數據按照密鑰擴展算法被擴展成4(Nr+1)個字的陣列,記其為W[0],W[1],…,W[4Nr+3]。
    如圖4所示,經ModeSel信號選擇后,電路可完成3種不同密鑰長度的AES密鑰擴展算法。對于128 bit、192 bit和256 bit的密鑰長度,本設計一個時鐘周期分別能夠輸出4、6和8個字的輪密鑰。

    初始密鑰輸入到不同個數的32 bit位寬輸入密鑰寄存器中,經密鑰擴展運算后并置輸出至KEY.OUT,同時返回迭代,通過數據選擇器選擇作為下一輪密鑰擴展算法的輸入。其分別需要經過10、9和8個時鐘周期完成密鑰擴展運算。
    為減小整個芯片的關鍵路徑,本設計采用預先生成密鑰擴展模塊設計,在電路接收到初始密鑰之后,在狀態機控制信號的控制下預先生成加/解密模塊所需要的Nr輪密鑰序列,并將每輪的128 bit密鑰存入相應的寄存器當中,在使用時結合狀態機不同輪數的選擇信號,將每輪的輪密鑰輸出至加/解密模塊以完成相應輪數的加/解密運算。這樣一來,在使用時只需結合相應的選擇信號從這些寄存器中選擇相應的輪密鑰,不需要在線生成輪密鑰。因此可以減小整個芯片的關鍵路徑,提高時鐘頻率。
3 實驗結果
    在0.13 μm CMOS工藝條件下,利用綜合工具對本設計進行邏輯綜合優化。仿真結果顯示,本設計的關鍵路徑為1.28 ns,最高時鐘頻率為781 MHz,在這一時鐘頻率下,在密鑰長度分別為128 bit、192 bit和256 bit時,最大數據吞吐率分別可以達到9.9 Gb/s、8.3 Gb/s和7.1 Gb/s。
    表1所示為本設計與相關文獻中AES硬件設計在工藝、面積、最高時鐘頻率、吞吐率和性能面積比等方面的仿真結果對比情況。

 

 

    在0.13 μm CMOS工藝下,LIN S Y[4]提出了同樣支持ECB、CBC模式的高數據吞吐率AES密碼芯片;HAMALAINENP[5]設計實現了小面積、低功耗的AES算法核,Yan Weiwei[6]實現了可重構的AES算法,本設計在數據吞吐率方面較其均有顯著的提升。HODJAT A[1]和MATHEW S K[2]以流水線方式實現AES算法,雖然數據吞吐率較高,但不支持CBC模式,安全性較低。
    本設計基于改進AES算法,在算法級對電路進行優化,將字節代替變換和列混合變換整合為一次查表完成,縮短了關鍵路徑,提高了最高時鐘頻率和數據吞吐率。同時采用輪間循環迭代結構設計,占用相對較少的面積。仿真結果證明,本設計在密碼處理速率上有較高的指標,在支持密鑰長度為128 bit、192 bit和256 bit AES算法的同時,支持分組密碼工作中的ECB、CBC模式,可以有效滿足當前人們對于芯片在通信網絡、數據存儲加密等應用場景中的高速數據處理需求,并可以作為一個獨立的IP核嵌入到SoC芯片中。
參考文獻
[1] HODJAT A,VERBAUWHEDE I.Area-throughput trade-offs for fully pipelined 30 to 70 G/s AES processors[J].Computers,IEEE Transactions on.2006,55(4):366-372.
[2] MATHEW S K,SHEIKH F,KOUNAVIS M,et al.53 Gb/s Native GF(24)2 composite-field AES-encrypt/decrypt accelerator for content-protection in 45 nm high-performance microprocessors[C].VLSI Circuits(VLSIC),2010 IEEE Symposium on.2010.
[3] Wang Maoyin,SU C P,HORNG C L,et al.Single-and multi-core configurable AES architecturs for flexible security[J].Very Large Scale Integration (VLSI) Systems,IEEE Transactions on.2010,18(4):541-552.
[4] LIN S Y,HUANG C T.A high-throughput  low-power AES cipher for network applications[C].Design Automation Conference,2007.ASP-DAC′07.Asia and South Pacific,2007.
[5] HAMALAINEN P,ALHO T,HANNIKAINEN M,et al.Design and implementation of low-area and low power AES encryption hardware core[C].Digital System Design:Architectures,Methods and Tools,2006.DSD 2006. 9th EUROMICRO Conference,2006.
[6] Yan Weiwei,YOU K,Han Jun.Low-cost reconfigurable VLSI implementation of the SMS4 and AES algorithms[C].ASIC,2009.ASICON′09.IEEE 8th International Conference,2009.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品国产三级国产aⅴ入口 | 噜噜噜躁狠狠躁狠狠精品视频 | 国产精品三上| 欧美日韩三区四区| 欧美日韩免费一区二区三区视频| 麻豆成人精品| 男人插女人欧美| 欧美成人视屏| 欧美女主播在线| 欧美日韩美女| 国产精品久久999| 国产精品久久久久久亚洲调教| 久久国产精品久久久久久久久久| 一区二区三区自拍| 伊人久久大香线蕉综合热线| 一区精品在线| 亚洲黄色免费电影| 日韩视频在线一区二区三区| 亚洲免费激情| 在线视频日本亚洲性| 中文精品视频一区二区在线观看| 亚洲天堂成人在线观看| 亚洲一级高清| 欧美一区二区三区电影在线观看| 欧美一区二区网站| 亚洲二区三区四区| 亚洲美女啪啪| 亚洲永久精品国产| 欧美在线精品一区| 乱人伦精品视频在线观看| 欧美大片一区二区| 欧美午夜精品一区| 国产亚洲激情| 亚洲二区在线视频| 亚洲最新中文字幕| 亚洲欧美在线网| 亚洲国产天堂久久综合网| 99国内精品久久久久久久软件| 中文在线资源观看网站视频免费不卡| 亚洲主播在线播放| 久久免费视频这里只有精品| 欧美精品在线免费播放| 国产精品视频九色porn| 在线观看欧美日韩| 一区二区三区免费在线观看| 欧美一区二区国产| 亚洲人妖在线| 亚洲欧美另类在线观看| 久久影视三级福利片| 欧美黄色片免费观看| 国产精品美女久久久久av超清| 国产一区二区久久精品| 亚洲欧洲综合另类在线| 午夜精品一区二区三区四区| 亚洲三级影院| 欧美在线观看你懂的| 欧美福利电影在线观看| 国产精品入口夜色视频大尺度 | 久久中文字幕导航| 欧美人与性禽动交情品| 国产欧美日本一区二区三区| 亚洲高清在线播放| 亚洲女同在线| 亚洲最新视频在线播放| 久久精品日韩欧美| 欧美视频一区二| 在线观看av不卡| 亚洲尤物精选| 日韩一区二区精品| 久久久久久9| 国产精品久久久久久久久果冻传媒 | 亚洲欧美国产va在线影院| 毛片一区二区三区| 国产精品五区| 亚洲免费观看| 最新国产の精品合集bt伙计| 先锋影音一区二区三区| 欧美激情麻豆| 在线不卡中文字幕| 欧美亚洲三区| 午夜精品免费视频| 欧美日韩免费一区二区三区视频| 黄色国产精品| 香蕉久久夜色精品国产| 亚洲你懂的在线视频| 欧美日本韩国| 亚洲大胆人体视频| 久久国产精品久久久久久| 性欧美激情精品| 欧美视频二区| 亚洲开发第一视频在线播放| 亚洲国产老妈| 久久久久久久久伊人| 国产精品制服诱惑| 亚洲色在线视频| 国产精品99久久99久久久二8| 欧美大片va欧美在线播放| 狠狠噜噜久久| 久久黄色影院| 久久男人资源视频| 国户精品久久久久久久久久久不卡| 亚洲线精品一区二区三区八戒| 999在线观看精品免费不卡网站| 麻豆国产va免费精品高清在线| 国产欧美一区二区在线观看| 亚洲图片欧美日产| 亚洲男人天堂2024| 国产精品v亚洲精品v日韩精品| 日韩香蕉视频| 国产精品99久久久久久久vr| 欧美—级a级欧美特级ar全黄| 亚洲国产激情| 亚洲肉体裸体xxxx137| 免费观看成人鲁鲁鲁鲁鲁视频| 黄网站色欧美视频| 久久精品五月婷婷| 久久综合中文字幕| 一色屋精品视频在线观看网站| 久久精品国产亚洲精品| 久久久久国产成人精品亚洲午夜| 国产一区91精品张津瑜| 欧美中文在线观看| 老司机免费视频一区二区| 伊人一区二区三区久久精品| 亚洲高清三级视频| 欧美成人免费在线| 亚洲精品美女免费| 国产精品99久久久久久宅男| 国产精品www网站| 亚洲欧洲av一区二区| 久久久噜噜噜久久久| 在线看日韩av| 亚洲精品一区二区网址| 欧美日本高清一区| 亚洲桃色在线一区| 久久国产精品毛片| 亚洲电影av| 99精品视频免费全部在线| 国产精品a久久久久| 亚洲欧美日韩一区二区| 久久一区亚洲| 亚洲精品一区二区三区四区高清| 9色精品在线| 国产精品入口| 亚洲国产精品v| 欧美乱妇高清无乱码| 一区二区欧美日韩视频| 欧美一区深夜视频| 在线观看欧美激情| 亚洲午夜小视频| 国产一区二区三区免费观看| 亚洲人成亚洲人成在线观看| 欧美日韩综合网| 午夜在线精品偷拍| 欧美成人高清视频| 亚洲视频一二区| 久久男人av资源网站| 亚洲片区在线| 欧美在线视频日韩| 亚洲国产一区二区三区在线播 | 国产伦精品一区二区三区视频黑人| 久久成人人人人精品欧| 欧美激情一区二区三区四区| 亚洲午夜精品17c| 老司机久久99久久精品播放免费| 亚洲精品欧美专区| 欧美中文在线观看国产| 亚洲国产va精品久久久不卡综合| 亚洲一品av免费观看| 韩国女主播一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 国产精品久久久久久久久久免费看| 欧美影院视频| 欧美午夜视频| 亚洲精品免费观看| 国产欧美在线观看| 9色国产精品| 精品91免费| 性欧美18~19sex高清播放| 1024日韩| 久久国产日本精品| 亚洲最新合集| 欧美成人免费在线| 欧美一区二区三区免费观看| 欧美日韩一区二| 亚洲欧洲三级电影| 国产一区二区三区奇米久涩| 亚洲午夜视频在线| 亚洲激情国产| 久久男人av资源网站| 亚洲永久免费视频| 欧美视频精品在线| 亚洲人成久久| 国内精品模特av私拍在线观看| 亚洲欧美国内爽妇网| 亚洲国内欧美| 老牛嫩草一区二区三区日本| 亚洲欧美另类在线观看| 欧美日韩免费高清| 亚洲精品一区二区网址|