• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      SM4算法的FPGA優(yōu)化實(shí)現(xiàn)方法

      2021-07-01 14:27:02何詩洋李鳳華
      關(guān)鍵詞:流水線寄存器密鑰

      何詩洋,李 暉,李鳳華,3

      (1.西安電子科技大學(xué) 大數(shù)據(jù)安全教育部工程研究中心,陜西 西安 710071;2.西安電子科技大學(xué) 網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710126;3.中國科學(xué)院 信息工程研究所,北京 100093)

      隨著人類社會(huì)的高速發(fā)展,信息交互和數(shù)據(jù)生成總量呈井噴式增長;由此所帶來的隱私泄漏、消息竊聽和內(nèi)容篡改等問題層出不窮,這些問題已經(jīng)嚴(yán)重影響到社會(huì)公共秩序,甚至威脅國家安全。因此,信息安全已經(jīng)成為人們關(guān)注的焦點(diǎn)。

      數(shù)據(jù)加密是保證信息安全的重要手段之一,當(dāng)前,主流加密算法主要分為對稱密碼算法和非對稱密碼算法。與非對稱密碼算法相比,對稱密碼算法具有簡潔高效、部署容易、加/解密速度快等優(yōu)勢,被廣泛應(yīng)用于數(shù)據(jù)加密場景中。

      在對稱密碼算法中,數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)是目前全世界使用最為廣泛的對稱密碼算法,它于1977年被正式批準(zhǔn)作為美國聯(lián)邦信息處理標(biāo)準(zhǔn),隨后該密碼算法被廣泛應(yīng)用于軍事、政治、商業(yè)等各個(gè)領(lǐng)域中。由于DES對稱密碼算法的密鑰長度較短(僅為56 bit),隨著人類計(jì)算能力的不斷增強(qiáng),該算法的安全性受到了極大威脅,美國國家保密局(National Security Agency,NSA)宣布,1998年后不再批準(zhǔn)DES為聯(lián)邦標(biāo)準(zhǔn)。2001年,美國批準(zhǔn)使用新的對稱加密算法高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)替代DES,相較于DES,AES具有更長的密鑰長度(128/192/256 bit)和更快的加/解密速度[1-2]。

      2006年1月,在國家密碼管理局發(fā)布無線局域網(wǎng)產(chǎn)品密碼事宜公告中,SMS4密碼算法成為中國首個(gè)被批準(zhǔn)應(yīng)用于無線局域網(wǎng)產(chǎn)品的對稱密碼算法[3]。2012年3月,在《祖沖之序列密碼算法》等6項(xiàng)密碼行業(yè)標(biāo)準(zhǔn)公告中,國家密碼局批準(zhǔn)《SM4分組密碼算法》(原《SMS4分組密碼算法》)為行業(yè)標(biāo)準(zhǔn)[4]。

      與其他對稱密碼算法相比,SM4密碼算法具有以下主要優(yōu)勢:① 安全性強(qiáng)。常用的對稱密碼算法(如DES)核心模塊(S盒)的設(shè)計(jì)準(zhǔn)則到目前還沒有完全公開,是否留有陷門還無法得到證實(shí)[1],而SM4密碼算法是由中國密碼學(xué)家呂述望等[5]設(shè)計(jì)完成并獲國家密碼管理局批準(zhǔn)的密碼算法,與其他對稱密碼算法相比,安全性能夠得到保障;② 效率高。在算法結(jié)構(gòu)方面,輪密鑰生成算法和加密算法結(jié)構(gòu)相似;在算法加/解密流程方面,加/解密運(yùn)算方法一致,只是輪密鑰使用順序相反;在算法計(jì)算方面,只包含異或、位移、置換等簡單運(yùn)算;③ 易于硬件實(shí)現(xiàn)。SM4的算法結(jié)構(gòu)能夠與FPGA器件的并行性、靈活性等特點(diǎn)充分結(jié)合,既能夠采用循環(huán)型架構(gòu)在資源受限的硬件設(shè)備中高效實(shí)現(xiàn),又能夠采用流水線型架構(gòu)在資源豐富的硬件設(shè)備中高速實(shí)現(xiàn)。

      現(xiàn)場可編程邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA)是一種可編程半定制電路,它比專用集成電路(Application Specific Integrated Circuit,ASIC)更加靈活,主要由可編程邏輯功能塊、可編程輸入/輸出塊、可編程內(nèi)部互聯(lián)資源等組成。FPGA具有可重復(fù)編程、靈活性、并行性、低功耗等眾多優(yōu)良特性,并被廣泛應(yīng)用于密碼算法實(shí)現(xiàn)、圖像處理、信號(hào)處理等眾多領(lǐng)域。

      SM4密碼算法不僅易于硬件實(shí)現(xiàn),而且能夠充分利用硬件的特有優(yōu)勢提升效率或提高性能。在硬件實(shí)現(xiàn)SM4密碼算法中,有很多學(xué)者進(jìn)行了詳細(xì)的研究和分析。具體實(shí)現(xiàn)架構(gòu)主要分為兩類:① 基于循環(huán)的電路架構(gòu),需要約32個(gè)時(shí)鐘循環(huán)完成一次加/解密。該方案能夠最大程度地節(jié)省硬件資源,適合部署在資源受限的設(shè)備上;② 基于流水線的電路架構(gòu),在電子密碼本模式(Electronic Code Book mode,ECB)下,僅需1個(gè)時(shí)鐘循環(huán)即可完成一次加解/密。它的優(yōu)勢是吞吐量大,能夠達(dá)到20 Gb/s以上,但是資源消耗巨大,適合部署在資源豐富的設(shè)備上。

      GAO等[6]提出SM4密碼算法硬件實(shí)現(xiàn)的循環(huán)型(rolling)和非循環(huán)型(unrolling)架構(gòu)。在整體架構(gòu)中,加/解密使用同一套電路實(shí)現(xiàn),輪密鑰生成后存儲(chǔ)在寄存器中隨時(shí)取用,避免重復(fù)計(jì)算,在Straitx II FPGA平臺(tái)上實(shí)現(xiàn),循環(huán)型架構(gòu)吞吐量可達(dá)約0.54 Gb/s,資源消耗為1 552個(gè)自適應(yīng)邏輯模塊(Adaptive Logic Module,ALM),非循環(huán)型架構(gòu)吞吐量可達(dá)20.74 Gb/s,資源消耗為8 373個(gè)ALM。JIN等[7]提出折疊(folded)型和流水線(pipelined)型SM4硬件實(shí)現(xiàn)架構(gòu),在Virtex-4 FPGA平臺(tái)上實(shí)現(xiàn)。折疊型硬件架構(gòu)每36個(gè)時(shí)鐘循環(huán)完成一次分組加密,其中4個(gè)時(shí)鐘循環(huán)用于緩存,32個(gè)時(shí)鐘循環(huán)用于計(jì)算,共消耗380個(gè)邏輯單元(SLICE)和4個(gè)塊隨機(jī)存取存儲(chǔ)器(Block Random Access Memory,BRAM),加密吞吐量達(dá)0.74 Gb/s,流水線型硬件架構(gòu)消耗9 500個(gè)SLICE,吞吐量可達(dá)24.32 Gb/s。隨后,YAN等[8]基于超大規(guī)模集成電路(Very Large Scale Integration,VLSI)平臺(tái)設(shè)計(jì)實(shí)現(xiàn)SM4算法折疊型硬件架構(gòu),在0.13 μm CMOS技術(shù)下消耗22 000個(gè)門電路,加密吞吐量能夠達(dá)到800 Mb/s。在前人的工作基礎(chǔ)之上,GUAN等[9]考慮在性能和資源方面進(jìn)行權(quán)衡,提出了包括Resource-first、Balance-4、Balance-8、Balance-16、Speed-first等5種實(shí)現(xiàn)架構(gòu)方案,并針對不同架構(gòu)進(jìn)行了設(shè)計(jì)優(yōu)化。其中Resource-first架構(gòu)采用Moore型狀態(tài)機(jī)控制整個(gè)迭代加/解密計(jì)算,密鑰生成和加密操作同時(shí)進(jìn)行;Speed-first架構(gòu)采用32輪流水線迭代,在每層迭代電路間插入32 bit的寄存器保證流水線結(jié)構(gòu)。在Straitx IV FPGA平臺(tái)上實(shí)現(xiàn),Resource-first架構(gòu)消耗687個(gè)查找表(Look Up Table,LUT)和448個(gè)觸發(fā)器(Flip Flop,F(xiàn)F),每33個(gè)時(shí)鐘循環(huán)完成一次加/解密,吞吐量可約達(dá)0.82 Gb/s,Speed-first架構(gòu)消耗7 667個(gè)LUT和5 438個(gè)FF,每1個(gè)時(shí)鐘循環(huán)完成一次加/解密,吞吐量可約達(dá)27.153 Gb/s。ZHAO等[10]考慮采用軟硬件結(jié)合的方式實(shí)現(xiàn)SM4密碼算法,輪密鑰生成與加密計(jì)算分開進(jìn)行,使用主機(jī)完成32個(gè)輪密鑰的計(jì)算,使用FPGA完成加密操作。在加密模塊中,作者創(chuàng)新性的提出雙層蝶形架構(gòu),將32輪迭代循環(huán)從32個(gè)時(shí)鐘循環(huán)消耗壓縮為16個(gè)時(shí)鐘循環(huán)消耗,大幅度提升加密效率,作者在Kintex UltraScale平臺(tái)上實(shí)現(xiàn)該架構(gòu),共消耗1 365個(gè)LUT和1 351個(gè)FF,吞吐量可達(dá)1.9 Gb/s。

      SM4密碼算法作為國家密碼局批準(zhǔn)的對稱密碼算法具有安全性強(qiáng)、效率高和易于硬件實(shí)現(xiàn)等特點(diǎn),在數(shù)據(jù)加密方面受到了廣泛的關(guān)注。但是在面對不同應(yīng)用場景下,SM4算法的高效實(shí)現(xiàn)和部署還有進(jìn)一步提升和優(yōu)化的空間。文中面向資源節(jié)約型優(yōu)化、資源平衡型優(yōu)化和加密性能型優(yōu)化等3個(gè)方面,提出并設(shè)計(jì)了1種循環(huán)型硬件架構(gòu)和3種流水線型硬件架構(gòu)。在循環(huán)型架構(gòu)設(shè)計(jì)方面,硬件架構(gòu)中輪密鑰生成模塊和加密模塊并行執(zhí)行,既提升了加密效率,同時(shí)又將新鮮的輪密鑰直接用于加密,無需設(shè)計(jì)額外寄存器存儲(chǔ)輪密鑰,能夠節(jié)省大量寄存器消耗;與當(dāng)前先進(jìn)的硬件架構(gòu)相比,性能提升,且資源消耗下降明顯。該架構(gòu)拓寬了在資源受限場景下(如移動(dòng)終端設(shè)備、物聯(lián)網(wǎng)設(shè)備等)SM4算法的部署和應(yīng)用。在流水線型架構(gòu)方面,文中提出基于LUT、BRAM、BRAM+REGISTER等3種架構(gòu),在BRAM流水線型架構(gòu)中,文中以消耗33個(gè)BRAM的代價(jià),將LUT的消耗量降低為原來的約30%,進(jìn)一步平衡了硬件資源使用,提高了資源利用率,使SM4算法能夠部署在更多硬件平臺(tái)上,進(jìn)一步拓寬了SM4算法部署的廣泛性。在BRAM+REGISTER流水線型架構(gòu)中,進(jìn)一步優(yōu)化關(guān)鍵路徑,提高運(yùn)行頻率,使加密吞吐量達(dá)到42.10 Gb/s,解決了在加密性能要求較高的場景(如云服務(wù)器、大數(shù)據(jù)加密等)下,SM4算法的高效應(yīng)用和部署問題。

      1 SM4密碼算法原理

      SM4算法是一個(gè)分組加密算法,消息分組和密鑰長度均為128 bit,主要包括密鑰擴(kuò)展算法、加密算法和解密算法。算法采用32輪非線性迭代結(jié)構(gòu),加密和解密算法結(jié)構(gòu)相同,只是輪密鑰使用順序相反。

      1.1 SM4中的主要參數(shù)和術(shù)語

      文中所用的符號(hào)說明見表1。

      表1 符號(hào)說明

      (1) 輪函數(shù)F。

      輸出:F(X0,X1,X2,X3,rk)=X0⊕T(X1⊕X2⊕X3⊕rk)。

      (2) 非線性變換τ。

      輸出:τ(A)=(Sbox(a0),Sbox(a1),Sbox(a2),Sbox(a3))。

      (3) 線性變換L。

      輸出:L(B)=B⊕(B<<<2)⊕(B<<<10)⊕(B<<<18)⊕(B<<<24)。

      (4)線性變換L′。

      輸出:L′(B)=B⊕(B<<<13)⊕(B<<<23)。

      圖1所示為S盒的結(jié)構(gòu)圖。

      圖1 S盒結(jié)構(gòu)

      1.2 SM4中的主要算法

      (1) 加/解密算法。

      ①Xi+4=F(Xi,Xi+1,Xi+2,Xi+3,rki)=Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕rki),i=0,1,…,31,連續(xù)迭代32輪。

      ② (Y0,Y1,Y2,Y3)=R(X32,X33,X34,X35)=(X35,X34,X33,X32),將迭代結(jié)果順序進(jìn)行翻轉(zhuǎn),得到加密密文。

      解密算法與加密算法過程相同,輪密鑰的使用順序相反,為(rk31,rk30,…,rk0)。

      (2) 密鑰擴(kuò)展算法。

      輸出:輪密鑰rki,i=0,1,…,31。

      ① (K0,K1,K2,K3)=(MK0⊕FK0,MK1⊕FK1,MK2⊕FK2,MK3⊕FK3)。

      ②rki=Ki+4=Ki⊕T′(Ki+1⊕Ki+2⊕Ki+3⊕CKi),進(jìn)行32輪迭代運(yùn)算,得出32個(gè)輪密鑰。

      2 SM4密碼算法的硬件實(shí)現(xiàn)

      針對SM4密碼算法的硬件設(shè)計(jì),分為循環(huán)架構(gòu)和流水線架構(gòu)兩種。循環(huán)架構(gòu)面向資源節(jié)約優(yōu)化,使SM4密碼算法能夠輕易部署在資源受限的硬件設(shè)備上;流水線架構(gòu)面向加密性能優(yōu)化,分別采用基于LUT、BRAM、BRAM+REGISTER的架構(gòu)設(shè)計(jì),使SM4密碼算法能夠部署在對吞吐量要求較高的場景中。

      2.1 面向資源節(jié)約優(yōu)化的循環(huán)硬件架構(gòu)

      循環(huán)硬件架構(gòu)主要由控制模塊、輪密鑰生成模塊、加密模塊等3個(gè)模塊組成。整體架構(gòu)如圖2所示。該設(shè)計(jì)架構(gòu)在控制模塊的協(xié)調(diào)下,輪密鑰生成模塊與加密模塊并行執(zhí)行,能夠帶來多種優(yōu)勢。首先,輪密鑰生成模塊產(chǎn)生的新鮮輪密鑰直接傳遞給加密模塊進(jìn)行迭代計(jì)算,不需要使用額外的寄存器來存儲(chǔ)輪密鑰,大約能夠節(jié)省32×32=1 024個(gè)FF;其次,兩個(gè)模塊并行執(zhí)行,當(dāng)密鑰更新時(shí),輪密鑰生成模塊可以實(shí)時(shí)計(jì)算最新的輪密鑰,加密模塊無需等待,整個(gè)加密過程能夠連續(xù)進(jìn)行;最后,輪密鑰生成模塊和加密模塊在整個(gè)分組數(shù)據(jù)加密過程中所需要的時(shí)鐘循環(huán)為常數(shù),能夠有效抵抗側(cè)信道攻擊。該設(shè)計(jì)架構(gòu)完成1次分組數(shù)據(jù)加密需要輪密鑰生成模塊和加密模塊循環(huán)執(zhí)行32次,加密模塊比密鑰生成模塊晚啟動(dòng)1個(gè)時(shí)鐘循環(huán),完成1組數(shù)據(jù)加密共需32個(gè)時(shí)鐘循環(huán)。

      圖2 循環(huán)型架構(gòu)

      控制模塊主要由計(jì)數(shù)器和Moore型狀態(tài)機(jī)構(gòu)成,負(fù)責(zé)根據(jù)輸入密鑰、待加密數(shù)據(jù)和控制信號(hào)等,生成round_rk和round_enc信號(hào)控制輪密鑰生成模塊和加密模塊,進(jìn)行32輪迭代加密計(jì)算。

      輪密鑰生成模塊主要由S盒模塊、CK參數(shù)模塊、多路選擇器、異或電路和寄存器等構(gòu)成。架構(gòu)如圖3所示,其中S盒使用4個(gè)并行的LUT組合邏輯實(shí)現(xiàn),能夠進(jìn)一步簡化電路,減少資源消耗;CK參數(shù)模塊同樣采用LUT組合邏輯實(shí)現(xiàn)。在控制模塊round_rk信號(hào)控制調(diào)節(jié)下,輪密鑰生成模塊每個(gè)時(shí)鐘循環(huán)完成一次迭代運(yùn)算,生成當(dāng)前的輪密鑰rki,并傳遞給加密模塊,用于下一步加密計(jì)算。

      圖3 循環(huán)型輪密鑰生成模塊架構(gòu)

      加密模塊與輪密鑰生成模塊類似,主要由S盒模塊、多路選擇器、異或電路、寄存器等構(gòu)成。架構(gòu)如圖4所示,S盒使用4個(gè)并行的LUT組合邏輯實(shí)現(xiàn),能夠進(jìn)一步簡化電路,減少資源消耗。在輪密鑰生成模塊的輸出信號(hào)rki和控制模塊round_enc信號(hào)控制調(diào)節(jié)下,加密模塊每個(gè)時(shí)鐘循環(huán)完成一次迭代運(yùn)算,32輪迭代運(yùn)算后輸出密文。

      圖4 循環(huán)型加密模塊架構(gòu)

      2.2 面向性能優(yōu)化的流水線硬件架構(gòu)

      流水線硬件架構(gòu)主要由控制模塊、輪密鑰生成模塊和流水線加密模塊構(gòu)成。整體架構(gòu)如圖5所示。

      與循環(huán)硬件架構(gòu)不同,并行流水線硬件架構(gòu)面向性能優(yōu)化,主要體現(xiàn)在:① 增加了輪密鑰寄存器,輪密鑰生成模塊將32輪輪密鑰存儲(chǔ)在寄存器中,每個(gè)時(shí)鐘循環(huán)都可以向加密模塊輸入當(dāng)前輪密鑰,保證流水線加密不間斷;② 流水線加密模塊實(shí)例化32套迭代加密電路,每套迭代電路間插入寄存器以保證加密過程流水線運(yùn)行;③ 在S盒電路設(shè)計(jì)方面,文中采取3種方案。第1種是基于LUT的設(shè)計(jì)架構(gòu),第2種是基于BRAM的設(shè)計(jì)架構(gòu),第3種是基于BRAM+REGISTER的設(shè)計(jì)架構(gòu)。第2種設(shè)計(jì)架構(gòu)能夠在BRAM用量增加不多且性能相差不大的前提下,大幅度降低LUT資源的使用。第3種設(shè)計(jì)架構(gòu)采用帶有輸出寄存器的BRAM,同時(shí)對加密模塊進(jìn)行少許優(yōu)化,在增加部分寄存器和32個(gè)額外時(shí)鐘時(shí)延的代價(jià)下,能夠約減關(guān)鍵路徑,提高運(yùn)行頻率,進(jìn)一步提高性能。由于采用流水線架構(gòu),在等待32(64)個(gè)時(shí)鐘時(shí)延后,每個(gè)時(shí)鐘循環(huán)即可完成一次分組數(shù)據(jù)加密,加密速度快,吞吐量大。

      圖5 流水線型架構(gòu)

      控制模塊主要由計(jì)數(shù)器和Moore型狀態(tài)機(jī)構(gòu)成,負(fù)責(zé)根據(jù)輸入密鑰、待加密數(shù)據(jù)和控制信號(hào)等,生成round和valid信號(hào),控制輪密鑰生成模塊進(jìn)行32輪迭代加密計(jì)算并存入寄存器,間接控制流水線加密模塊啟動(dòng)數(shù)據(jù)加密。

      輪密鑰生成模塊和加密模塊整體架構(gòu)與循環(huán)型中兩模塊架構(gòu)類似,主要不同在于S盒的設(shè)計(jì)。文中采用3種設(shè)計(jì)方法并在論文后半部分進(jìn)行對比。第1種是基于LUT的設(shè)計(jì),該方案與循環(huán)型架構(gòu)中S盒的設(shè)計(jì)思路一致,均采用組合邏輯設(shè)計(jì);第2種是基于BRAM的設(shè)計(jì),該方案中,輪密鑰生成模塊和加密模塊整體架構(gòu)如圖6和圖7所示,通過引入雙口BRAM資源,在增加33個(gè)BRAM資源消耗的代價(jià)下,能夠直接減少32×4=128套S盒的LUT使用,進(jìn)一步平衡資源利用;第3種是基于BRAM+REGISTER的設(shè)計(jì),該方案總體架構(gòu)與第2種類似,不同之處在于選取帶有輸出寄存器的雙口BRAM,順勢將加密模塊外的寄存器巧妙地插入模塊中,不僅能夠確保流水線系統(tǒng)的正常運(yùn)行,而且可以進(jìn)一步縮短關(guān)鍵路徑,極大提高運(yùn)行頻率,但代價(jià)是增加部分寄存器消耗和增加32個(gè)時(shí)鐘時(shí)延。

      圖6 流水線型輪密鑰生成模塊架構(gòu)

      圖7 流水線型加密模塊架構(gòu)

      3 性能分析和比較

      針對SM4密碼算法設(shè)計(jì)和優(yōu)化了循環(huán)型、LUT流水線型、BRAM流水線型和BRAM+REGISTER流水線型等4種硬件架構(gòu)。并在XILINX KINTEX-7 XC7K325TFFG 900上實(shí)現(xiàn),設(shè)計(jì)電路經(jīng)過綜合布局布線后,資源消耗和性能詳見表2。

      方案中的循環(huán)型架構(gòu)設(shè)計(jì)主要采用1套輪密鑰生成電路、1套加密電路和控制電路構(gòu)成,整個(gè)架構(gòu)消耗193個(gè)SLICE,運(yùn)行頻率約為333 MHz,吞吐量能夠達(dá)到1.27 Gb/s,適用于對吞吐量要求不高且資源受限的場景。與先前學(xué)者提出的循環(huán)型方案相比(詳見表3),該架構(gòu)方案在資源消耗和吞吐量方面優(yōu)勢明顯。首先,文中方案加密模塊無需等待所有32個(gè)輪密鑰生成后再啟動(dòng),而是在輪密鑰生成模塊開始一個(gè)時(shí)鐘循環(huán)后即啟動(dòng)加密,兩個(gè)模塊幾乎并行執(zhí)行,極大地提升了運(yùn)行效率。與其他方案相比,吞吐量提升約54.9%;其次,文中方案中,輪密鑰生成模塊生成的當(dāng)前輪密鑰直接傳遞給加密模塊進(jìn)行加密。與其他方案相比,輪密鑰無需儲(chǔ)存,避免大量寄存器使用,能夠節(jié)省約40.2%的FF消耗;最后,文中方案中,輪密鑰生成和加密運(yùn)行時(shí)鐘循環(huán)消耗為常數(shù),能夠有效抵抗側(cè)信道攻擊。

      表2 資源消耗和性能表現(xiàn)

      表3 循環(huán)型架構(gòu)資源消耗和性能對比

      文中方案中的流水線型硬件架構(gòu)主要采用1套輪密鑰生成電路、32套加密電路和控制電路構(gòu)成。在S盒的設(shè)計(jì)方面,采用基于LUT的設(shè)計(jì)方法和基于BRAM的設(shè)計(jì)方法。LUT流水線型架構(gòu)共消耗7 466個(gè)LUT和5 158個(gè)FF,吞吐量為30.52 Gb/s。BRAM流水線型架構(gòu)共消耗2 261個(gè)LUT、4 945個(gè)FF和33個(gè)BRAM,吞吐量為27.74 Gb/s,與LUT流水線型架構(gòu)、GAO等[6]、JIN等[7]和GUAN等[9]架構(gòu)相比,BRAM流水線型架構(gòu)在吞吐量差別不大的前提下,以增加33個(gè)BRAM消耗為代價(jià),大幅度節(jié)約了LUT資源,如將LUT消耗降低為LUT流水線型架構(gòu)的約30%(減少5 205個(gè)LUT),平衡了硬件資源使用,提高了資源利用率。

      在BRAM流水線型架構(gòu)的基礎(chǔ)上,文中進(jìn)一步優(yōu)化電路結(jié)構(gòu),提出BRAM+REGISTER流水線型架構(gòu),采用帶有輸出寄存器的BRAM,并在流水線加密模塊架構(gòu)中插入寄存器以保證流水線結(jié)構(gòu)。與表4中其他方案相比,此方案極大地簡約了關(guān)鍵路徑,運(yùn)行頻率與原BRAM型流水線型架構(gòu)相比,提升約51.5%,加密吞吐量可達(dá)42.10 Gb/s。但是由于電路中插入部分寄存器,增加了2 791個(gè)FF的消耗和32個(gè)時(shí)鐘循環(huán)時(shí)延。

      表4 流水線型架構(gòu)資源消耗和性能對比

      4 結(jié)束語

      針對不同應(yīng)用場景,筆者提出4種SM4密碼算法硬件機(jī)構(gòu)設(shè)計(jì),包括面向資源優(yōu)化的循環(huán)型架構(gòu)和面向性能優(yōu)化的流水線型架構(gòu)。這4種硬件架構(gòu)均在XILINX KINTEX-7 XC7K325TFFG900上實(shí)現(xiàn)。在循環(huán)型架構(gòu)設(shè)計(jì)方面,文中方案輪密鑰生成模塊與加密模塊幾乎并行執(zhí)行,寄存器資源節(jié)約明顯;在流水線型架構(gòu)設(shè)計(jì)方面,文中方案采用基于LUT、BRAM、BRAM+REGISTER的設(shè)計(jì)方案,不論是在資源消耗、權(quán)衡資源使用、性能等方面,對比先前學(xué)者提出的方案,都具有較為明顯的優(yōu)勢。

      猜你喜歡
      流水線寄存器密鑰
      探索企業(yè)創(chuàng)新密鑰
      Gen Z Migrant Workers Are Leaving the Assembly Line
      密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      流水線
      一種對稱密鑰的密鑰管理方法及系統(tǒng)
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
      報(bào)廢汽車拆解半自動(dòng)流水線研究
      SIMATIC IPC3000 SMART在汽車流水線領(lǐng)域的應(yīng)用
      始兴县| 潜江市| 玉溪市| 班玛县| 阳城县| 高要市| 临西县| 兴仁县| 康平县| 阳山县| 万全县| 五华县| 黄大仙区| 沙洋县| 铜梁县| 同德县| 临江市| 万年县| 平山县| 永兴县| 简阳市| 泸西县| 黄浦区| 南召县| 九寨沟县| 织金县| 荔波县| 周至县| 弥勒县| 读书| 吐鲁番市| 焉耆| 舞阳县| 宜阳县| 平阴县| 光泽县| 曲沃县| 滦平县| 张家港市| 富锦市| 湾仔区|