999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于國密算法SM2、SM3、SM4的高速混合加密系統(tǒng)硬件設(shè)計

2022-12-31 00:00:00李建立莫燕南粟濤陳弟虎
計算機應(yīng)用研究 2022年9期

收稿日期:2022-02-14;修回日期:2022-04-10" 基金項目:廣東省重大科技計劃資助項目(2021B110127007)

作者簡介:李建立(1997-),男,廣東廣州人,碩士研究生,主要研究方向為加密算法、硬件加速;莫燕南(1997-),男,廣東深圳人,碩士研究生,主要研究方向為AI加速、人工智能;粟濤(1977-),男(通信作者),湖南益陽人,副教授,博士,主要研究方向為人工智能、芯片與應(yīng)用系統(tǒng)設(shè)計(sutao@mail.sysu.edu.cn);陳弟虎(1963-),男,四川綿陽人,教授,博士,主要研究方向為集成電路設(shè)計方法、深度學(xué)習(xí)與圖像識別技術(shù).

摘 要:隨著電子信息技術(shù)的快速發(fā)展,數(shù)據(jù)的安全性問題日益嚴峻,傳統(tǒng)單一制密碼算法在安全性與運算速率上已不能滿足要求。為了解決大數(shù)據(jù)時代下所提出的加密需求,提出了一種基于國密算法SM2、SM3、SM4的高速混合加密系統(tǒng)的硬件設(shè)計方案,并針對SM2和SM4算法的底層硬件結(jié)構(gòu)進行優(yōu)化。對SM2算法采用Karatsuba Ofman模乘器與點運算并行方案進行優(yōu)化。對SM4算法提出了一種基于復(fù)合域S盒的二次流水全展開硬件架構(gòu)。實驗結(jié)果表明,該系統(tǒng)所實現(xiàn)的各算法電路均具有較高性能。SM2的點乘時間縮短至68.37 μs;SM3的雜湊值生成僅需0.71 μs;SM4吞吐率最高達53.76 Gbps。相比同等安全性的SM2算法,該混合系統(tǒng)在加密時間上減小了26.67%,具有實用價值。與相關(guān)工作進行對比分析,可證明該方案在安全性和加/解密性能上均有一定優(yōu)勢。

關(guān)鍵詞:SM2公鑰密碼算法;SM4分組加密算法;硬件設(shè)計;混合加密

中圖分類號:TP391"" 文獻標志碼:A

文章編號:1001-3695(2022)09-040-2818-08

doi:10.19734/j.issn.1001-3695.2022.02.0072

Hardware design of high-speed hybrid encryption system based on SM2,SM3 and SM4 algorithm

Li Jianli,Mo Yannan,Su Tao,Chen Dihu

(School of Electronics amp; Information Technology,Sun Yat-Sen University,Guangzhou 510006,China)

Abstract:

With the rapid development of electronic information technology,the security of data has become increasingly serious.The traditional single cipher algorithm cannot meet the requirements any more.In order to solve these problems,this paper proposed a hardware design scheme of high-speed hybrid encryption system based on SM2,SM3,SM4,in which the hardware structure of SM2 and SM4 algorithms was optimized.Besides,this paper optimized the SM2 algorithm with Karatsuba-Ofman modular multiplier and parallel with point operation.For SM4 algorithm,this paper designed a subpipelining hardware architecture bas on composite field S-box so as to improve its throughout.The experimental results show that all the algorithm circuits implemented by the system have high performance:the point multiplication time of SM2 is 68.37 μs;the hash generation of SM3 only take 0.71 μs;the throughput of SM4 is up to 53.76 Gbps.Compared with the SM2 algorithm with the same security,this hybrid system has 26.67% less encryption time.By comparing and analyzing with related work,it can be proved that this scheme has certain advantages in security and encryption and decryption performance.

Key words:SM2 algorithm;SM4 algorithm;hardware design;hybrid encryption

0 引言

近年來,隨著計算機技術(shù)的快速發(fā)展以及大數(shù)據(jù)、云計算、物聯(lián)網(wǎng)等技術(shù)產(chǎn)業(yè)的橫空出世,人們在生活與生產(chǎn)中越來越離不開各種信息數(shù)據(jù)的傳遞與交互。信息技術(shù)在推動經(jīng)濟與社會發(fā)展的同時,也面臨著巨大的安全隱患:網(wǎng)絡(luò)攻擊、信息泄露、隱私數(shù)據(jù)被盜等事件頻發(fā),信息安全問題日益加劇。另外,各類側(cè)信道密碼攻擊技術(shù)的發(fā)展也使得各種單一加密算法面臨著嚴峻的安全性挑戰(zhàn)。與此同時,5G技術(shù)的日益成熟讓人們步入了高帶寬時代,也對數(shù)據(jù)的加密速度提出了更高的要求。在即時通信、車聯(lián)網(wǎng)應(yīng)用、遠程醫(yī)療等對延時要求較高的場景下,加密系統(tǒng)的數(shù)據(jù)處理速度變得十分關(guān)鍵。因此,在大數(shù)據(jù)時代下,研究如何在高速傳輸?shù)那闆r下保障數(shù)據(jù)信息安全至關(guān)重要。

混合加密技術(shù)是結(jié)合了多種加密體制和算法的一種新型加密技術(shù),可以根據(jù)實際需求選擇不同的加密體制進行加密方案的構(gòu)建。目前,許多國內(nèi)外學(xué)者對混合加密體制進行了大量的研究與分析。Mostafaa等人[1]提出了一種基于AES和ECC的輕量級混合加密硬件系統(tǒng),并通過優(yōu)化AES算法使得整體方案更加適合硬件資源有限的場景。Shende等人[2]則結(jié)合了AES和RSA兩種算法的優(yōu)點提出了一種混合加密方案,提高了系統(tǒng)的安全性。在國密算法方面,文獻[3,4]分別選擇了SM4-ECC和SM4-SM2的算法組合構(gòu)建其加密方案,并從軟件層面證明所提出的混合加密體制在安全性與擴散性系數(shù)上均高于單一制算法。文獻[5]則通過研究SM2、SM3與SM4算法在變電站局域網(wǎng)中的應(yīng)用情況,設(shè)計出一種基于國密算法的云存儲混合加密方案。Zheng等人[6]利用軟硬件協(xié)同設(shè)計的方法,提出了同樣基于SM2、SM3和SM4的加/解密和數(shù)字簽名方案,與相關(guān)工作相比其處理速度提高了10%以上。總體而言,混合加密體制不僅提高了算法的安全性,同時也能兼顧加/解密的高效性與密鑰管理的便利性,優(yōu)于傳統(tǒng)單一制加密算法。

國密算法SM2和SM4是目前國內(nèi)較為主流的國產(chǎn)密碼算法,在安全性研究與硬件實現(xiàn)上已有大量的研究成果。文獻[7]基于Montgomery模乘算法,設(shè)計了一種高速雙域SM2模乘器,并提出了一種新型的Wallace樹乘法單元,節(jié)省了大量資源。文獻[8]提出了一種基于改進蒙哥馬利點乘算法的并行點運算架構(gòu),通過坐標壓縮以減少模乘步驟。文獻[9]針對低端FPGA芯片,從算法和硬件實現(xiàn)兩方面優(yōu)化了SM2的模乘和模逆運算,提高了硬件資源的復(fù)用率,實現(xiàn)了面積和速度的平衡。而在SM4算法硬件架構(gòu)的研究上,文獻[10,11]均采用了32輪輪間流水全展開型架構(gòu),降低了每一組數(shù)據(jù)加/解密的平均時間,提供了極高的吞吐率。文獻[12]提出了一種輪密鑰擴展與加/解密模塊硬件復(fù)用的架構(gòu),其占用的資源僅為傳統(tǒng)設(shè)計的55%。文獻[13,14]則在輪間流水全展開的基礎(chǔ)上對輪函數(shù)內(nèi)部進行了二次流水切分,減少了電路的關(guān)鍵路徑。

從文獻分析與研究結(jié)果看,目前在混合加密方面,國外的研究重點偏向于AES、RSA以及ECC這類國際算法,而國內(nèi)對國密算法的混合加密研究關(guān)注點主要集中在算法安全性方面,對混合加密算法的硬件優(yōu)化和性能提升上的研究比較欠缺。此外,在國密算法SM2與SM4的硬件實現(xiàn)研究上也仍存在一定的優(yōu)化提升空間。基于上述現(xiàn)狀問題的分析,本文結(jié)合三種國密算法各自的優(yōu)勢,提出了一種基于國密算法SM2、SM3、SM4的混合加密硬件系統(tǒng)設(shè)計,在提高了加密系統(tǒng)安全性的同時可完成大量信息數(shù)據(jù)的高速加/解密運算。同時,還針對SM2與SM4算法的結(jié)構(gòu)對其硬件架構(gòu)進行了優(yōu)化設(shè)計,最終設(shè)計出一個集運算速率、硬件資源利用率以及數(shù)據(jù)安全性于一體的高速混合加密硬件系統(tǒng),以解決信息化建設(shè)中對應(yīng)用數(shù)據(jù)提出的高速率、高吞吐率加/解密傳輸需求。

1 算法原理與混合加密系統(tǒng)設(shè)計原理

1.1 SM2算法原理

SM2橢圓曲線密碼算法是我國公鑰密碼算法標準,于2010年12月首次公開。相關(guān)研究表明,SM2算法的安全性達到了公鑰密碼算法的最高安全級別[15]。

1.1.1 SM2曲線參數(shù)選擇

SM2算法具有與ECC算法相同的數(shù)學(xué)概念基礎(chǔ),是一種基于求解橢圓曲線離散對數(shù)問題的加密算法。橢圓曲線是一種特殊的曲線,它實際上是Weierstrass方程所構(gòu)成的平面光滑曲線,定義在偽梅森素數(shù)域GF(p)上的SM2橢圓曲線表達式為

E:y2=x3+ax+b(1)

其中:a,b∈GF(p),且4a3+27b2≠0 mod p。在國家密碼標準中,推薦的定義在256位素數(shù)域上的SM2橢圓曲線系統(tǒng)參數(shù)為(所有值均以16進制表示)

素數(shù)p=FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF

FFFFFFFF 00000000 FFFFFFFF FFFFFFFF

系數(shù)a=FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF

FFFFFFFF 00000000 FFFFFFFF FFFFFFFC

系數(shù)b=28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7

F39789F5 15AB8F92 DDBCBD41 4D940E93

1.1.2 SM2算法層次結(jié)構(gòu)

SM2算法在結(jié)構(gòu)上具有明顯的層次性特點,其自頂向下可以劃分為四個層次,如圖1所示。頂層為SM2應(yīng)用層,包括數(shù)字簽名、密鑰交換和公鑰加密,主要通過調(diào)用點乘計算模塊來實現(xiàn)不同的加密功能;群運算層為點乘模塊,是SM2的核心運算,通過調(diào)用點加與倍點實現(xiàn);點運算層分為點加和倍點兩個模塊,分別實現(xiàn)橢圓曲線上兩個基礎(chǔ)計算功能;底層則是最基本的模運算單元,包括模加、模減、模乘以及模逆運算,分別實現(xiàn)有限域上的各種模運算。本文對于SM2算法的硬件加速研究主要集中在點運算層與模運算層,通過并行化點運算以及優(yōu)化模乘運算實現(xiàn)高效運算,從而提高SM2整體性能。

1.2 SM3算法原理

SM3算法是一種分組迭代的雜湊算法,可以將任意長度的輸入轉(zhuǎn)為恒為256 bit的摘要值輸出,由國家密碼管理局于2010年12月17日發(fā)布。SM3算法主要分為填充分組以及迭代壓縮兩個步驟,其計算流程如圖2所示。

填充分組:假設(shè)輸入的長度為l bit。首先將比特“1”添加到消息的末尾,再添加k個“0”, k為滿足l+1+k ≡ 448 mod 512的最小非負整數(shù)。然后再添加一個長度l的二進制表示比特串。填充后的比特長度為512的倍數(shù),并按512 bit一組分組。

迭代壓縮:對分組后的消息按式(2)進行迭代計算。

V(i+1)=CF(V(i),B(i)) i=0,1,2,…,n-1(2)

其中:n=(l+k+65)/512;CF是壓縮函數(shù);V(0)為256 bit初始值IV;B(i)是消息分組;V(n)是最后的雜湊值結(jié)果。

1.3 SM4算法原理

SM4分組密碼算法是我國密碼管理局于2006年公布的國內(nèi)第一個商用密碼算法,對于我國密碼學(xué)研究的發(fā)展起到了極大的推動作用[16]。SM4算法是一種分組算法,其分組長度和密鑰長度均為128 bit。SM4內(nèi)部的加/解密運算和密鑰擴展運算都是32輪的非線性迭代結(jié)構(gòu),而非線性變換里的基本運算單元為S盒。其主要運算結(jié)構(gòu)以字(Z322)為單位,一次運算為一輪變換。定義為32 bit異或運算,lt;lt;lt;i為32 bit循環(huán)左移i位;加密密鑰用MK表示;輪密鑰用rki表示,系統(tǒng)參數(shù)用FK=(FK0,F(xiàn)K1,F(xiàn)K2,F(xiàn)K3)表示,固定參數(shù)用(CK0,CK1,…,CK31)表示。

1.3.1 加/解密算法

算法1 SM4加密算法

輸入:(X0,X1,X2,X3)∈(Z322)4;rk0,rk1,…,rk31∈Z322為輪密鑰。

輸出:(Y0,Y1,Y2,Y3)∈(Z322)4。

1.i=0,1,2,…,31:

Xi+4=F(Xi,Xi+1,Xi+2,Xi+3,rki)=Xi⊕T(Xi⊕Xi+1⊕Xi+2⊕Xi+3⊕rki)

2.(Y0,Y1,Y2,Y3)=(X35,X34,X33,X32)

其中:F為輪變換函數(shù);T為合成置換,包含了非線性變換τ和線性變換L,即T(.)=L(τ(·));τ內(nèi)部為四個并行S盒,L為線性變換。合成置換T過程如算法2所示。

算法2 合成置換T算法

輸入:A=(a0,a1,a2,a3)∈(Z82)4。

輸出:C=(c0,c1,c2,c3)∈(Z82)4。

1.B=(b0,b1,b2,b3)=τ(A)=(Sbox(a0),Sbox(a1),Sbox(a2),Sbox(a3))

2.C=L(B)=B⊕(Blt;lt;lt;2)⊕(Blt;lt;lt;10)⊕(Blt;lt;lt;18)⊕(Blt;lt;lt;24)

解密算法與加密算法的運算流程相同,只是輪密鑰的使用次序與加密相反。

1.3.2 密鑰擴展算法

算法3 密鑰擴展算法

輸入:MK=(MK0,MK1,MK2,MK3),MKi∈Z322(i=0,1,2,3)。

輸出:rki∈Z322(i=0,1,2,…,31)。

1.(K0,K1,K2,K3)=(FK0⊕MK0,F(xiàn)K1⊕MK1,F(xiàn)K2⊕MK2,F(xiàn)K3⊕MK3)

2.i=0,1,2,…,31:

rki=Ki+4=Ki⊕T’(Ki+1⊕Ki+2⊕Ki+3⊕CKi)

其中:T’中的線性變換為L’:(Blt;lt;lt;13)⊕(Blt;lt;lt;23),其余部分與加/解密運算中的T變換相同。

1.4 基于SM2、SM3、SM4算法的高速混合加密系統(tǒng)

SM2非對稱算法得益于橢圓曲線密碼體制,其公鑰可對外公開,可實現(xiàn)密鑰的便捷管理,信息傳輸?shù)陌踩砸草^高。但是由于涉及大位寬的復(fù)雜模運算,SM2算法的加/解密速度普遍較慢,僅適用于加密小塊數(shù)據(jù)。SM3算法屬于單向加密的密碼體制,對于明文信息只能計算出雜湊值,而無法從雜湊值反向推算出對應(yīng)明文數(shù)據(jù)。SM4對稱算法雖然結(jié)構(gòu)簡單、復(fù)雜度低、加/解密速度快,但是其需要額外的安全信道分發(fā)密鑰,密鑰管理復(fù)雜且安全性難以保證。

本文在研究了SM2、SM3以及SM4三種算法各自的特點后,提出了一種兼顧加密安全性、高速性以及密鑰管理便利性的混合加密系統(tǒng),其基本原理如下:基于大數(shù)據(jù)時代高速率加/解密傳輸?shù)男枨螅捎媒?jīng)本文硬件優(yōu)化后的SM4算法快速加/解密海量的應(yīng)用數(shù)據(jù);利用SM2算法安全性高、密鑰管理簡單的特點,采用同樣經(jīng)優(yōu)化后的SM2算法對SM4密鑰進行加/解密;另外,本文系統(tǒng)還采用SM3雜湊算法對加/解密前后的明文進行雜湊值對比驗證,防止信息在傳輸過程中被竄改。由于混合使用了三種不同體制的加密算法,本文提出的混合加密系統(tǒng)在傳輸密鑰時不再需要額外的安全信道,同時還可以實現(xiàn)大量數(shù)據(jù)的高速加/解密與驗證運算,其加/解密流程如圖3所示。

假設(shè)需要加密傳輸?shù)臄?shù)據(jù)為信息明文P,且發(fā)送方和接收方之間的傳輸通道是不安全的,則具體的加/解密傳輸過程如下:

a)接收方使用SM2算法生成配對的公鑰和私鑰,并在加密計算前先將公鑰發(fā)送給發(fā)送方。

b)發(fā)送方接收到SM2公鑰后,使用SM2算法加密SM4密鑰生成密鑰密文,同時使用SM4算法加密信息明文P生成信息密文C,另外再使用SM3算法計算P中首尾兩組數(shù)據(jù)塊的摘要值。待三種算法均計算完成后,將三組數(shù)據(jù)打包,通過傳輸通道一同發(fā)送給接收方。

c)接收方在收到數(shù)據(jù)后,首先利用SM2私鑰,通過SM2算法將SM4密鑰解密出來;然后利用SM4密鑰,通過SM4算法解密所收到的信息密文C,得到尚未驗證的信息明文P;接著使用SM3算法計算得到信息明文P的摘要值B,并與所收到的摘要值A(chǔ)進行對比驗證。若一致,則代表數(shù)據(jù)在傳輸過程中沒有被竄改,可輸出所解密的信息明文P,完成解密;若兩組摘要值不一致,則說明數(shù)據(jù)在傳輸中已被竄改,解密出來的數(shù)據(jù)存在安全風(fēng)險,系統(tǒng)發(fā)出警告并退出解密。

從理論上分析本文提出的混合加密系統(tǒng)可以發(fā)現(xiàn),在加密過程中最耗時的步驟為海量數(shù)據(jù)明文的SM4加密計算,而因為解密過程是三種算法串行執(zhí)行的,所以決定解密速度的步驟主要為對密鑰密文的SM2解密計算,以及對大量信息密文的SM4解密計算。基于以上分析可知,若想提高混合加密系統(tǒng)的整體性能,需考慮提升SM2和SM4算法的計算速率和硬件效率。因此,本文的研究重點將集中在對SM2和SM4算法的硬件優(yōu)化和性能提升上,采用并行化與流水線技術(shù)對兩個算法的硬件架構(gòu)進行優(yōu)化設(shè)計,解決制約加/解密速度提升的瓶頸,保證混合加密系統(tǒng)能夠滿足高性能密碼運算的需求。

2 SM2算法的硬件加速設(shè)計

橢圓曲線的點乘運算是SM2算法的核心運算,其運行速度決定了SM2算法的速度。點乘運算一般涉及大量大數(shù)運算,而這些運算操作用軟件實現(xiàn)會非常復(fù)雜且效率低下,因此通常采用硬件優(yōu)化的實現(xiàn)方式以提高SM2算法的性能。本文在綜合考慮性能與資源的情況下,采用自底向上的思路,對SM2算法的硬件實現(xiàn)進行優(yōu)化設(shè)計。首先從底層的模乘運算出發(fā),對模乘器的硬件實現(xiàn)采用Karatsuba-Ofman算法進行優(yōu)化設(shè)計,降低計算復(fù)雜度與硬件資源的消耗;其次,本文還分析研究了不同架構(gòu)下點加和倍點運算的硬件性能提升與資源消耗情況,在資源合理運用的情況下實現(xiàn)了SM2算法的快速點乘運算。

2.1 模乘運算優(yōu)化設(shè)計

SM2算法在進行點乘運算的過程中會頻繁地調(diào)用乘法器進行大數(shù)模乘運算,故實現(xiàn)模乘的快速運算是提高SM2算法性能的一個關(guān)鍵。常見的模乘方法主要有Barrett算法、Montgomery算法、大數(shù)乘法搭配快速模約減等[17]。Barrett算法除了乘法以外還采用了除法操作,對于硬件實現(xiàn)來說,該算法在運算時間與資源消耗上都非常低效。Montgomery算法雖然通過移位和加法操作代替了除法操作,但是其運算結(jié)果并非模乘的最后結(jié)果,仍需要進一步的轉(zhuǎn)換運算,更適用于多次乘法的模冪運算,對于單次模乘計算并無優(yōu)勢。因此,本文采用大數(shù)乘法搭配快速模約減的方式實現(xiàn)模乘運算。

在大數(shù)乘法方面,運用Karatsuba-Ofman算法的分治思想,將256 bit的乘法拆分成三次128 bit乘法,并以基于129 bit乘法器的方式完成大數(shù)乘法運算。相比于直接使用256 bit乘法器[18],Karatsuba-Ofman算法雖然需要更多的時鐘周期來完成,但是減少了25%的計算量,硬件資源消耗更小,提高了運算效率與資源利用率。基于該算法實現(xiàn)的256 bit乘法如算法4所示。

算法4 256 bit Karatsuba-Ofman算法

輸入:256 bit整數(shù)A,B,且有A=aH×2128+aL,B=bH×2128+bL。

輸出:C=A×B,C為512 bit整數(shù)。

1.PL=aL×bL,aS=aH+aL,bS=bH+bL

2.PH=aH×bH,C1=PH+PL,C2={PH,PL}-C1×2128

3.PS=aS×bS,C=C2+PS×2128

該算法中包含了三次128 bit的加/減法、兩次512 bit的加/減法、兩次128 bit的乘法以及一次129 bit的乘法。同時,算法中2的冪次運算在硬件中可以通過移位操作實現(xiàn),以節(jié)省硬件消耗與計算時間。根據(jù)算法4,提出如圖4所示的256 bit Karatsuba-Ofman乘法硬件設(shè)計。

該硬件設(shè)計采用一個129 bit的乘法器、兩個并行的512 bit加法器以及移位寄存器實現(xiàn),同時對加法運算進行二級并行處理,將256 bit的乘法運算降低至三個時鐘周期。其中乘法器負責(zé)128 bit與129 bit的乘法運算,加法器負責(zé)128 bit與512 bit的加減法運算,通過是否取補碼實現(xiàn)。該設(shè)計在縮短運算周期的同時也實現(xiàn)了較低的硬件開銷,資源利用率達到了88.8%。

在取模方面,由于本文選取的素數(shù)p為偽梅森素數(shù),根據(jù)其性質(zhì),該素數(shù)可表示為少量的2的冪的和或差,本文選取的素數(shù)則可改寫為p256=2256-2224-296+264-1。根據(jù)該表達式,可以采用快速模約減算法快速地對512 bit的乘法結(jié)果取模。參考文獻[19]中的快速模約減算法完成整體模乘器的硬件電路設(shè)計,如圖5所示。快速模約減算法通過簡單的截位拼接與加減法即可完成取模運算,省去了常規(guī)取模中煩瑣的乘法與除法運算,有利于縮短整體的運算時間、節(jié)省硬件的資源消耗。

該模乘器采用了Karatsuba-Ofman算法與快速模約減算法相匹配的方式,僅利用低位寬加法、乘法以及移位等簡單的操作,最終在四個周期內(nèi)完成了復(fù)雜的256 bit模乘運算。

2.2 點運算并行優(yōu)化設(shè)計

點運算層是實現(xiàn)點乘運算的基礎(chǔ),因此對點加和倍點運算進行優(yōu)化加速也非常重要。在Jacobian投影—仿射混合坐標下實現(xiàn)點加、在Jacobian投影坐標下實現(xiàn)倍點的組合方式可以避免耗時的模逆運算,同時該組合方式也是眾多坐標系中運算復(fù)雜度最低的選擇。Jacobian投影—仿射混合坐標下點加運算與Jacobian投影坐標下倍點運算的定義分別如算法6、7所示[19]。

算法6 Jacobian投影—仿射混合坐標下點加運算

輸入:P=(X1,Y1,Z1),Q=(X2,Y2,1),P≠Q(mào),Z1≠0。

輸出:P+Q=(X3,Y3,Z3)。

X3=(Y2Z31-Y1)2-(X2Z21-X1)2(X2Z21+X1)

Y3=(Y2Z31-Y1)(X1(X2Z21-X1)2-X3)-Y1(X2Z21-X1)3

Z3=(X2Z21-X1)Z1

算法7 Jacobian投影坐標下倍點運算

輸入:P=(X1,Y1,Z1),Z1≠0,a=p-3。

輸出:2P=(X3,Y3,Z3)。

X3=[3(X1+Z21)(X1-Z21)]2-8X1Y21

Y3=3(X1+Z21)(X1-Z21)(4X1Y21-X3)-8Y41

Z3=2Y1Z1

對于點加算法,通過分析算法中各步驟數(shù)據(jù)間的依賴關(guān)系,將不存在相關(guān)性的運算進行并行加速,從算法實現(xiàn)層面降低點加運算時間。對算法步驟進行拆分,根據(jù)運算相關(guān)性提出了點加計算的二級并行加速方案,如算法8所示。

算法8 Jacobian投影—仿射混合坐標下二級并行點加運算

輸入:P=(X1,Y1,Z1),Q=(X2,Y2,1),P≠Q(mào),Z1≠0。

輸出:P+Q=(X3,Y3,Z3)。

模乘器0模乘器1模加減器0模加減器1

1A=Z1×Z1B=Y2×Z1NANA

2A×BC=A×X2A=AB-Y1B=C-X1

3Z3=B×Z1D=B×BE=C+X1NA

4A×AD×EX3=AA-DENA

5D×X1B=D×BC=DX1-X3NA

6A×CB×Y1Y3=AC-BY1NA

由算法6可知,點加運算需要進行9次的模乘計算與3次的模平方運算,若采用傳統(tǒng)的循環(huán)串行計算方式則至少需要12輪運算來完成。而本文提出的二級并行方案則通過采用兩個模乘器的方法進行加速,對乘法運算采用并行的計算方式處理,從而將運算迭代縮短至六輪。根據(jù)所提出的點加二級并行方案,點加模塊在硬件實現(xiàn)上需要實例化兩個模乘器、三個模加減器,并通過共享的寄存器(A、B、C、D、E)存儲與調(diào)用中間的計算結(jié)果。在研究了串行、二級并行以及三級并行[20]三種方案每輪迭代中最長的運算路徑后,可得出如表1所示的運算時間對比。

其中:M代表模乘;A/S代表模加與模減運算。由于在模乘運算以及每輪迭代后,共享寄存器需要額外一個時鐘周期進行數(shù)據(jù)的暫存與傳輸,所以在點運算中模乘實際需要5個時鐘周期。

通過對比可知,二級并行方案和文獻[20]中的三級并行方案與傳統(tǒng)串行方案相比,在速度上均有極大的提升。而三級并行方案[20]雖然在運算時間上是三種方案中最快的,但是該方案需要例化三套模乘器與模加減器,其在硬件消耗上也是三者中最高的。因此,本文在綜合考慮性能與硬件資源的因素后,最終采用二級并行的方式實現(xiàn)點加運算。

同理,對于倍點算法,本文采用相同的分析方式提出了如算法9所示的二級并行加速方案。

算法9 Jacobian投影坐標下二級并行倍點運算

輸入:P=(X1,Y1,Z1),Z1≠0,a=p-3。

輸出:2P=(X3,Y3,Z3)。

模乘器0模乘器1模加減器0模加減器1模加減器2

1A=Y1×Z1Z1×Z1B=Y1+Y1C=X1+Z21C=X1-Z21

2A=C×DB=B×BZ3=A+AC=B+BNA

3C=C×X1D=B×X1A=A+AA=A+2ANA

4A×AB×Y1B=BY1+BY1X3=AA-CC=D-X3

5A×CB×Y1Y3=AC-BY1NA NA

倍點運算需要進行6次的模乘計算與4次的模平方運算,根據(jù)本文提出的二級并行方案,可將倍點運算的迭代減小至5輪。在硬件實現(xiàn)上,倍點模塊同樣需要實例化兩個模乘器與三個模加減器,以及四個共享寄存器。倍點運算三種方案的運算時間對比如表2所示。

可以看出,二級并行方案在運算周期上比串行方案有一定的提升。為了提高硬件利用率,倍點運算的實現(xiàn)同樣選擇了兼顧性能與資源消耗的二級并行方案。

2.3 點乘運算的實現(xiàn)

點乘運算的實質(zhì)是對橢圓曲線坐標進行多次點加與倍點計算的結(jié)果,故在電路實現(xiàn)上需要頻繁調(diào)度點加與倍點模塊。由于本文采用不同的坐標系實現(xiàn)點加和倍點運算以減少耗時的模逆運算次數(shù),所以還需要相應(yīng)的坐標轉(zhuǎn)換模塊,從而將最終的點乘結(jié)果轉(zhuǎn)換至仿射坐標系下。圖6為點乘運算的組成模塊。

點乘模塊通過循環(huán)調(diào)用256次兩個點運算模塊完成256 bit的點乘計算,并采取移位寄存器搭配多路選擇器的方式來判斷是否需要進行點加。其中倍點與點加模塊均采用了二級并行的方案與Karatsuba-Ofman算法模乘器進行加速。

3 SM4算法的硬件加速設(shè)計

SM4算法的高速實現(xiàn)是提升大量數(shù)據(jù)加/解密速度的關(guān)鍵,在硬件實現(xiàn)上對SM4算法進行優(yōu)化加速同樣重要。本文對S盒的硬件實現(xiàn)進行了研究,采用復(fù)合域求逆的方式來構(gòu)造;同時,還在此基礎(chǔ)上提出一種二次流水全展開硬件架構(gòu),并對輪函數(shù)模塊進行硬件復(fù)用,以較小硬件開銷,實現(xiàn)了極高的吞吐量。

3.1 基于復(fù)合域求逆S盒的實現(xiàn)

S盒是SM4實現(xiàn)中對性能影響最大的部分,其在很大程度上決定了整個SM4算法的硬件實現(xiàn)性能。目前S盒的構(gòu)造方法主要分為查表式與代數(shù)式。傳統(tǒng)的查表式S盒是一個包含256個數(shù)據(jù)的字節(jié)代換表,雖然硬件上可以采用寄存器或ROM的方式簡單實現(xiàn),但是面積開銷較大,電路性能也難以提升。代數(shù)式S盒又分為有限域求逆和復(fù)合域求逆兩種構(gòu)造方式。有限域上的求逆運算非常復(fù)雜,難以用硬件實現(xiàn);而復(fù)合域求逆的方式在運算量和硬件消耗上均很小,適合用于硬件實現(xiàn)。

在2007年Liu等人[21]提出了一種如式(3)所示的代數(shù)式構(gòu)造S盒的方法,即S盒可以通過仿射變換和乘法求逆來實現(xiàn)。

S(x)=I(x·A1+C1)·A2+C2(3)

其中:x是S盒的8 bit二進制輸入;A1、A2為循環(huán)矩陣;C1、C2為行向量;I(x)是GF(28)域上的乘法求逆運算。在復(fù)合域上進行乘法求逆,可以很大程度地簡化運算復(fù)雜度。利用復(fù)合域求GF(28)域上乘法逆元的運算過程如圖7所示。

其主要步驟如下:a)利用同構(gòu)映射T1和T2將GF(28)域上的元素映射到復(fù)合域GF(((22)2)2);b)在GF(2)域上用異或運算求出GF(22)的逆元;c)將GF(22)的逆元結(jié)果回代運算,用基于GF(22)的乘法運算求出GF((22)2)逆元;d)將GF((22)2)逆元結(jié)果回代運算,用基于GF((22)2)的乘法運算求出GF(((22)2)2)的逆元;e)利用逆同構(gòu)映射T1-1和T2-1將求逆結(jié)果從GF(((22)2)2)映射回GF(28)域,最終得到GF(28)域的乘法逆元結(jié)果。

以⊕代表異或門,根據(jù)圖7并參考文獻[22]中關(guān)于復(fù)合域求逆的設(shè)計,對仿射變換和同構(gòu)映射部分進行化簡合并,設(shè)計出復(fù)合域求逆S盒的硬件結(jié)構(gòu)如圖8~11所示。

可見,在最底層GF(22)子域上的求逆運算僅僅只用到了異或運算。另外,根據(jù)擴展式對系數(shù)乘方運算進行化簡優(yōu)化后,設(shè)計出各域上的乘法電路與系數(shù)乘方電路硬件電路結(jié)構(gòu)分別如圖12和13所示。

經(jīng)優(yōu)化后的S盒電路僅使用數(shù)量較少的異或門和與門即可實現(xiàn)256 bit數(shù)據(jù)的替換運算,相比于直接使用查找表的方式,該方案極大地降低了運算復(fù)雜度和硬件開銷。同時, 采用純組合邏輯實現(xiàn)的S盒電路也為后續(xù)進行輪內(nèi)流水優(yōu)化提供了便利。在基于復(fù)合域求逆S盒的基礎(chǔ)上,根據(jù)SM4算法的描述,完成了SM4單輪輪函數(shù)的硬件設(shè)計,并分析各電路模塊的資源消耗情況和關(guān)鍵路徑,如表3所示。

3.2 SM4算法的流水線結(jié)構(gòu)設(shè)計

SM4算法的吞吐率計算如式(4)所示。其中:B表示處理的數(shù)據(jù)位寬,在這里固定為128 bit;f代表電路頻率;N代表平均每組加/解密數(shù)據(jù)的處理輪數(shù)。由此可見,要提高SM4算法的吞吐率,一方面要對電路的關(guān)鍵路徑進行優(yōu)化,提升硬件整體頻率f;另一方面還要降低每組加/解密數(shù)據(jù)的平均處理輪數(shù)N。

throughput=B×fN(4)

根據(jù)SM4算法的定義可知,該算法是由32輪完全相同的輪函數(shù)組成,且在加/解密過程中前后數(shù)據(jù)完全獨立,因此可以采用流水線處理的結(jié)構(gòu)來實現(xiàn)SM4分組密碼算法的高吞吐率計算。本文首先采用輪內(nèi)流水的結(jié)構(gòu)實現(xiàn)單輪輪函數(shù),以提高時鐘頻率f;再采用輪間流水的結(jié)構(gòu)完成整體SM4算法電路,以降低平均處理輪數(shù)N,從而實現(xiàn)高速運算。

3.2.1 輪內(nèi)流水處理結(jié)構(gòu)

要想提高電路的時鐘頻率,就必須降低每輪運算中的運算量,尤其是在輪函數(shù)運算較為復(fù)雜的時候,其關(guān)鍵路徑限制了在硬件實現(xiàn)下的最大時鐘頻率。針對這種情況,可以采用輪內(nèi)流水處理結(jié)構(gòu)進行加速,通過將輪函數(shù)內(nèi)的運算單元進行拆解后插入寄存器以建立流水線,進而構(gòu)造輪內(nèi)流水結(jié)構(gòu)。

分析表3中SM4電路的關(guān)鍵路徑,在輪函數(shù)電路中的不同位置插入寄存器,設(shè)計出如圖14所示的四種輪內(nèi)流水結(jié)構(gòu)。輪內(nèi)流水結(jié)構(gòu)將每一輪的運算從內(nèi)部切分,縮短了整體電路的關(guān)鍵路徑,極大地降低了電路中每一拍的運算時間。

3.2.2 輪間流水處理結(jié)構(gòu)

一般而言,傳統(tǒng)的SM4算法采取循環(huán)迭代式的結(jié)構(gòu)實現(xiàn),即僅實例化一個輪函數(shù)電路,并通過不斷重復(fù)調(diào)用此電路以實現(xiàn)32輪運算。對于傳統(tǒng)循環(huán)迭代式結(jié)構(gòu),其每組數(shù)據(jù)的加/解密時間至少為32個周期,下一組數(shù)據(jù)需要等待上一組數(shù)據(jù)循環(huán)計算32次后方可開始計算,實際吞吐率并不高。因此,該結(jié)構(gòu)雖然能節(jié)省大量電路開銷,但是其運算效率低下,不適合高性能加/解密系統(tǒng)的設(shè)計。

而輪間流水處理結(jié)構(gòu)則是指以輪函數(shù)作為基本運算單元,采取循環(huán)展開的方式,構(gòu)造流水線實現(xiàn)數(shù)據(jù)的流水處理。具體而言,輪間流水結(jié)構(gòu)在進行電路設(shè)計時實例化32個輪函數(shù)電路,并在每一輪運算之間用寄存器隔開,每組數(shù)據(jù)無須等待,可以以流水的形式緊跟上組數(shù)據(jù)輸入電路進行計算。輪間流水處理的優(yōu)勢在于,當(dāng)流水線一旦構(gòu)造完成,系統(tǒng)將在每個時鐘周期完成一組密碼運算,平均下來每組數(shù)據(jù)的加/解密時間僅為一個周期,極大地提升了整體電路的吞吐率。

在采用如圖14所示的輪內(nèi)流水結(jié)構(gòu)的基礎(chǔ)上,對SM4電路進行循環(huán)全展開,以輪間流水的方式實現(xiàn)SM4的整體電路設(shè)計,最終SM4算法的硬件電路架構(gòu)如圖15所示。

該電路采用了復(fù)合域求逆S盒、輪內(nèi)流水處理以及32輪全展開輪間流水處理三種優(yōu)化技術(shù),為加/解密電路帶來了極大的性能提升。同時,本文還根據(jù)加/解密模塊和輪密鑰擴展模塊在算法結(jié)構(gòu)上的相似性,在輪函數(shù)電路內(nèi)對這兩個模塊進行了硬件上的復(fù)用合并,并通過多路選擇器來對輸入數(shù)據(jù)以及移位邏輯進行選擇,進一步提高了硬件電路的利用率。

4 實驗結(jié)果與性能對比

4.1 實驗環(huán)境

本文基于所述硬件架構(gòu),使用硬件描述語言Verilog-HDL實現(xiàn)了高速混合加密系統(tǒng)的整體硬件設(shè)計,并在硬件平臺Xilinx Ultrascale+系列的ZCU102開發(fā)板上進行板級測試,驗證設(shè)計正確性及分析工作性能。

4.2 實驗結(jié)果

本文設(shè)計完成了一個高性能的混合加密系統(tǒng),其系統(tǒng)框圖如圖16所示。該系統(tǒng)主要由SM2、SM3、SM4三種加密算法模塊、狀態(tài)機控制模塊以及輸入輸出緩存器模塊組成,可以采用三種加密算法進行高速防竄改混合加密運算。

在系統(tǒng)中,三個密碼模塊相互獨立且工作頻率各不相同,模塊間數(shù)據(jù)交互以異步方式處理。表4為總系統(tǒng)以及各算法模塊工作頻率與資源消耗情況。

由表4可看出,各算法模塊的最高頻率與資源消耗各不相同。其中SM2算法模塊的面積開銷最大,所需的LUT與DSP最多;SM3模塊由于采取了循環(huán)迭代的方式實現(xiàn),極大地降低了電路資源消耗,電路開銷最小;SM4算法模塊在考慮硬件效率的情況下選擇了輪間全展開加上輪內(nèi)四級流水的架構(gòu)實現(xiàn),其平均每組數(shù)據(jù)加密時間降低至一個時鐘周期,同時工作頻率也提升至400 MHz,非常適合大量數(shù)據(jù)的快速加/解密運算。

此外,分別利用三種單一制算法加密大小為16 K的明文數(shù)據(jù),與本文混合加密系統(tǒng)進行加密性能以及相關(guān)特性的對比,具體情況如表5所示。

可以看到,雖然SM3與SM4算法在加密時間上均有優(yōu)勢,但它們均有一些算法體制上的不足:SM3算法只能進行單向加密計算,無法從雜湊值反推得到明文數(shù)據(jù);SM4算法需要額外的安全通道進行密鑰傳輸,在密鑰管理上煩瑣復(fù)雜。而混合加密算法不僅與SM2算法一樣不存在上述算法體制的問題,而且在加密時間上也比SM2算法縮短了26.67%,充分體現(xiàn)了本文設(shè)計的混合加密系統(tǒng)的優(yōu)越性。

在SM2算法的點運算層優(yōu)化上,本文的二級并行方案與傳統(tǒng)串行方案[23]、三級并行方案[20]的復(fù)現(xiàn)結(jié)果性能對比如表6、7所示。其中AT2為硬件電路的面積與運算時間平方的乘積,用于評估不同方案性能優(yōu)劣。

可以看到,本文設(shè)計的二級并行加速方案雖然在運算時間上并不是最短的,但是其AT2指標均為最小,相比于傳統(tǒng)串行方案分別降低了39.6%和11.5%,在運算時間和面積開銷的協(xié)調(diào)平衡上最具優(yōu)勢。

在SM4算法的流水線優(yōu)化上,表8列出了在32輪全展開輪間流水的結(jié)構(gòu)下不同輪內(nèi)流水級數(shù)架構(gòu)的FPGA電路實現(xiàn)情況。同時,表中還引入了吞吐率/面積的指標,以衡量各架構(gòu)的速度與資源消耗情況。其中CLB代表Xilinx FPGA芯片的可配置邏輯單元(configurable logic block,CLB)。

由表8可以看到,五級輪內(nèi)流水架構(gòu)的時鐘頻率和吞吐率均為最高,分別達到了420 MHz和53.7 Gbps,吞吐率相比于無輪內(nèi)流水提高了136.7%。而在吞吐率/面積指標上,四級輪內(nèi)流水架構(gòu)取得了最佳性能,高達24.26 Mbps/CLB,相比優(yōu)化前提升了73.5%。在對加密速率和整體硬件消耗進行取舍后,選取四級輪內(nèi)流水架構(gòu)作為混合加密系統(tǒng)中SM4算法的實現(xiàn)方案,以實現(xiàn)高吞吐率與硬件消耗的性能平衡。

4.3 相關(guān)工作對比

4.3.1 SM2性能對比

將SM2算法模塊的硬件實現(xiàn)結(jié)果與其他同類型文獻工作對比,得出如表9所示的SM2算法點乘運算性能對比情況。

從表9可知,本文設(shè)計的SM2點乘電路的最高工作頻率高達215 MHz,僅需68.37 μs即可完成一次點乘計算,在運算速度上具有一定優(yōu)勢。經(jīng)本文優(yōu)化后的點乘電路僅次于文獻[18],而文獻[18]由于采用了多個256 bit大位寬乘法器,可以在一個周期內(nèi)完成模乘計算,雖然具有高性能的優(yōu)勢,但是硬件開銷也非常龐大,并不適合資源有限的場景。此外,在同樣使用FPGA開發(fā)平臺的工作中,本文設(shè)計在工作頻率和運算速度上的優(yōu)勢更為明顯。與綜合性能較優(yōu)的文獻[20]相比,本文設(shè)計的最高頻率提升了約2.92倍,運算時間縮短了約68.9%。

綜上所述,本文設(shè)計的模乘單元采用了KO算法和模加運算并行的實現(xiàn)方案,有效降低了模乘運算的運算周期,同時還對點運算層進行二級模乘運算并行的優(yōu)化設(shè)計,使得優(yōu)化后的SM2算法電路取得最佳的性能,更加適合本文混合加密系統(tǒng)。

4.3.2 SM4性能對比

表10中列舉了同樣在32輪全展開輪間流水的結(jié)構(gòu)下,本文SM4設(shè)計方案與各文獻方案的電路實現(xiàn)情況性能對比,表中的吞吐率均為理論峰值吞吐率。相比于各參考文獻,在同等采用輪間流水優(yōu)化結(jié)構(gòu)的情況下,本文設(shè)計的四級與五級輪內(nèi)流水架構(gòu)突破了單輪運算關(guān)鍵路徑過長的瓶頸,其系統(tǒng)最高工作頻率分別達到400 MHz和420 MHz,峰值吞吐率分別高達51.2 Gbps和53.76 Gbps。與性能較優(yōu)的文獻[30]相比,本文設(shè)計的最高頻率分別提升了16.3%和22%,吞吐率提高了21.6%和27.7%,完成了高吞吐率加/解密算法硬件實現(xiàn)的目標,可以很好地滿足本文提出的高速混合加密系統(tǒng)的需求。

5 結(jié)束語

本文提出了一種基于國密算法SM2、SM3、SM4的高速混合加密系統(tǒng),通過混合使用三種加密算法,避免了單一密碼體制安全性不高、加密速率過慢、密鑰管理不便等缺點。此外,本文還對系統(tǒng)中限制整體加/解密速度提升的SM2和SM4算法進行硬件實現(xiàn)上的優(yōu)化設(shè)計。實驗結(jié)果表明,本文設(shè)計的SM2硬件電路由于采用了二級點運算并行架構(gòu),在運算速率與硬件利用率上相比于現(xiàn)有工作更具優(yōu)勢。另外,本文在輪間流水結(jié)構(gòu)的基礎(chǔ)上,對內(nèi)部電路進行分析與優(yōu)化,設(shè)計出了一種基于復(fù)合域S盒的SM4二次流水架構(gòu),進一步提高了電路工作頻率,其最高峰值吞吐率達到了53.76 Gbps。綜上所述,本文所設(shè)計的混合加密系統(tǒng)通過采用多種加密算法以及對相關(guān)電路進行優(yōu)化,在保證安全性的同時提供了極高的運算速率,解決了大數(shù)據(jù)時代下海量數(shù)據(jù)加/解密的高速加/解密需求。

參考文獻:

[1]Mostafaa H,Eisaa S M,Issaa H H,et al.Lightweight hybrid encryption system with FPGA design proposal[J].IOP Conference Series:Materials Science and Engineering,2021,1051(1):012023.

[2]Shende V,Kulkarni M.FPGA based hardware implementation of hybrid cryptographic algorithm for encryption and decryption[C]//Proc of IEEE ICEECCOT.Piscataway,NJ:IEEE Press,2017:416-419.

[3]卞建秀,李垣江,王建華.基于SM4和ECC的混合加密算法研究[J].計算機應(yīng)用與軟件,2016,33(10):303-306,324.(Bian Jianxiu,Li Yuanjiang,Wang Jianhua.Study on SM4 and ECC-based hybrid encryption algorithm[J].Computer Applications and Software,2016,33(10):303-306,324.)

[4]方軼,叢林虎,鄧建球.基于國密算法的武器裝備數(shù)據(jù)混合加密方案[J].探測與控制學(xué)報,2020,42(1):121-126.(Fang Yi,Cong Linhu,Deng Jianqiu.A hybrid encryption scheme of weapons and equipment data based on national security algorithm[J].Journal of Detection and Control,2020,42(1):121-126.)

[5]Wang Tong,Cui Wenpeng,Li Tong,et al.The research of the SM2,SM3 and SM4 algorithms in WLAN of transformer substation[C]//Proc of the 3rd International Conference on Electronic Information Technology and Computer Engineering.Piscataway,NJ:IEEE Press,2019:276-283.

[6]Zheng Xin,Xu Chongyao,Hu Xianghong,et al.The software/hardware co-design and implementation of SM2/3/4 encryption/decryption and digital signature system[J].IEEE Trans on Computer-Aided Design of Integrated Circuits and Systems,2019,39(10):2055-2066.

[7]郭曉,蔣安平,宗宇.SM2高速雙域Montgomery模乘的硬件設(shè)計[J].微電子學(xué)與計算機,2013,30(9):17-21.(Guo Xiao,Jiang Anping,Zong Yu.A high speed structure for dual-field Montgomery modular multiplication in SM2[J].Microelectronics and Compu-ter,2013,30(9):17-21.)

[8]Zhang Dan,Bai Guoqiang.High-performance implementation of SM2 based on FPGA[C]//Proc of the 8th IEEE International Conference on Communication Software and Networks.Piscataway,NJ:IEEE Press,2016:718-722.

[9]楊博,孟李林,陶瓊.基于FPGA的F_P域模乘與模逆的設(shè)計與實現(xiàn)[J].微電子學(xué)與計算機,2017,34(5):54-58.(Yang Bo,Meng Lilin,Tao Qiong.Design of F_P field modular multiplication and mo-dular inversion based on FPGA[J].Microelectronics and Compu-ter,2017,34(5):54-58.)

[10]Gao Xianwei,Lu Erhong,Xian Liqin,et al.FPGA implementation of the SMS4 block cipher in the Chinese WAPI standard[C]//Proc of IEEE ICESS.Piscataway,NJ:IEEE Press,2008:104-106.

[11]Wang Husen,Li Shuguo.High performance FPGA implementation for SMS4[M].Berlin:Springer,2011:469-475.

[12]王晨光,喬樹山,黑勇.分組密碼算法SM4的低復(fù)雜度實現(xiàn)[J].計算機工程,2013,39(7):177-180.(Wang Chenguang,Qiao Shushan,Hei Yong.Low complexity implementation of block cipher SM4 algorithm[J].Computer Engineering,2013,39(7):177-180.)

[13]周洲,何一凡,沈海斌,等.SMS4密碼算法高速引擎實現(xiàn)[J].電子器件,2007(4):1469-1471,1480.(Zhou Zhou,He Yifan,Shen Haibin,et al.High-speed implementation of the SMS4 algorithm engine[J].Journal of Electron Devices,2007(4):1469-1471,1480.)

[14]Fu Hailiang,Bai Guoqiang,Wu Xingjun.A very compact masked S-box for high-performance implementation of SM4 based on composite field[C]//Proc of ICST.Berlin:Springer,2017:710-721.

[15]汪朝暉,張振峰.SM2 橢圓曲線公鑰密碼算法綜述[J].信息安全研究,2016,2(11):972-982.(Wang Zhaohui,Zhang Zhenfeng.Overview on public key cryptographic algorithm SM2 based on elliptic curves[J].Journal of Information Security Research,2016,2(11):972-982.)

[16]呂述望,蘇波展,王鵬,等.SM4分組密碼算法綜述[J].信息安全研究,2016,2(11):995-1007.(Lyu Shuwang,Su Bozhan,Wang Peng,et al.Overview on SM4 algorithm[J].Journal of Information Security Research,2016,2(11):995-1007.)

[17]鄒雪城,周家樂,劉文超,等.小面積高兼容性RSAamp;SM2的硬件實現(xiàn)方法[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2019,47(1):79-84.(Zou Xuecheng,Zhou Jiale,Liu Wenchao,et al.Design method of RSAamp;SM2 hardware with low-area and high-compatibility[J].Journal of Huazhong University of Science and Technology:Natural Science,2019,47(1):79-84.)

[18]Zhao Zhenwei,Bai Guoqiang.Ultra high-speed SM2 ASIC implementation[C]//Proc of the 13th IEEE International Conference on Trust,Security and Privacy in Computing and Communications.Piscataway,NJ:IEEE Press,2014:182-188.

[19]Hankerson D,Menezes A J,Vanstone S.Guide to elliptic curve cryptography[M].[S.l.] :Springer Science amp; Business Media,2006.

[20]李凡,李云峰,翁天恒,等.基于FPGA的SM2點運算快速并行實現(xiàn)[J].電子測量技術(shù),2020,43(15):105-111.(Li Fan,Li Yunfeng,Weng Tianheng,et al.Implementation of parallel and fast SM2 point calculation on FPGA[J].Electronic Measurement Technology,2020,43(15):105-111.)

[21]Liu Fen,Wen Ji,Lei Hu,et al.Analysis of the SMS4 block cipher[C]//Proc of ACISP.Berlin:Springer,2007:158-170.

[22]徐艷華,白雪飛,郭立.適合SMS4算法硬件實現(xiàn)的S盒構(gòu)造新方法[J].中國科學(xué)技術(shù)大學(xué)學(xué)報,2009,39(11):1164-1170.(Xu Yanhua,Bai Xuefei,Guo Li.A new algorithm of S-box for hardware implementation of SMS4[J].Journal of University of Science and Technology of China,2009,39(11):1164-1170.)

[23]陸啟樂.一種面向橢圓曲線的雙域點乘加速器的設(shè)計[D].南京:東南大學(xué),2018.(Lu Qile.Design of a dual-field point multiplication accelerator in elliptic curve cryptography[D].Nanjing:Southeast University,2018.)

[24]陸江城.基于非對稱加密算法的加密系統(tǒng)的研究與實現(xiàn)[D].廣州:廣東工業(yè)大學(xué),2020.(Lu Jiangcheng.Research and implementation of encryption system based on asymmetric encryption[D].Guangzhou:Guangdong University of Technology,2020.)

[25]張盛仕,胡湘宏,熊曉明.基于國密算法SM2軟硬件協(xié)同系統(tǒng)的FPGA架構(gòu)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2019,19(7):15-19.(Zhang Shengshi,Hu Xianghong,Xiong Xiaoming.FPGA architecture of software and hardware co-design based on nation secret algorithm SM2[J].Microcontrollers and Embedded Systems,2019,19(7):15-19.)

[26]Guan Zhenyu,Li Yunhao,Shang Tao,et al.Implementation of SM4 on FPGA:trade-off analysis between area and speed[C]//Proc of IEEE ISR.Piscataway,NJ:IEEE Press,2018:192-197.

[27]Liu Zilong,Liu Dongsheng,Zou Xuecheng.An efficient and flexible hardware implementation of the dual-field elliptic curve cryptographic processor[J].IEEE Trans on Industrial Electronics,2017,64(3):2353-2362.

[28]張麗.雙域橢圓曲線密碼協(xié)處理器關(guān)鍵技術(shù)研究[D].西安:西安電子科技大學(xué),2019.(Zhang Li.Research on key technology of dualfield elliptic curve cryptography coprocessor[D].Xi’an:Xidian University,2019.)

[29]劉金峒,梁科,王錦,等.SM4加密算法可裁剪式結(jié)構(gòu)設(shè)計與硬件實現(xiàn)[J].南開大學(xué)學(xué)報:自然科學(xué)版,2019,52(4):41-45.(Liu Jintong,Liang Ke,Wang Jin,et al.Tailorable structure design and hardware implementation of SM4 encryption algorithm[J].Journal of Nankai University:Natural Science,2019,52(4):41-45.)

[30]何詩洋,李暉,李鳳華.SM4算法的FPGA優(yōu)化實現(xiàn)方法[J].西安電子科技大學(xué)學(xué)報,2021,48(3):155-162.(He Shiyang,Li Hui,Li Fenghua.Optimization and implementation of the SM4 on FPGA[J].Journal of Xidian University,2021,48(3):155-162.)

主站蜘蛛池模板: 日韩精品一区二区三区免费| 中文字幕久久波多野结衣| 99久久国产综合精品女同| 狠狠色香婷婷久久亚洲精品| 四虎国产精品永久一区| 国产美女免费| 国产欧美一区二区三区视频在线观看| 久热精品免费| 国产成人精品综合| 91年精品国产福利线观看久久| 米奇精品一区二区三区| 热99精品视频| 亚欧乱色视频网站大全| 青草国产在线视频| 欧美亚洲日韩中文| 在线五月婷婷| 一级福利视频| 亚洲国产综合精品中文第一| 免费三A级毛片视频| 亚洲αv毛片| 91亚洲国产视频| 精品少妇人妻av无码久久| 国产美女无遮挡免费视频网站| 免费看一级毛片波多结衣| 亚洲国产成人麻豆精品| 欧美日韩北条麻妃一区二区| 国产精品视频第一专区| 亚洲第一天堂无码专区| 久99久热只有精品国产15| 一本大道AV人久久综合| 欧美一区精品| 国产综合另类小说色区色噜噜| 美女视频黄频a免费高清不卡| 国产剧情国内精品原创| 久久亚洲国产最新网站| 欧美在线综合视频| www.国产福利| 亚洲最大福利网站| 亚洲人精品亚洲人成在线| 丁香婷婷激情综合激情| 无码中文字幕精品推荐| 亚洲日韩精品欧美中文字幕| 色偷偷一区| 色综合网址| 精品一区二区三区水蜜桃| 亚洲一区波多野结衣二区三区| 黄色网页在线观看| 国产精品香蕉在线观看不卡| 91免费在线看| 丁香六月激情综合| 国产又粗又猛又爽视频| 成年人久久黄色网站| A级毛片高清免费视频就| 国产爽歪歪免费视频在线观看| 成人中文字幕在线| аⅴ资源中文在线天堂| 免费久久一级欧美特大黄| 精品超清无码视频在线观看| 亚洲国产成人麻豆精品| 日本亚洲欧美在线| 欧美综合一区二区三区| 国产超碰一区二区三区| 国内黄色精品| 国产高清不卡视频| 欧美国产成人在线| 中文无码精品A∨在线观看不卡 | 国产毛片高清一级国语 | 成人亚洲国产| 亚洲欧美国产高清va在线播放| 超碰精品无码一区二区| 欧美精品啪啪| 国产啪在线91| 免费va国产在线观看| 久久免费看片| 色综合狠狠操| 欧美啪啪网| 国产手机在线观看| 亚洲欧洲日韩久久狠狠爱| 美臀人妻中出中文字幕在线| 国产免费人成视频网| 国产一级无码不卡视频| 国产精品视频系列专区|