《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 面向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亚洲国产精品_日韩亚洲一区二区
亚洲高清不卡av| 亚洲专区在线视频| 国产精品日产欧美久久久久| 亚洲欧美怡红院| 99一区二区| 国产精品久久久久久久久久久久 | 国产日韩一区| 国产精品主播| 国产欧美综合在线| 国产日韩欧美综合| 国产香蕉97碰碰久久人人| 午夜精品久久久久久久| 美腿丝袜亚洲色图| 久久天天躁狠狠躁夜夜av| 久久狠狠婷婷| 久久成人一区二区| 久久精品国产91精品亚洲| 久久精品三级| 欧美国产激情| 午夜免费日韩视频| 亚洲欧美日韩在线| 香港成人在线视频| 久久大综合网| 亚洲人体一区| 在线一区视频| 亚洲电影av在线| 午夜精品久久一牛影视| 亚洲视频在线二区| 在线视频亚洲一区| 在线亚洲一区观看| 亚洲欧美日韩精品综合在线观看| 午夜精品亚洲一区二区三区嫩草| 欧美一区久久| 国产精品一国产精品k频道56| 欧美电影专区| 欧美高清一区| 欧美日韩福利视频| 国产精品久久毛片a| 国产精品专区h在线观看| 国产一区二区剧情av在线| 一本一本大道香蕉久在线精品| 欧美日韩亚洲一区二区| 国产精品高潮呻吟| 国产亚洲第一区| 亚洲电影免费在线观看| 亚洲精品亚洲人成人网| 亚洲一区二区三区中文字幕| 久久成人18免费网站| 亚洲高清一区二区三区| 亚洲视频在线播放| 亚洲女同精品视频| 欧美一二三区在线观看| 亚洲国产专区| 欧美精品aa| 欧美午夜免费影院| 国产日韩欧美精品| 伊人伊人伊人久久| 亚洲精选一区| 性欧美精品高清| 亚洲欧洲久久| 在线视频精品一区| 欧美伊久线香蕉线新在线| 免费在线亚洲欧美| 国产精品久久久久久久app| 激情欧美一区二区| 一区二区三区国产精华| 亚洲成人在线视频网站| 在线综合视频| 久久综合久久美利坚合众国| 欧美午夜精品伦理| 在线观看国产日韩| 亚洲一区二区网站| 亚洲精品乱码久久久久久黑人| 亚洲欧美综合| 欧美激情第五页| 国产伦一区二区三区色一情| 亚洲精品中文字幕在线| 欧美专区在线播放| 亚洲砖区区免费| 欧美福利一区二区三区| 国产日韩欧美91| 99精品国产一区二区青青牛奶| 亚洲高清激情| 性亚洲最疯狂xxxx高清| 欧美精品精品一区| 好看的日韩av电影| 亚洲综合首页| 亚洲一二三级电影| 欧美激情一区二区久久久| 国产一区二区三区在线观看视频| 一区二区欧美视频| 一区二区福利| 欧美大胆人体视频| 狠狠色狠狠色综合| 性做久久久久久久久| 亚洲在线第一页| 欧美精品激情blacked18| 狠色狠色综合久久| 午夜欧美精品| 午夜精品区一区二区三| 欧美日韩一区二区视频在线| 亚洲国产精品精华液2区45| 欧美制服丝袜第一页| 香蕉久久一区二区不卡无毒影院 | 91久久在线| 久久亚洲风情| 狠狠色丁香婷综合久久| 欧美影院久久久| 欧美与欧洲交xxxx免费观看| 国产精品久久久久国产精品日日| 日韩亚洲精品在线| 99国产精品久久久久久久| 欧美激情无毛| 91久久久在线| 午夜一区二区三区在线观看| 红桃视频亚洲| 午夜在线一区二区| 欧美亚洲尤物久久| 国产精品私拍pans大尺度在线 | 性做久久久久久久久| 欧美一乱一性一交一视频| 国产毛片一区二区| 性色av一区二区怡红| 欧美在线亚洲一区| 国产视频一区二区在线观看| 午夜久久电影网| 久久精品国产亚洲精品| 国产综合精品| 亚洲激情图片小说视频| 欧美成人精品一区二区三区| 亚洲国产综合视频在线观看| 日韩视频在线观看| 欧美日韩成人在线播放| 在线亚洲欧美| 欧美伊人久久久久久午夜久久久久| 国产乱肥老妇国产一区二| 性欧美超级视频| 巨胸喷奶水www久久久免费动漫| 在线观看视频免费一区二区三区| 亚洲精品四区| 欧美三级网址| 亚洲男人第一网站| 久久久久久综合网天天| 在线观看日韩| 亚洲天堂视频在线观看| 国产精品永久免费观看| 亚洲电影免费在线| 欧美精品免费在线观看| 亚洲少妇诱惑| 久久亚洲高清| 亚洲免费成人av| 欧美伊人久久久久久午夜久久久久| 国产一区二区三区四区| 亚洲国产婷婷香蕉久久久久久99 | 亚洲国产日韩一区| 亚洲小说欧美另类社区| 国产丝袜一区二区三区| 最新成人在线| 国产精品扒开腿爽爽爽视频 | 久久精品99久久香蕉国产色戒 | 亚洲激情在线播放| 中文在线一区| 国产欧亚日韩视频| 亚洲日本久久| 国产精品区二区三区日本| 久久高清一区| 欧美日韩免费一区二区三区| 亚洲专区一二三| 鲁大师影院一区二区三区| 亚洲精品视频在线看| 欧美中文字幕第一页| 亚洲日本久久| 久久精品成人一区二区三区| 亚洲精品久久久久久一区二区 | 欧美性大战久久久久久久| 久久成人久久爱| 欧美日韩在线亚洲一区蜜芽 | 午夜精品久久久久久久99樱桃 | 亚洲全部视频| 久久精品视频免费| 亚洲美女少妇无套啪啪呻吟| 久久爱www久久做| 亚洲精品免费一二三区| 久久久久免费观看| 国产精品99久久久久久久久久久久 | 欧美日韩在线观看一区二区三区| 欧美综合激情网| 国产精品久久久久9999| 亚洲日本视频| 国产视频久久网| 亚洲午夜羞羞片| 亚洲素人一区二区| 亚洲三级电影在线观看| 午夜精品免费在线| 亚洲人成网站在线播| 久久免费国产精品1| 亚洲网友自拍| 欧美国产日韩一区二区| 欧美一区日韩一区| 国产精品男人爽免费视频1|