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