《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于內(nèi)外混合流水線的高吞吐率AES結(jié)構(gòu)
基于內(nèi)外混合流水線的高吞吐率AES結(jié)構(gòu)
2015年電子技術(shù)應(yīng)用第6期
江 磊,魏震楠,劉 明
東南大學 信息科學與工程學院,江蘇 南京211100
摘要: 提出了一種基于加解密輪內(nèi)外流水線的、高性能及高吞吐率的128 bit AES算法的硬件實現(xiàn)方法。在此之前人們多采用查找表來實現(xiàn)AES算法中的SubBytes和InvSubBytes轉(zhuǎn)換過程,本設(shè)計則僅僅使用了進行復(fù)合域運算的組合邏輯單元,硬件面積得以縮小,同時還可以將組合邏輯單元劃分為6級次級流水線,輪外和輪內(nèi)流水線得到更深層次的利用。使用本設(shè)計方案,在Altera DE2-115設(shè)備上以570 MHz頻率實現(xiàn)的加密器可以達到73.562 Gb/s的吞吐率。
中圖分類號: TN47
文獻標識碼: A
文章編號: 0258-7998(2015)06-0114-04
中文引用格式:江磊,魏震楠,劉明.基于內(nèi)外混合流水線的高吞吐率AES結(jié)構(gòu)[J].電子技術(shù)應(yīng)用,2015,41(06):114-117.
High throughput rate AES algorithm structure based on the pipelining and subpipelining
Jiang Lei,Wei Zhennan,Liu Ming
School of Information Science and Engineering, Southeast University,Nanjing 211100,China
Abstract: This paper presents a design for high-performance and high throughput rate hardware implementation of the 128-bit Advanced Encryption Standard(AES) algorithm based on the employment of pipelining and subpipelining in and between the rounds of encryption and decryption rounds. As most of the previous works rely on look-up tables(LUTs) to implement SubBytes and InvSubBytes transformations of the AES, our design, however, only employs combinational logic units which are designed for composite field arithmetic. As a result, the area requirements of the circuits are reduced accordingly, and it also gives chance to divide the composite field arithmetic into 6 rounds. As the advantage of pipelining and subpipelining are further developed, the throughput rate is much higher than before. By using the proposed design, the encryptor can achieve a throughput rate of 73.562 Gb/s at 570 MHz on an Altera DE2-115 device.
Key words : Advanced Encryption Standard(AES);composite field arithmetic;pipelining and sub-pipelining

    

0 引言

    密碼學在保證數(shù)據(jù)傳送的安全中扮演了重要角色。1997年1月,美國國家標準及技術(shù)研究所(NIST)發(fā)起征集高級加密標準(AES)的活動,以替換數(shù)據(jù)加密算法(DES)。在對15個候選加密算法進行兩輪測試和評比后,NIST最終于2000年10月選擇Rijindael算法作為高級加密標準算法。

    目前,AES算法在智能卡、移動電話、萬維網(wǎng)服務(wù)器、ATM機以及云存儲等領(lǐng)域有著廣泛的應(yīng)用。同軟件實現(xiàn)相比,AES算法的硬件實現(xiàn)提供了更好的物理安全性,而且處理的速度也更快。在大數(shù)據(jù)時代,AES已經(jīng)廣泛地用于保護云存儲數(shù)據(jù)的安全,為了滿足數(shù)千萬用戶的同時需求,與減少芯片面積、減小消耗相比,提高AES算法的吞吐率就變得更為重要。本文主要研究利用流水線結(jié)構(gòu)提高硬件上的AES加密算法的吞吐率。

    目前有3種主流的AES結(jié)構(gòu)優(yōu)化方法可以提高其在硬件上的處理速度:輪外流水線結(jié)構(gòu),輪內(nèi)流水線結(jié)構(gòu),循環(huán)迭代結(jié)構(gòu)。流水線結(jié)構(gòu)是在各級運算中間插入寄存器。內(nèi)部流水線與其相似,是在輪運算內(nèi)部復(fù)合域邏輯運算中插入寄存器。

    Zhang[1]利用等價的復(fù)合域GF(((2)2)2)2算法來實現(xiàn)一個快而緊湊的AES字節(jié)代換操作所要求的復(fù)合域乘法逆,但其設(shè)計的輪內(nèi)各級流水線路徑長度劃分不夠最優(yōu)。Hodjat[3]利用完全環(huán)展開的高度輪內(nèi)流水線架構(gòu),提出兩種字節(jié)代換方案:一個是對于字節(jié)代換操作利用BlockRAMs來實現(xiàn)查找表,另一個是利用復(fù)合域GF((2)4)2算法。利用復(fù)合域算法是由Rijmen[2]建議并且由Wolkerstorfer[3]證明。同樣Hodjat[4]在7級流水線設(shè)計中各級關(guān)鍵路徑劃分也不是最優(yōu),并且循環(huán)展開結(jié)構(gòu)導(dǎo)致AES的吞吐率/面積比率比較小。Zambreno[5]同樣采用完全環(huán)展開流水線設(shè)計,其中最深流水線設(shè)計是完全展開3級流水線,關(guān)鍵路徑相對比較長。Good[6]根據(jù)級聯(lián)的FPGA查找表(LUT)數(shù)來劃分關(guān)鍵路徑,進行完全環(huán)展開流水線設(shè)計,雖然增加了吞吐率,但更多的流水級劃分增加了更多的寄存器而增加了面積。本文同樣采取復(fù)合域GF((2)4)2算法替換查表法,而在輪內(nèi)運算中重新劃分展開為6級的流水線,從而更好地平衡了吞吐率和面積的關(guān)系。

1 AES高級加密標準

1.1 加密主體

    AES算法是一種對稱加密算法,加密服務(wù)器和解密服務(wù)器運用相同的密鑰進行加密和解密,一次數(shù)據(jù)位加密長度是128 bit,128 bit的數(shù)據(jù)加密長度可以被分成一個的狀態(tài)矩陣,其中每一個字節(jié)可以用Sij(0<i<4,0<j<4)表示。AES所有的算法均可視作基于對這個狀態(tài)矩陣進行操作。

    AES算法由主體迭代部分和密鑰擴展算法構(gòu)成。每一次的迭代運算稱為一輪,而AES算法的總輪數(shù)可以為10輪、12輪或14輪,分別對應(yīng)128 bit、196 bit或256 bit的密鑰長度。每一輪迭代運算分為4個不同的步驟,分別是S盒置換、行位移、列混合和密鑰加法。AES算法加密解密流程圖如圖1所示。

wl3-t1.gif

1.1.1 S盒置換

    S盒置換是將狀態(tài)矩陣中每一個元素視作有限域GF(28)中的一個元素,首先進行求逆變換,再將其在GF(28)域中的逆元素進行一次仿射變換,得到新的狀態(tài)矩陣。由于在GF(28)域中求逆運算過于復(fù)雜,所以在具體實現(xiàn)中,通常會使用查表法實現(xiàn)S盒置換,從而減少運算時間。

1.1.2 行位移

    行位移描述矩陣的行操作。在此步驟中,每一行都向左循環(huán)位移某個偏移量。在AES中(區(qū)塊大小128 bit),第一行維持不變,第二行里的每個字節(jié)都向左循環(huán)移動一格。同理,第三行及第四行向左循環(huán)位移的偏移量就分別是2和3。128 bit和192 bit的區(qū)塊在此步驟的循環(huán)位移的模式相同。經(jīng)過行位移之后,矩陣中每一豎列,都是由輸入矩陣中的每個不同列中的元素組成。對于長度256 bit的區(qū)塊,第一行仍然維持不變,第二行、第三行、第四行的偏移量分別是1 B、3 B、4 B。

1.1.3 列混合

    在列混合步驟,每一列的4個字節(jié)通過線性變換互相組合。每一列的4個元素分別當作1、x、x2、x3的系數(shù),合并即為GF(28)中的一個多項式,接著將此多項式和一個固定的多項式c(x)=3x3+x2+x+2在mod(x4)+1下相乘。列混合函數(shù)接收4個字節(jié)的輸入,輸出4個字節(jié),每一個輸入的字節(jié)都會對輸出的4個字節(jié)造成影響。

1.1.4 輪密鑰加法

    輪密鑰加步驟,回合密鑰將會與原矩陣合并。在每次的加密循環(huán)中,都會由主密鑰產(chǎn)生一把回合密鑰,這把密鑰大小會跟原矩陣一樣,以與原矩陣中每個對應(yīng)的字節(jié)作異或(wl3-gs1-s1.gif)加法。

1.1.5 密鑰擴展算法

    密鑰擴展算法主要進行密鑰擴展操作,初始密鑰和擴展后的整個密鑰表可以看作是一個字序列。在密鑰擴展過程中完成了字旋轉(zhuǎn)和字替代兩個操作。字旋轉(zhuǎn)操作時將字的4個字節(jié)循環(huán)右移一個單位,如(W[0],W[1],W[2]W[3])經(jīng)過旋轉(zhuǎn)后得到字(W[3],W[0],W[1]W[2])。

1.2 復(fù)合域計算法實現(xiàn)S盒置換

    由于S盒置換的數(shù)學過程十分復(fù)雜,所以這個過程通常采用查表法實現(xiàn),這樣雖然執(zhí)行速度快,但是會消耗的大量硬件資源,而且查表法無法細分為更小的過程。單純地在GF(28)有限域中計算S盒置換的結(jié)果至少要使用620個門,同樣會消耗大量的硬件資源。然而,通過使用復(fù)合域算法可以顯著地降低運算中所需要邏輯門的數(shù)量,即將GF(28)中的運算轉(zhuǎn)換到GF((24)2)中。在復(fù)合域運算中,實現(xiàn)將GF(28)域中的元素轉(zhuǎn)換到GF((24)2)域中的同構(gòu)映射可以用12個異或門實現(xiàn),關(guān)鍵路徑上只有4個異或門。同時,同構(gòu)映射的逆變換,以及仿射變換都只需要19個異或門來實現(xiàn),關(guān)鍵路徑上也只有4個異或門。在復(fù)合域GF((24)2)中,一個元素可以被表示為shx+sl,sh,sl∈GF(24)。

    使用擴展歐幾里得算法,shx+sl的逆變換可以計算得:

wl3-gs1.gif

    所以S盒置換可以由圖2結(jié)構(gòu)通過運算來代替,因為通過復(fù)合域運算將GF(28)中的運算轉(zhuǎn)換到GF((24)2)中,GF((24)2)中的運算可以進一步分解到GF(22)中,進而被分解至GF(2)中。在GF(2)域中一次乘法運算就是一個簡單的邏輯與運算,減輕了電路的開銷。同時這樣的結(jié)構(gòu)也為接下來內(nèi)部流水線的建立提供了可能。

wl3-t2.gif

2 內(nèi)外混合流水線

    流水線技術(shù)就是在邏輯電路中插入流水線寄存器,以縮短組合邏輯路徑長度,達到提高工作頻率、實現(xiàn)高吞吐率的目的。由于總體的延時取決于延時最長的一級,因此要使流水線結(jié)構(gòu)的功能最優(yōu)化,就必須使得流水線中各級的延遲時間相等。下面分別闡述本文實現(xiàn)內(nèi)外流水線的方法。

2.1 外部流水線結(jié)構(gòu)

    外部循環(huán)流水線結(jié)構(gòu)由循環(huán)展開結(jié)構(gòu)發(fā)展而來。具體方法是在組合電路與每一輪加密運算對應(yīng)的部件之間都插入額外的寄存器。該方法可以在同一時刻處理多個數(shù)據(jù)分組,提高系統(tǒng)在單位時間內(nèi)處理數(shù)據(jù)的速度。圖3為外部10輪流水線流程圖。

wl3-t3.gif

    根據(jù)AES算法結(jié)構(gòu),容易發(fā)現(xiàn)該算法具有以下幾個顯著的特點:

    (1)AES算法加解密過程的核心是10次輪操作,前一輪操作的輸出是下一輪操作的輸入。

    (2)AES算法每次輪操作需要一組子密鑰,而一組子密鑰的產(chǎn)生僅與上一組子密鑰相關(guān)。

    根據(jù)上述特點可知,AES算法可以采用流水線形式實現(xiàn),把子密鑰的生成插入到每一次輪操作的過程中,將10次輪操作解開為一個10級的流水線。用外部循環(huán)結(jié)構(gòu)實現(xiàn)的加解密算法,模塊的面積與流水線級數(shù)成正比。AES加密算法展開為10級的流水線后效率提高為原來的10倍。 

2.2 內(nèi)部流水線

    內(nèi)部流水線是在內(nèi)部復(fù)合域邏輯運算中插入寄存器,可以使其邏輯長度更為縮短,從而大大提高吞吐率。采用輪內(nèi)流水線技術(shù)進行高性能AES硬件實現(xiàn)設(shè)計的關(guān)鍵就是如何利用最簡單的組合電路實現(xiàn)AES的輪單元及如何進行流水線劃分使得關(guān)鍵路徑最短。本文對每一輪加密過程進行改動,做如圖4劃分,分成6級的流水線。

wl3-t4.gif

    由表1可以看出,輪內(nèi)劃分的六部分的關(guān)鍵路徑都基本相等,所以各部分延時也基本相同,因而將輪內(nèi)操作分成6輪是合理的。與文獻[1]中將輪內(nèi)流水分成7輪相比,分成6輪雖然損失了部分速度,但是面積利用率更高。

wl3-b1.gif

3 測試方法和結(jié)果

3.1 仿真與測試

    本文采用硬件描述語言Verilog HDL代碼編寫了128 bit的AES算法,經(jīng)過外部10輪流水線改進以后的加密算法,改進S盒置換步驟后的AES算法,實現(xiàn)內(nèi)部流水線后的AES算法和內(nèi)外混合流水線的AES算法,并用Modelsim對每個算法逐個進行仿真。

    本文采用Altera Quarters II工具在芯片為Cyclone IV的FPGA上進行驗證,所獲得的數(shù)據(jù)已在表1中給出。

3.2 性能分析

    測試所得結(jié)果與同類論文研究結(jié)果的比較見表2。

wl3-b2.gif

    由表2可以看出,本文完成的工作使得吞吐率較同類論文結(jié)果平均提升197.5%,最高提升241.3%,取得顯著進步。同時,就內(nèi)外流水線而言,使用外部10輪流水線的吞吐率較原始結(jié)果提升10倍。同時使用內(nèi)外流水線相比只使用外部流水線而言,吞吐率增加5.5倍。這與理論基本相符。當然,吞吐率的增加伴隨著面積的增加,但可以看出,由于增加內(nèi)部流水線省去了占據(jù)面積巨大的S盒查找表,一定程度上抑制了面積的增加。因而,使用內(nèi)外混合流水線,對于提升吞吐率面積比,也有積極的作用。

4 結(jié)論

    本文提出了一種可以高效地實現(xiàn)AES算法的流水線結(jié)構(gòu),不同于以往采用查找表的方法實現(xiàn)S盒轉(zhuǎn)換,本文采用組合邏輯電路實現(xiàn)這一步驟。采用查找表的方法,雖然可以使處理速度得到提升,但是占用硬件面積過大;采用組合邏輯電路,雖然增加了電路的復(fù)雜程度,但是可以顯著減少占用的硬件面積,此外,通過使用復(fù)合域算法化簡域內(nèi)的轉(zhuǎn)換,電路的復(fù)雜度也可以得到降低。為了獲得更高的處理速度,本文在用于S盒轉(zhuǎn)換的組合邏輯電路內(nèi)部進行了內(nèi)部流水線劃分,最終設(shè)計了6段流水線,進一步提高了處理速度。

參考文獻

[1] Zhang Xinmiao,Keshab K.Parhi.High-speed VLSI architectures for the AES algorithm[J].IEEE Transactions on Very Large Scale Integration(VLSI) Systms,2004,12(9):957-967.

[2] RIJMEN V.Efficient implementation of the rijindael S-box[J].Katholieke Universiteit Leuven,Dept.ESAT.Belgium,2000.

[3] WOLKERSTORFER J,OSWALD E,LAMBERGER M.An ASIC implementation of the AES SBoxes[M].Topics in  Cryptology-CT-RSA 2002.Springer Berlin Heidelberg,2002:67-68.

[4] HODJAT A,VERBAUWHEDE I.A 21.54 Gbits/s fully pipelined AES processor on FPGA[C].Field-Programmable Custom Computing Machines,2004.FCCM 2004.12th Annual IEEE Symposium on.IEEE,2004:308-309.

[5] ZAMBRENO J,NGUYEN D,CHOUDHARY A.Exploring area/delay tradeoffs in an AES FPGA implementation[M].Field Programmable Logic and Application.Springer Berlin Heidelberg,2004:575-585.

[6] GOOD T,BENAISSA M.Pipelined AES on FPGA with support for feedback modes(in a multi-channel environment)[J].IET Information Security,2007,1(1):1-10.

[7] FU Y,HAO L,ZHANG X,et al.Design of an extremely high performance counter mode AES reconfigurable processor[C].Embedded Software and Systems,2005.Second International Coference on IEEE,2005:7.

[8] FAN C P,HWANG J K.Implementations of high throughput sequential and fully pipelined AES processors on FPGA[C].Intelligent Signal Processing and Communication Systems,2007.ISPACS 2007.International Symposium on.IEEE,2007:353-356.

[9] VANITHA M,SAKTHIVEL R,SUBHA S.Highly secured high throughput VLSI architecture for AES algorithm[C].Devices,Circuits and Systems(ICDCS),2012 International Conference on IEEE,2012:403-407.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲福利视频在线| av72成人在线| 欧美韩日一区二区三区| 久久精品国产清自在天天线| 亚洲五月六月| 日韩视频在线一区| 亚洲国产经典视频| 欧美在线日韩| 欧美在线观看天堂一区二区三区| 亚洲一区二区三区成人在线视频精品| 亚洲毛片在线观看.| 亚洲欧洲日本一区二区三区| 亚洲国产日本| 欧美一乱一性一交一视频| 亚洲性感美女99在线| 一区二区三区欧美在线| 一区二区精品在线| 中文在线资源观看视频网站免费不卡| 日韩亚洲一区二区| 日韩一级在线| av成人免费观看| 一本色道88久久加勒比精品 | 久久成人一区| 亚洲欧美综合另类中字| 亚洲欧美日韩精品久久奇米色影视 | 亚洲欧洲精品一区二区| 亚洲欧洲精品一区| 亚洲美女网站| 亚洲小视频在线观看| 亚洲综合色在线| 久久不射中文字幕| 亚洲黄色在线| 一区二区三区日韩精品| 亚洲欧美日韩成人| 久久精品91| 久久综合九色欧美综合狠狠| 欧美精品激情blacked18| 欧美日韩在线视频首页| 国产精品日韩在线观看| 国产亚洲精久久久久久| 一区二区三区在线视频播放| 亚洲黄色在线视频| 中文日韩电影网站| 欧美一区二区| 亚洲狼人综合| 亚洲欧美日本国产专区一区| 久久免费视频网| 欧美激情网站在线观看| 欧美色道久久88综合亚洲精品| 国内精品久久久久久久影视蜜臀 | 亚洲精品欧美日韩专区| 亚洲最新中文字幕| 欧美亚洲视频在线看网址| 久久久久天天天天| 欧美喷水视频| 国产视频一区欧美| 亚洲欧洲一区二区三区久久| 中文在线资源观看网站视频免费不卡 | 亚洲一区二区三区影院| 欧美中文在线观看国产| 欧美成人按摩| 国产精品一级久久久| 伊人成人开心激情综合网| 一区二区三区产品免费精品久久75| 亚洲欧美日韩人成在线播放| 亚洲国产一区二区精品专区| 亚洲天堂视频在线观看| 久久免费国产精品1| 欧美日韩在线视频一区| 黄色精品一区二区| 亚洲午夜精品一区二区三区他趣| 久久精品视频免费| 亚洲一区二区四区| 美女诱惑黄网站一区| 欧美亚州一区二区三区 | 在线综合+亚洲+欧美中文字幕| 久久狠狠婷婷| 亚洲免费在线播放| 欧美成人一区二区在线| 国产欧亚日韩视频| 日韩午夜激情电影| 亚洲福利视频网站| 性久久久久久久| 欧美日韩成人| 好吊色欧美一区二区三区四区| 一区二区三区国产精华| 亚洲国产乱码最新视频| 欧美在线播放高清精品| 欧美日韩视频在线第一区| 黑人极品videos精品欧美裸| 一区二区三区日韩在线观看| 亚洲伦理中文字幕| 欧美日韩三区四区| 依依成人综合视频| 午夜精品久久久久久久久| 妖精成人www高清在线观看| 开心色5月久久精品| 国产免费成人av| 99成人免费视频| 亚洲理伦电影| 欧美 日韩 国产 一区| 国产视频一区三区| 亚洲欧美激情诱惑| 亚洲欧美成人网| 欧美日韩情趣电影| 亚洲人成在线观看网站高清| 亚洲国产91| 久久久久在线| 国产网站欧美日韩免费精品在线观看 | 亚洲欧美中文字幕| 亚洲欧美一区二区精品久久久| 欧美精品在欧美一区二区少妇| 伊人夜夜躁av伊人久久| 久久aⅴ国产欧美74aaa| 欧美影院在线播放| 国产精品自在线| 亚洲欧美影音先锋| 欧美一区二区三区视频免费播放| 国产精品每日更新在线播放网址| 日韩一级大片| 亚洲视频香蕉人妖| 欧美日韩一区自拍| 99热在这里有精品免费| 一区二区三区免费网站| 欧美精品日韩www.p站| 亚洲日韩欧美视频| 一区二区三区www| 欧美日韩精品不卡| 一区二区电影免费观看| 亚洲视频综合| 国产精品久久国产三级国电话系列| 一本色道久久88精品综合| 亚洲一区二区欧美| 国产精品v亚洲精品v日韩精品| 一区二区高清在线| 午夜精品久久久久久久99樱桃| 欧美日韩中字| 亚洲一区欧美| 久久精品国产第一区二区三区最新章节 | 亚洲午夜av在线| 国产精品久久久久久模特| 国产精品99久久99久久久二8| 亚洲欧美精品一区| 国产日韩欧美在线播放不卡| 欧美一级视频精品观看| 久久综合综合久久综合| 亚洲国产精品小视频| 在线视频亚洲欧美| 国产精品国产一区二区| 亚洲女人天堂成人av在线| 久久国产精品久久久| 狠狠噜噜久久| 亚洲毛片在线观看.| 欧美无乱码久久久免费午夜一区| 亚洲性视频h| 久久一二三国产| 亚洲国产免费看| 亚洲欧美区自拍先锋| 国产一区二区日韩精品| 最近看过的日韩成人| 欧美日韩色综合| 欧美一区在线看| 欧美交受高潮1| 亚洲一级特黄| 美女任你摸久久| 一本色道久久综合狠狠躁的推荐| 欧美一级一区| 亚洲电影激情视频网站| 亚洲一区成人| 狠狠色丁香婷婷综合| 一本色道久久综合亚洲91| 国产美女精品视频| 亚洲人成网站精品片在线观看 | 久久午夜电影| 日韩午夜免费| 久久亚洲高清| 日韩视频一区| 久久午夜视频| 一区二区三区黄色| 免费美女久久99| 亚洲图片欧美日产| 另类亚洲自拍| 亚洲一区二区在线看| 欧美va亚洲va日韩∨a综合色| 一区二区三区黄色| 麻豆freexxxx性91精品| 中文久久乱码一区二区| 免费在线成人av| 亚洲自拍三区| 欧美日韩第一区| 欧美在线三区| 国产精品久久久久av| 亚洲精品乱码久久久久久| 国产美女精品视频| 一本色道久久综合亚洲91| 激情欧美丁香| 欧美一区二区三区在线播放| 亚洲三级网站| 久久亚洲春色中文字幕久久久| 亚洲资源在线观看|