當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]引言密碼模塊作為安全保密系統(tǒng)的重要組成部分,其核心任務(wù)就是加密數(shù)據(jù)。分組密碼算法AES以其高效率、低開銷、實現(xiàn)簡單等特點目前被廣泛應(yīng)用于密碼模塊的研制中。密碼模塊一般被設(shè)計成外接在主機串口或并口的一個硬件

引言

密碼模塊作為安全保密系統(tǒng)的重要組成部分,其核心任務(wù)就是加密數(shù)據(jù)。分組密碼算法AES以其高效率、低開銷、實現(xiàn)簡單等特點目前被廣泛應(yīng)用于密碼模塊的研制中。密碼模塊一般被設(shè)計成外接在主機串口或并口的一個硬件設(shè)備或是一塊插卡,具有速度快,低時延的特點。而從整體發(fā)展趨勢來看,嵌入式密碼模塊由于靈活,適用于多種用戶終端、通信設(shè)備和武器平臺,將會得到更加廣泛的應(yīng)用?;?strong>FPGA實現(xiàn)的嵌入式密碼模塊與以往的主流硬件實現(xiàn)方式(如DSP芯片、單片機)相比,具有低成本、高速度、微功耗、微小封裝以及保密性強等優(yōu)點,與ASIC相比具有設(shè)計靈活、成本低、周期短等優(yōu)點。另一個明顯的優(yōu)點在于:在對時間代價和空間代價的取舍上,基于FPGA實現(xiàn)的加密技術(shù)提供了多種實現(xiàn)方案,分別對時間代價和空間代價有不同的偏重,有利于在各種應(yīng)用環(huán)境中進行優(yōu)化。硬件實現(xiàn)無論是ASIC方案還是FPGA方案,數(shù)據(jù)處理速度的提高都離不開優(yōu)化技術(shù),包括算法輪函數(shù)和設(shè)計結(jié)構(gòu)的優(yōu)化。AES算法的快速實現(xiàn)方案包括:優(yōu)化 S盒的結(jié)構(gòu)(如使用復(fù)合域、查表等方法),列混合與密鑰加的結(jié)合,以及采用流水線技術(shù)等。表1為幾種典型的AES算法實現(xiàn)性能對比情況。

AES算法結(jié)構(gòu)

AES是一個迭代型的分組密碼,包含了輪變換對狀態(tài)的重復(fù)作用。用State表示待加密狀態(tài),CipherKey表示初始加密密鑰,ExpandedKey表示擴展密鑰,其加密過程描述如下:

Round(State,ExpandedKey) --輪變換
{
SubByte(State); --字節(jié)代替

表1幾種典型的AES算法實現(xiàn)性能對比

ShiftRow(State); --行移位
MixColumn(State); --列混合
AddRoundKey(State,ExpandedKey[i]); --密鑰加
}
AES(State,CipherKey)--主函數(shù)
{
KeyExpansion(CipherKey,ExpandedKey); --密鑰擴展
AddRoundKey(State,ExpandedKey[0]); --模加輪密鑰
For(i=1;i FinalRound(State,ExpandedKey[Nr]); --末輪運算
}

在AES的單輪運算中包含了SubByte(字節(jié)代替)、ShiftRow(行移位)、MixColumn(列混合)、AddRoundKey(密鑰加)四個步驟。圖1所示為單輪運算的加/脫密結(jié)構(gòu)。


圖1 單輪運算的加/脫密結(jié)構(gòu)

AES算法芯片IP核的完整結(jié)構(gòu)包括:接口模塊,密鑰擴展模塊,控制模塊,加/脫密模塊。各模塊之間的統(tǒng)一調(diào)度、協(xié)調(diào)配合是芯片性能的保證。然而制約芯片吞吐率的瓶頸是加/脫密模塊的實現(xiàn)。本文在第三部分著重分析了加/脫密模塊實現(xiàn)方案。[!--empirenews.page--]

加/脫密模塊實現(xiàn)方案

對于分組密碼芯片加/脫密模塊的實現(xiàn),有迭代結(jié)構(gòu)、輪展開結(jié)構(gòu)和并行流水線結(jié)構(gòu)等方法。迭代結(jié)構(gòu)需要n(n為加/脫密輪數(shù))個時鐘周期完成一個分組的加/ 脫密操作。這種結(jié)構(gòu)占用面積最小,速度較慢。而輪展開結(jié)構(gòu)能夠有效提高加/脫密速率,卻需要大量占用存儲單元和布線資源,因而面積最大。在設(shè)計芯片時,我們需要采用一種速度和面積的有效折衷方案,使得在滿足速率要求的前提下盡可能減少資源占用。并行流水線結(jié)構(gòu)就是這樣一種方案。

流水線技術(shù)其實質(zhì)就是在適當(dāng)?shù)牡胤郊尤爰拇嫫?,將前面的運算結(jié)果或輸入數(shù)據(jù)暫存,并在下一個時鐘到來時將寄存值作為后一級運算的輸入。

流水線處理如同生產(chǎn)裝配線那樣,將操作執(zhí)行工作量分成若干個時間上均衡的操作段,從流水線的起點連續(xù)地輸入,流水線的各操作段以重疊方式執(zhí)行。這使得操作執(zhí)行速度只與流水線輸入的速度有關(guān),而與處理所需的時間無關(guān)。AES分組密碼在非反饋模式下,后續(xù)塊的加密與前塊的加密結(jié)果無關(guān),即所有塊的加密可并發(fā)執(zhí)行,因而采用流水結(jié)構(gòu)能顯著提高性能。

流水線的引入可以采用輪內(nèi)流水線結(jié)構(gòu)或者輪間流水線結(jié)構(gòu)來實現(xiàn)。輪內(nèi)流水線結(jié)構(gòu)把在一個時鐘周期內(nèi)欲完成的運算劃分為若干子運算(模加運算、查表和各級移位相加運算),采用寄存輸出模式,這種方式既可縮短延時路徑,提高時鐘頻率,又可使各子運算同時進行。這樣一來雖然速度有可能提高,但是增加了控制的復(fù)雜度同時占用大量的存儲單元,這對于FPGA實現(xiàn)來說將是很大的負(fù)擔(dān),所以本設(shè)計采用輪間流水線結(jié)構(gòu)來實現(xiàn)。圖2為輪內(nèi)流水線結(jié)構(gòu)和輪間流水線結(jié)構(gòu)對比。以 10輪運算為例,可以按輪數(shù)(3、3、3、1)拆分為4個流水段,即:第1-3輪為第1段,第4-6輪為第2段,第7-9輪為第3段,第10輪為第4段。為了使各流水段的時間片均衡,在第4段內(nèi)部需要加入鎖存器使輸出與前3段匹配。用VHDL語言描述實現(xiàn)這個流水線式電路的代碼如下:

Proc1:process(Data_in)begin
A<=Round1(Data_in);
Endprocess;
R1:processbegin
waituntilCLK'EventandCLK=‘1’;
A_REG<=A;
Endprocess;
Proc2:process(A_REG)begin
B<=Round2(A_REG);
Endprocess;
R2:processbegin
waituntilCLK'EventandCLK=‘1’;
B_REG<=B;
Endprocess;
Proc3:process(B_REG)begin
C<=Round3(B_REG);
Endprocess;
R3:processbegin
waituntilCLK'EventandCLK=‘1’;
C_REG<=C;
Endprocess;
Proc4:process(C_REG)begin
D<=FinalRound(C_REG);
Data_out<=D;
Endprocess;

圖2 輪內(nèi)流水線結(jié)構(gòu)和輪間流水線結(jié)構(gòu)對比[!--empirenews.page--]

其中Round1-Round3、FinalRound是由組合邏輯完成的操作,都能夠在一個時鐘周期內(nèi)執(zhí)行完成。這種風(fēng)格的代碼在生成流水線電路時,還需要控制指令的配合。

圖3是拆分輪運算的流水線時空圖。圖中數(shù)字表示數(shù)據(jù)分組的序號,整個流水線操作由啟動、發(fā)起、流水線核、收尾和結(jié)束5部分組成,當(dāng)進入流水線核時的效率是最高的。


圖3 拆分輪運算的流水線時空圖

 用加速比(Speedup)可以衡量采用流水結(jié)構(gòu)之后加密過程相對于非流水結(jié)構(gòu)速度的提高。計算流水線加速比的基本公式為。

設(shè)加密N個分組,10輪運算每輪的運算時間為!,則

當(dāng)N的取值無限增大時,這個比值將接近于3.33…。因而使用流水結(jié)構(gòu)數(shù)據(jù)處理速度比非流水結(jié)構(gòu)提高到3倍多。

仿真實驗和結(jié)果

圖4為加密過程時序。針對128bit明文分組和128bit初始密鑰的AES算法,在QuartusII軟件下,采用中間相遇的設(shè)計方法將頂層模塊化圖形設(shè)計與底層VHDL語言描述相結(jié)合實現(xiàn)。實驗時選用APEX20KE系列的EP20K1500EFC33-3為目標(biāo)芯片進行仿真和功能驗證。密鑰裝載完畢之后每加密輸出一個分組需3個時鐘周期,吞吐率為689.500Mbits/s。使用了3056個LUTs,81626個Memorybits,可以滿足SDH標(biāo)準(zhǔn)速率STM-4規(guī)定的622.080Mbits/s的要求。


圖4 加密過程時序

 結(jié)合FPGA的結(jié)構(gòu)特點,本設(shè)計實現(xiàn)的IP核具有如下特點:接口設(shè)計靈活,外部接口的設(shè)計和定義可以根據(jù)不同加密芯片的接口設(shè)計要求現(xiàn)場改動。資源占用小,脫密電路采用與加密電路部分復(fù)用的結(jié)構(gòu)實現(xiàn),從而節(jié)省了資源。設(shè)計支持重用,在算法實現(xiàn)頂層設(shè)計時采用了模塊化設(shè)計方法,結(jié)構(gòu)清晰,可以根據(jù)不同的功能需求進行改動,利于設(shè)計重用

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉