《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 面向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亚洲国产精品_日韩亚洲一区二区
欧美午夜精彩| 夜夜精品视频一区二区| 欧美日韩精品伦理作品在线免费观看| 久久国产精品一区二区三区四区| 亚洲午夜电影| 99在线热播精品免费99热| 亚洲欧洲在线看| 亚洲每日更新| 999在线观看精品免费不卡网站| 亚洲肉体裸体xxxx137| 亚洲肉体裸体xxxx137| 亚洲精品乱码久久久久久久久| 亚洲国产精品ⅴa在线观看| 久久精品国产免费观看| 久久精品国产精品亚洲综合| 亚洲电影下载| 亚洲精品国产精品国产自| 亚洲人成高清| 日韩视频免费观看| 亚洲视频精品| 欧美一级久久久| 久久不射2019中文字幕| 欧美与欧洲交xxxx免费观看| 久久久噜噜噜久久人人看| 久久久久久久综合| 欧美电影在线观看| 欧美午夜片欧美片在线观看| 国产精品主播| 伊人成人在线| 99精品欧美一区二区三区| 亚洲女ⅴideoshd黑人| 久久精品视频免费播放| 亚洲欧洲日夜超级视频| 在线亚洲一区观看| 欧美一区在线直播| 看欧美日韩国产| 欧美日韩不卡合集视频| 国产精品欧美激情| 韩国女主播一区二区三区| 亚洲高清不卡| 亚洲婷婷综合色高清在线| 久久成人精品无人区| 亚洲精品影院| 这里只有精品视频在线| 久久在线精品| 欧美韩日一区| 国产精品一区在线播放| 亚洲第一主播视频| 99视频一区二区| 欧美一区国产二区| 亚洲乱码国产乱码精品精天堂| 亚洲欧美国产制服动漫| 浪潮色综合久久天堂| 欧美日韩专区| 精品av久久707| 亚洲少妇自拍| 亚洲电影下载| 亚洲欧美一区二区三区极速播放| 久久亚洲春色中文字幕| 欧美日韩亚洲天堂| 国产综合久久| 亚洲视频一区二区| 亚洲黄色影院| 欧美亚洲免费高清在线观看| 欧美激情精品久久久久久蜜臀 | 国内成人在线| 日韩特黄影片| 亚洲电影一级黄| 午夜精品视频在线观看| 欧美二区在线| 国产一区二区三区久久精品| 99热在线精品观看| 亚洲激情另类| 欧美在线播放一区| 欧美日韩在线三区| 亚洲国产成人av在线| 亚洲欧美日韩国产中文在线| 日韩视频在线免费| 久久精品国产综合精品| 国产精品久久看| 亚洲精品一区二区三区不| 亚洲国产另类精品专区| 久久超碰97人人做人人爱| 欧美日韩在线看| 亚洲激情在线观看| 亚洲大片一区二区三区| 亚洲黄色性网站| 亚洲欧美日韩精品综合在线观看| 欧美/亚洲一区| 国产性天天综合网| 亚洲视频在线观看视频| 日韩视频精品在线| 另类图片国产| 国产一区二区久久久| 亚洲在线免费观看| 亚洲一级片在线观看| 欧美激情成人在线| 在线日韩av片| 亚洲国产精品成人一区二区 | 欧美成人精品一区| 伊人精品在线| 欧美在现视频| 欧美在线观看天堂一区二区三区| 国产精品成人v| 一区二区欧美日韩视频| 国产亚洲欧美一区| 国产日韩一级二级三级| 亚洲一区二区三区高清| 中国女人久久久| 欧美日韩在线观看一区二区| 亚洲精品乱码视频| 日韩午夜激情| 欧美精品一区二区三区高清aⅴ| 在线播放视频一区| 亚洲第一页在线| 蜜桃久久av一区| 亚洲高清免费视频| 亚洲伦理在线观看| 欧美日韩伦理在线免费| 亚洲黄色在线| 一本久道久久久| 欧美三区在线观看| 亚洲午夜一区| 欧美一区二区黄| 国产色婷婷国产综合在线理论片a| 先锋影音国产一区| 久久久久国产一区二区| 精品白丝av| 亚洲日本一区二区三区| 欧美久久成人| 一本色道久久综合亚洲精品婷婷| 亚洲性人人天天夜夜摸| 国产精品另类一区| 亚洲欧美视频在线观看视频| 欧美一区二区三区免费大片| 国产一区91| 亚洲欧洲日本一区二区三区| 欧美国产日韩一区二区在线观看 | 国产日韩欧美综合| 亚洲电影免费在线 | 国产啪精品视频| 欧美在线视频播放| 美女诱惑黄网站一区| 亚洲精品一区二区三区99| 亚洲自拍偷拍色片视频| 国产欧美一区二区三区在线看蜜臀 | 欧美国产精品人人做人人爱| 9色精品在线| 欧美一级播放| 在线日韩av片| 亚洲一区不卡| 国产亚洲二区| 99成人在线| 国产精品天天看| 久久福利资源站| 欧美精品在线观看91| 亚洲午夜精品网| 久久免费的精品国产v∧| 亚洲国产欧美一区二区三区同亚洲 | 午夜精品免费在线| 黑人巨大精品欧美一区二区 | 在线亚洲免费| 国产在线观看精品一区二区三区| 亚洲三级毛片| 国产精品入口麻豆原神| 亚洲福利久久| 欧美色中文字幕| 亚洲电影有码| 欧美性片在线观看| 久久精品日产第一区二区| 欧美日韩一二三区| 久久精品系列| 欧美午夜视频在线| 亚洲欧美激情一区二区| 最近中文字幕日韩精品 | 国产精品视频网| 亚洲精品国产精品久久清纯直播| 国产精品美女午夜av| 亚洲精选久久| 国产午夜精品久久久久久久| 一本色道久久综合亚洲精品不卡 | 午夜精品久久久久久久99黑人| 欧美黄色aa电影| 欧美一区二区三区视频| 欧美色网在线| 亚洲精品欧美一区二区三区| 国产日韩高清一区二区三区在线| 一区二区高清在线| 在线观看亚洲一区| 欧美在线视频在线播放完整版免费观看 | 亚洲国产精品久久久久婷婷884| 国产精品vvv| 亚洲精品免费一区二区三区| 国产视频在线观看一区| 亚洲已满18点击进入久久| 亚洲福利av| 久久久久九九视频| 亚洲在线观看| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 久久国产直播|