《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 面向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亚洲国产精品_日韩亚洲一区二区
中日韩美女免费视频网址在线观看| 亚洲在线观看免费视频| 欧美三级黄美女| 欧美激情一区| 欧美二区不卡| 欧美大片一区二区三区| 美女啪啪无遮挡免费久久网站| 欧美中文字幕视频| 香蕉国产精品偷在线观看不卡 | 日韩视频永久免费观看| 亚洲激情精品| 日韩一级不卡| 亚洲中无吗在线| 欧美综合国产| 久久久久久久波多野高潮日日| 久久久久国产免费免费| 老色鬼精品视频在线观看播放| 美女精品视频一区| 欧美激情精品久久久久久大尺度| 欧美精品久久久久久| 欧美午夜免费影院| 国产乱理伦片在线观看夜一区| 国产欧美精品xxxx另类| 国产一区观看| 亚洲国产天堂久久综合网| 亚洲毛片一区| 亚洲专区一区| 久久gogo国模裸体人体| 亚洲精品国产品国语在线app| 一本色道久久综合亚洲精品婷婷| 亚洲一区在线播放| 欧美一级免费视频| 麻豆精品网站| 欧美日韩亚洲三区| 国产麻豆一精品一av一免费| 国产综合色一区二区三区| 伊人一区二区三区久久精品| 亚洲靠逼com| 午夜精品久久久久久久| 亚洲欧洲日本专区| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美一区亚洲| 欧美成人激情视频免费观看| 欧美三区在线观看| 国产欧美一区二区三区在线老狼| 国外成人网址| 99亚洲一区二区| 欧美一区二区私人影院日本| 亚洲精品乱码视频| 午夜在线播放视频欧美| 欧美不卡三区| 国产精品女主播一区二区三区| 狠狠色狠狠色综合系列| 亚洲精品小视频在线观看| 午夜精品成人在线| 夜夜嗨av色一区二区不卡| 欧美一区深夜视频| 欧美精品videossex性护士| 国产精品一区二区三区免费观看| 亚洲第一在线视频| 亚洲一区免费观看| 亚洲免费观看高清在线观看| 篠田优中文在线播放第一区| 欧美激情麻豆| 国产午夜精品视频| a4yy欧美一区二区三区| 亚洲激情成人| 欧美亚洲综合久久| 欧美三级日本三级少妇99| 狠狠色丁香久久婷婷综合_中| 99精品视频免费观看视频| 亚洲国产美女| 欧美一区二区三区久久精品茉莉花| 欧美14一18处毛片| 国产欧美精品日韩| 艳妇臀荡乳欲伦亚洲一区| 亚洲缚视频在线观看| 欧美在线不卡| 欧美日韩一区二区三区在线观看免| 激情视频一区二区| 亚洲欧美区自拍先锋| 亚洲色诱最新| 欧美电影打屁股sp| 国产综合香蕉五月婷在线| 亚洲天堂网站在线观看视频| 亚洲美女视频网| 久久综合免费视频影院| 国产日韩欧美在线| 亚洲视频每日更新| 一区二区三区高清视频在线观看 | 女女同性精品视频| 国产亚洲精品激情久久| 亚洲一区www| 亚洲一区二区三| 欧美极品在线观看| 伊人久久婷婷| 久久国产一区二区三区| 欧美有码视频| 国产精品久久久久久影视| 日韩视频免费在线| 日韩午夜剧场| 欧美国产综合| 亚洲激情电影在线| 91久久精品国产91性色tv| 麻豆精品在线观看| 在线观看国产一区二区| 亚洲成色精品| 久久蜜臀精品av| 国产一区二区三区在线观看免费视频 | 欧美va亚洲va香蕉在线| 在线看日韩欧美| 亚洲国产成人在线播放| 久久婷婷色综合| 国产综合婷婷| 亚洲国产精品视频一区| 美女主播一区| 亚洲国产精品激情在线观看| 亚洲精品裸体| 欧美久久电影| 亚洲伦理一区| 一区二区三区欧美亚洲| 欧美日一区二区在线观看 | 久久国产精品久久精品国产| 国产欧美视频一区二区| 亚洲欧美日韩国产| 久久精品国语| 一区二区视频免费在线观看| 亚洲国产高清在线观看视频| 免播放器亚洲一区| 亚洲黄页视频免费观看| 这里只有视频精品| 国产精品久久久久国产a级| 亚洲一区在线播放| 久久电影一区| 精品福利免费观看| 日韩一级黄色av| 国产精品久久福利| 亚洲欧美日韩一区在线| 久久免费国产| 亚洲国产天堂久久国产91| 国产精品99久久久久久久vr| 国产精品日韩专区| 久久福利影视| 欧美另类极品videosbest最新版本| 99re国产精品| 欧美在线观看日本一区| 在线播放精品| 亚洲四色影视在线观看| 国产人久久人人人人爽| 91久久久一线二线三线品牌| 欧美精品自拍| 亚洲综合第一| 免费观看在线综合| 一区二区三区视频在线| 久久久久久久综合| 亚洲人精品午夜在线观看| 亚洲欧美综合一区| 精品二区视频| 亚洲夜间福利| 国产在线精品一区二区夜色| 日韩午夜三级在线| 国产精品中文字幕欧美| 亚洲精品国产日韩| 国产精品二区在线观看| 欧美在线亚洲一区| 欧美日本国产| 欧美资源在线| 欧美午夜精品一区二区三区| 亚洲成在人线av| 国产精品高潮在线| 亚洲国产成人高清精品| 国产精品h在线观看| 久久精品国产免费看久久精品| 欧美日韩免费高清| 欧美伊人久久| 国产精品白丝av嫩草影院| 久久精品三级| 国产精品美女在线| 99国产精品国产精品毛片| 国产日韩在线视频| 一区二区日韩欧美| 国产在线视频欧美| 亚洲欧美久久久久一区二区三区| **性色生活片久久毛片| 亚洲欧美综合网| 亚洲欧洲日产国产网站| 久久久99爱| 亚洲一区二区成人在线观看| 蜜桃av一区二区三区| 亚洲女人天堂av| 欧美日本一区| 亚洲第一精品影视| 国产精品亚洲一区| 99ri日韩精品视频| 在线视频成人| 久久五月激情| 香蕉久久久久久久av网站| 国产精品第一区| 99综合视频| 在线观看欧美精品|