日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

引言

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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)對(duì)比

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

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


圖3 拆分輪運(yùn)算的流水線時(shí)空?qǐng)D

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

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

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

仿真實(shí)驗(yàn)和結(jié)果

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


圖4 加密過程時(shí)序

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

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

上海概倫電子股份有限公司是一家具備國(guó)際市場(chǎng)競(jìng)爭(zhēng)力的EDA企業(yè),擁有領(lǐng)先的EDA關(guān)鍵核心技術(shù),致力于提高集成電路行業(yè)的整體技術(shù)水平和市場(chǎng)價(jià)值,提供專業(yè)高效的EDA流程和工具支撐。公司通過EDA方法學(xué)創(chuàng)新,推動(dòng)集成電路設(shè)計(jì)和...

關(guān)鍵字: EDA 集成電路 芯片設(shè)計(jì)

據(jù)業(yè)內(nèi)消息,因?yàn)槿蛳M(fèi)電子市場(chǎng)的低迷,老牌IDM公司Intel將陸續(xù)從本月開始進(jìn)行較大規(guī)模裁員。Intel公司CEO帕特·基爾辛格自從上任以來不斷試圖調(diào)整公司策略以保證提高利潤(rùn)和產(chǎn)業(yè)規(guī)劃,信息表示Intel將對(duì)芯片設(shè)計(jì)...

關(guān)鍵字: IDM Intel 晶圓代工 芯片設(shè)計(jì)

最近為什么越來越多的研究開始利用FPGA作為CNN加速器?FPGA與CNN的相遇究竟能帶來什么神奇效果呢?原來,F(xiàn)PGA擁有大量的可編程邏輯資源,相對(duì)于GPU,它的可重構(gòu)性以及高功耗能效比的優(yōu)點(diǎn),是GPU無法比擬的;同時(shí)...

關(guān)鍵字: FPGA 可編程邏輯資源 GPU

FPGA的應(yīng)用領(lǐng)域包羅萬象,我們今天來看看在音樂科技領(lǐng)域及醫(yī)療照護(hù)的智能巧思。

關(guān)鍵字: FPGA 科技領(lǐng)域 智能

強(qiáng)大的產(chǎn)品可降低信號(hào)噪音并提高分辨率與動(dòng)態(tài)

關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA

最近某項(xiàng)目采用以太網(wǎng)通信,實(shí)踐起來有些奇怪,好像設(shè)計(jì)成只能應(yīng)答某類計(jì)算機(jī)的ICMP(ping)命令, 某類計(jì)算機(jī)指的是Windows特定系統(tǒng),其他系統(tǒng)發(fā)送ping都不能正確識(shí)別。

關(guān)鍵字: 嵌入式Linux FPGA 協(xié)議

近兩年,國(guó)外廠商的FPGA芯片價(jià)格飆升,由于價(jià)格,貨期,出口管制等多方面因素的影響,很多公司都在尋找FPGA國(guó)產(chǎn)化替代方案。我工作中正在使用的幾款芯片也面臨停產(chǎn)的風(fēng)險(xiǎn),用一片少一片,了解到國(guó)產(chǎn)FPGA發(fā)展的也不錯(cuò),完全自...

關(guān)鍵字: FPGA 芯片 EDA

本篇是FPGA之旅設(shè)計(jì)的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對(duì)溫濕度傳感器DHT11進(jìn)行采集,而且兩者的數(shù)據(jù)采集過程類似,所以可以參考一下前面的...

關(guān)鍵字: FPGA DS18B20溫度傳感器

這是FPGA之旅設(shè)計(jì)的第十三例啦,本例是一個(gè)綜合性的例程,基于OLED屏幕顯示,和DHT11溫濕度采集,將DHT11采集到的溫濕度顯示到OLED屏幕上。

關(guān)鍵字: FPGA OLED屏幕

第八例啦,本例將介紹如何通過FPGA采集DS18B20傳感器的溫度值。

關(guān)鍵字: FPGA DS18B20傳感器

電子設(shè)計(jì)自動(dòng)化

21319 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉