專利名稱:一種基于ieee802.1ae協(xié)議的gcm高速加解密器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種高速加解密器,具體地說是一種適用于IEEE802. IAE協(xié)議的GCM高速加解密器。
背景技術(shù):
2005年5月公布的IEEE802. IAE介質(zhì)訪問控制安全(MACsec)協(xié)議為以太網(wǎng)保護 提供了封裝和加密框架,它將安全保護集成到有線以太網(wǎng)中,通過識別局域網(wǎng)上的非授權(quán) 站點,保護局域網(wǎng)不受被動接線、假冒、中間人以及某些拒絕服務(wù)等的攻擊。GCM(Galois/Counter Mode)是一個高速的認證加密模式,分別用 AES (Advanced Encryption Sandard)的CTR(Counter)模式和定義在GF(2128)域上的Ghash函數(shù),同時產(chǎn) 生密文和認證標簽。IEEE802. IAE協(xié)議采用GCM算法對幀進行加/解密處理以及完整性校 驗處理,更好地保證通信安全。GCM算法對數(shù)據(jù)進行加密時,有四個輸入信號加密密鑰K,初始化向量IV,明文P, 以及附加鑒別信息A ;有兩個輸出信號密文C和鑒別標識T。將P和A按128位分組,分別 記為P1,P2,P3,…,P(n-l),Pn* 和 A1,A2,A3,…,A(m_l),Am*。其中,Pn* 和 Am* 的長度 分別為u和v(l ≤u,v ≤128);其它分組長度皆為128位。GCM加密算法定義如式(1)所示。
<formula>formula see original document page 3</formula>其中,I I表示數(shù)據(jù)串連接;IenO返回64_bit的數(shù)據(jù)串長度;E(K,Y)表示用密鑰 K對Y進行AES加/解密;函數(shù)incr ()是將參數(shù)的最低32位看成一無符號數(shù),將其加1后 并取模232。GCM解密算法定義如式(2)所示。<formula>formula see original document page 4</formula>比較表達式(1)、⑵可知,GCM加解密電路可以復(fù)用。GHASH 函數(shù)定義為GHASH(H,A,C) = Xm+n+1,而 Xi,i = 0,· · · m+n+1 如式(3)所示。<formula>formula see original document page 4</formula>
乘法是定義在GF(2128)上的運算,約化多項式為式(4)。<formula>formula see original document page 4</formula>
GHASH函數(shù)的運算是一個迭代過程,順序執(zhí)行乘加操作,而乘法器單元具有較大的 延時,是提高吞吐率的瓶頸。所以目前尚缺少適用于ΙΕΕΕ802. IAE協(xié)議的高速GCM硬件實 現(xiàn)。2007年,Satoh A設(shè)計了一款GCM加密器。在GHASH模塊設(shè)計了一種并行乘加器, 使GCM的吞吐率突破了 lOOGbps,達到162. 56Gbps (0. 13 μ m工藝),是目前發(fā)表的性能最好 的設(shè)計。然而進一步研究可以發(fā)現(xiàn)該設(shè)計的GCM硬件結(jié)構(gòu)不能適用于IEEE802. IAE協(xié)議。 因為該設(shè)計的Ghash模塊,要在數(shù)據(jù)傳輸開始時確定等待處理的分組數(shù)據(jù)總數(shù),以控制并 行運算過程,這與數(shù)據(jù)傳輸過程的實際情況不符。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于IEEE802. IAE協(xié)議的GCM高速加解密器,該加解密 器采用新型的并行乘加器,可以同時處理多組數(shù)據(jù),而不需要預(yù)先確定等待處理的分組數(shù) 據(jù)總數(shù)。本發(fā)明數(shù)據(jù)處理速度快、硬件復(fù)雜度低。本發(fā)明的發(fā)明目的是通過以下技術(shù)方案來實現(xiàn)的一種基于IEEE802. IAE協(xié)議的GCM高速加解密器,其特征在于該GCM高速加解密 器包括信息提取模塊,AES模塊和Ghash模塊;信息提取模塊用于從輸入數(shù)據(jù)中提取安全協(xié) 議密鑰、安全通道標識、數(shù)據(jù)包號、目的地址和源地址,并根據(jù)不同的工作模式轉(zhuǎn)換成對應(yīng) 的初始密鑰K、初始向量IV、附加信息A和明文P/密文C,并將數(shù)據(jù)傳輸給AES模塊;AES模 塊完成數(shù)據(jù)加/解密,并輸出密文/明文;Ghash模塊根據(jù)附加信息A和密文C,通過Ghash 函數(shù)產(chǎn)生鑒別標識T。
本發(fā)明中,Ghash模塊采用并行乘加器,同時處理多組數(shù)據(jù),不需要預(yù)先確定等待 處理的分組數(shù)據(jù)總數(shù);Ghash函數(shù)輸入(pq+n)組數(shù)據(jù)時,輸出Xpq+n的表達式,即適用于 IEEE802. IAE協(xié)議的新型q度并行乘加器表達式如下
Xpq+n - (L (((A1H"十 A2IP-1 十L 十 AqH)十<formula>formula see original document page 5</formula>
L<formula>formula see original document page 5</formula><formula>formula see original document page 5</formula>
其中ρ,q,η為正整數(shù),1≤η≤q。本發(fā)明中,所述AES模塊包含密鑰擴展模塊和AES加/解密模塊;其中,AES加/解 密模塊采用全流水線結(jié)構(gòu),將該過程的內(nèi)部循環(huán)全部展開,在每輪循環(huán)間插入一級流水線, 共有10級輪間流水線,同時每級流水線內(nèi)部又采用6級子流水線結(jié)構(gòu),總計包含60級流水 線;密鑰擴展模塊為循環(huán)展開結(jié)構(gòu)。本發(fā)明中的Ghash模塊設(shè)計了一種新型的并行乘加器,可以同時處理多組數(shù)據(jù), 而不需要預(yù)先確定等待處理的分組數(shù)據(jù)總數(shù)。為進一步提高加/解密速度,AES加/解密 模塊采用了全流水線結(jié)構(gòu)。另外,為了支持密鑰每個時鐘周期不斷變化,AES中密鑰擴展模 塊設(shè)計了循環(huán)展開結(jié)構(gòu)。本發(fā)明具有高速、低硬件復(fù)雜度的特點。本發(fā)明的設(shè)計方法適用于同類高速電路設(shè)計中;若采用多通道技術(shù),本發(fā)明的吞 吐率有望得到進一步提高。
圖1是本發(fā)明的結(jié)構(gòu)框圖;圖2是本發(fā)明中AES加/解密模塊的電路結(jié)構(gòu)圖;圖3是本發(fā)明中密鑰擴展模塊的電路結(jié)構(gòu)圖;圖4是本發(fā)明中Ghash模塊的電路結(jié)構(gòu)圖(q = 2);圖5 (a)至圖5 (c)是本發(fā)明中Ghash模塊的五輸入實例圖;圖6是本發(fā)明的電路結(jié)構(gòu)圖。
具體實施例方式一種本發(fā)明所述的基于IEEE802. IAE協(xié)議的GCM高速加解密器,圖1是本發(fā)明的 結(jié)構(gòu)框圖。該加解密器包括信息提取模塊1,AES模塊2和Ghash模塊5,其中AES模塊2 又包含密鑰擴展模塊3和AES加/解密模塊4。信息提取模塊1用于從輸入數(shù)據(jù)中提取安 全協(xié)議密鑰、安全通道標識、數(shù)據(jù)包號、目的地址和源地址,并根據(jù)不同的工作模式轉(zhuǎn)換成 對應(yīng)的初始密鑰K、初始向量IV、附加信息A和明文P/密文C。AES模塊2完成數(shù)據(jù)加/解 密,輸出密文/明文。Ghash模塊5根據(jù)附加信息A和密文C,通過Ghash函數(shù)產(chǎn)生鑒別標 識T。下面將分別介紹AES模塊2和Ghash模塊5的硬件設(shè)計和GCM的總體硬件實現(xiàn)。AES加/解密模塊用來實現(xiàn)GCM-128加/解密功能,輸入128位明文/密文,經(jīng)過加/解密輸出128位密文/明文。GCM-128加/解密算法如表達式(1)和(2)所示。為進一步提高加/解密速度,本發(fā)明的AES加/解密模塊采用了全流水線結(jié)構(gòu),如圖2所示。將該過程的內(nèi)部循環(huán)全部展開,在每輪循環(huán)間插入一級流水線,共有10級輪間 流水線,同時每級流水線內(nèi)部又采用6級子流水線結(jié)構(gòu),總計包含60級流水,最多可以同時 處理60組數(shù)據(jù),加上初始輪密鑰加的一個周期,經(jīng)過初始61個時鐘周期后,每個時鐘都能 輸出1組128位的密文/明文。AES的密鑰擴展模塊輸入初始密鑰K,經(jīng)過密鑰擴展輸出11組128位的輪密鑰(包 括初始密鑰K)。由于在網(wǎng)絡(luò)傳輸過程中,各個用戶數(shù)據(jù)可能使用不同的密鑰K。本發(fā)明的密鑰擴展 模塊設(shè)計了循環(huán)展開結(jié)構(gòu),以支持密鑰每個時鐘周期不斷變化。如圖3所示,該結(jié)構(gòu)包含11 個密鑰擴展單元,AES加/解密模塊也包含了相同的流水設(shè)計,保證了兩個模塊能夠高速協(xié) 調(diào)運算,密鑰擴展模塊的第零級到第9級密鑰擴展單元有相同的結(jié)構(gòu),而第10級密鑰擴展 單元的結(jié)構(gòu)與前10級不同。其中,SubBytes表示將4個字節(jié)數(shù)據(jù)進行S盒運算;ShiftLeft 將每個字節(jié)數(shù)據(jù)循環(huán)左移一位。密鑰擴展模塊每個時鐘周期輸入一個初始密鑰K,經(jīng)過初始61個時鐘周期后,每 個時鐘都能輸出11組128位的密鑰,保證了 AES模塊在密鑰K不斷變化時,仍能高速工作。Ghash函數(shù)的運算是一個迭代過程,順序執(zhí)行乘加操作,如表達式(3)所示。而乘 法器單元具有較大的延時,是提高吞吐率的瓶頸。提高Ghash函數(shù)運算速度的關(guān)鍵在于采 用并行的乘法運算替代順序運算?,F(xiàn)有的并行乘加器不適用于IEEE802. IAE協(xié)議,因為采用該并行乘加器的Ghash 模塊,要在數(shù)據(jù)傳輸開始時確定等待處理的分組數(shù)據(jù)總數(shù),以控制并行運算過程,這與數(shù)據(jù) 傳輸過程的實際情況不符。針對這一點,本發(fā)明設(shè)計了一種新型的并行乘加器,可完全適用 于 IEEE802. IAE 協(xié)議。先將Ghash函數(shù)的公式(3)進行展開,如表達式(6)所示,Xi不再是變量表達式 而是常量表達式,為并行運算提供了可能。<formula>formula see original document page 6</formula>由式(6)可以進一步總結(jié),Ghash函數(shù)輸入(pq+n)組數(shù)據(jù)時,輸出Xpq+n的表達 式為式(5),其中p,q,η為正整數(shù),1彡η彡q。由式(5)可以設(shè)計出一種適用于IEEE802. IAE協(xié)議的新型q度并行乘加器。以q =2為例,Ghash模塊的電路結(jié)構(gòu)如圖4所示,該結(jié)構(gòu)針對實際情況設(shè)計,不需要預(yù)先確定 等待處理的分組數(shù)據(jù)總數(shù),只要對最后輸入的一組數(shù)據(jù)進行判斷,并行運算過程的控制邏 輯簡單如果最后輸入兩個數(shù)據(jù),則MUXl輸出H2,MUX2輸出H ;如果只有一個數(shù)據(jù),則MUXl 輸出H,MUX2輸出0。圖5是輸入5個數(shù)據(jù)A1-A5時,Ghash模塊五輸入實例圖。圖5 (a)中,輸入兩個數(shù)據(jù)A1,A2,MUX1取H2,MUX2取H,經(jīng)過兩個周期輸出X2如式(7a) ;X2與輸入數(shù)據(jù)A3作異 或運算,結(jié)果存入寄存器Regl,A4存入寄存器Reg2,MUXl取H2,MUX2取H,經(jīng)過兩個周期輸 出X4如式(7b),如圖5(b)所示;最后輸入一個128位數(shù)據(jù)A5,MUXl取H,MUX2取0,經(jīng)過 兩個周期輸出X5如式(7c),如圖5(c)所示。<formula>formula see original document page 7</formula>采用Synopsys DC工具進行邏輯綜合,得出本發(fā)明中乘法器的關(guān)鍵路徑延時約是 AES模塊的兩倍。因此本發(fā)明的Ghash模塊采用圖4中二度并行的結(jié)構(gòu),兩個乘法器單元 并行工作,使Ghash模塊的關(guān)鍵路徑延時減半,平衡了 Ghash模塊和AES模塊的關(guān)鍵路徑延 時,提高了電路速度。GCM每個時鐘輸入一組數(shù)據(jù),先行緩存,經(jīng)過兩個時鐘周期輸入Ghash 模塊,Ghash中的乘法器單元兩個時鐘周期完成一次乘法運算,從而突破了乘法器單元的較 大延時對速度的限制。按照上述分析,用DC進行邏輯綜合時,注意Ghash模塊中的乘法路 徑采用多周期路徑的方法,即兩個時鐘周期完成一次乘法運算。綜上所述,基于IEEE802. IAE協(xié)議的GCM高速加解密器,其整體電路結(jié)構(gòu)如圖6所 示,包含密鑰擴展模塊(KEYEXP),AES加/解密模塊(Enc/Dec)和二度并行的Ghash模塊。 128位的寄存器Y作為計數(shù)器,每個時鐘周期加1。當(dāng)最后一組數(shù)據(jù)的長度小于128時,128 位的寄存器MASK用于數(shù)據(jù)掩碼。Regl,Reg2是深度為128的寄存器,每個時鐘周期輸入一 個128位的數(shù)據(jù),Regl,Reg2等兩個時鐘周期依次存滿128位數(shù)據(jù);若先輸入一個128位的 數(shù)據(jù)存入Regl后,等一個時鐘周期沒有數(shù)據(jù)輸入,則Reg2置零;若輸入數(shù)據(jù)不滿128位,則 添0補齊。本發(fā)明使用Fujitsu 0. 13ym 1.2V 1P8M CMOS工藝庫進行邏輯綜合,得到時鐘頻 率為764. 5MHz,最大吞吐率為97. 9Gbps,面積為547K門。引入硬件效率性能參數(shù),定義如 下
<formula>formula see original document page 7</formula>本發(fā)明的硬件效率為178. 9Kbps/門,比目前發(fā)表的性能最好的設(shè)計硬件效率略 高。本發(fā)明采用新型的并行乘加器,可以同時處理多組數(shù)據(jù),而不需要預(yù)先確定等待處理的 分組數(shù)據(jù)總數(shù)。為進一步提高加/解密速度,AES加/解密模塊采用了全流水線結(jié)構(gòu)。另 夕卜,為了支持密鑰每個時鐘周期不斷變化,AES中密鑰擴展模塊設(shè)計了循環(huán)展開結(jié)構(gòu)。本發(fā) 明具有高速、低硬件復(fù)雜度的特點。本發(fā)明的設(shè)計方法適用于同類高速電路設(shè)計中;若采用多通道技術(shù),本發(fā)明的吞 吐率有望得到進一步提高。
權(quán)利要求
一種基于IEEE802.1AE協(xié)議的GCM高速加解密器,其特征在于該GCM高速加解密器包括信息提取模塊(1),AES模塊(2)和Ghash模塊(5);信息提取模塊(1)用于從輸入數(shù)據(jù)中提取安全協(xié)議密鑰、安全通道標識、數(shù)據(jù)包號、目的地址和源地址,并根據(jù)不同的工作模式轉(zhuǎn)換成對應(yīng)的初始密鑰K、初始向量IV、附加信息A和明文P/密文C,并將數(shù)據(jù)傳輸給AES模塊(2);AES模塊(2)完成數(shù)據(jù)加/解密,并輸出密文/明文;Ghash模塊(5)根據(jù)附加信息A和密文C,通過Ghash函數(shù)產(chǎn)生鑒別標識T。
2.根據(jù)權(quán)利要求1所述的一種基于IEEE802.IAE協(xié)議的GCM高速加解密器,其特征在 于Ghash模塊(5)采用并行乘加器,同時處理多組數(shù)據(jù),不需要預(yù)先確定等待處理的分組 數(shù)據(jù)總數(shù);Ghash函數(shù)輸入(pq+n)組數(shù)據(jù)時,輸出Xpq+n的表達式,即適用于IEEE802. IAE 協(xié)議的新型q度并行乘加器表達式如下Xpq+n = (L (((A1H"十 A2H"-1 十L 十 AqH)十Aq+,)W Aq+2W~l AlqH)@ LAp-^h" Ap-^Hq-1 ④L Θ ApqH) θ Apq^H-1 @L Apq^H其中P,q,η為正整數(shù),1彡η彡q。
3.根據(jù)權(quán)利要求1所述的一種基于IEEE802.IAE協(xié)議的GCM高速加解密器,其特征在 于所述AES模塊⑵包含密鑰擴展模塊⑶和AES加/解密模塊⑷;其中,AES加/解密 模塊(4)采用全流水線結(jié)構(gòu),將該過程的內(nèi)部循環(huán)全部展開,在每輪循環(huán)間插入一級流水 線,共有10級輪間流水線,同時每級流水線內(nèi)部又采用6級子流水線結(jié)構(gòu),總計包含60級 流水線;密鑰擴展模塊(3)為循環(huán)展開結(jié)構(gòu)。
全文摘要
本發(fā)明公開了一種基于IEEE802.1AE協(xié)議的GCM高速加解密器,包括信息提取模塊,AES模塊和Ghash模塊;信息提取模塊用于從輸入數(shù)據(jù)中提取安全協(xié)議密鑰、安全通道標識、數(shù)據(jù)包號、目的地址和源地址,并根據(jù)不同的工作模式轉(zhuǎn)換成對應(yīng)的初始密鑰K、初始向量IV、附加信息A和明文P/密文C,并將數(shù)據(jù)傳輸給AES模塊;AES模塊完成數(shù)據(jù)加/解密,并輸出密文/明文;Ghash模塊根據(jù)附加信息A和密文C,通過Ghash函數(shù)產(chǎn)生鑒別標識T。本發(fā)明可以同時處理多組數(shù)據(jù),而不需要預(yù)先確定等待處理的分組數(shù)據(jù)總數(shù)。本發(fā)明數(shù)據(jù)處理速度快、硬件復(fù)雜度低。
文檔編號H04L29/06GK101827107SQ20101016851
公開日2010年9月8日 申請日期2010年5月11日 優(yōu)先權(quán)日2010年5月11日
發(fā)明者何書專, 吳志剛, 張川, 李麗, 李偉, 林軍, 沙金, 潘紅兵, 許俊, 趙晶晶 申請人:南京大學(xué)