AES加密算法的高速低功耗ASIC設計
摘 要:本文提出了一個(gè)AES加密算法的高速低功耗ASIC設計方案,使用Synopsys設計流程和VeriSilicON 0.18μm CMOS工藝,實(shí)現了最高工作頻率410MHz,數據吞吐率5.23Gbps,功耗為58 mW。采用改進(jìn)算法(T盒算法),將輪變換操作中的不同步驟合并為一組表的查詢(xún),有效降低了關(guān)鍵時(shí)序路徑的傳輸延遲,并通過(guò)動(dòng)態(tài)功耗管理和門(mén)控時(shí)鐘等低功耗設計方法有效地降低了功耗。
本文引用地址:http://dyxdggzs.com/article/189858.htm關(guān)鍵詞:AES;ASIC;T盒;功耗管理;時(shí)鐘門(mén)控
1 引言
從1976年美國數據加密標準算法(DES)公布以來(lái),到20世紀末,DES算法或其某些變形基本上主宰了對稱(chēng)算法的研究與開(kāi)發(fā)進(jìn)程。隨著(zhù)密碼分析水平、芯片處理能力和計算技術(shù)的不斷進(jìn)步,DES的安全強度已經(jīng)難以適應新的安全需要,其實(shí)現速度、代碼大小和跨平臺性均難以繼續滿(mǎn)足性的應用需求。因此,AES(高級加密標準)應運而生。作為DES的繼承者,AES自從被接納為標準之日起就已經(jīng)被工業(yè)界、銀行業(yè)和行政部門(mén)作為事實(shí)上的密碼標準。在網(wǎng)絡(luò )通信和某些工業(yè)控制應用場(chǎng)合,對加密速度的需求成為對AES算法的最關(guān)鍵要求,同時(shí)功耗成為日漸突出的問(wèn)題,必須進(jìn)行低功耗設計。
2 AES加密算法簡(jiǎn)介
AES是一個(gè)密鑰迭代分組密碼,對加密來(lái)說(shuō),輸入是一個(gè)明文分組和一個(gè)密鑰,輸出是一個(gè)密文分組。它將分組長(cháng)度固定為128比特,而且僅支持128、196或256比特的密鑰長(cháng)度,本文僅對密鑰長(cháng)度為128比特的情況進(jìn)行討論。
加密過(guò)程包括一個(gè)初始密鑰加法,記作AddRoundKey,接著(zhù)進(jìn)行9次輪變換(Round),最后再使用一個(gè)輪變換(FinalRound)。輪變換由SubBytes、ShiftRows、MixColumns 和AddRoundKey 共4個(gè)步驟構成。輪變換及其每一步均作用在中間結果上,將該中間結果稱(chēng)為狀態(tài),可以形象地表示為一個(gè)4*4字節的矩陣。
3 AES的改進(jìn)算法(T盒算法)
假設加密過(guò)程中輪變化的輸入為a,輸出為d,則:

上式中SRD(S盒)由有限域GF(28)中的乘法逆變換和GF(2)中的仿射變換復合而成,符號

代表有限域GF(28)中的加法運算,符號 代表有限域GF(28)中的乘法運算。
這樣我們可以定義4個(gè)表:T0,T1,T2以及T3:

則d簡(jiǎn)化為:

該實(shí)現方案中T0~T3,每個(gè)表都包含了256個(gè)雙字,一共占用4KByte的空間。在每次循環(huán)迭代中,只要通過(guò)4次表查詢(xún)和4次異或運算,就能快速地得到一次輪操作中一列的運算結果。改進(jìn)算法有效降低了關(guān)鍵時(shí)序路徑的傳輸延遲,能夠明顯的提高ASIC工作頻率。
評論