?

低功耗嵌入式平臺的SM2國密算法優化實現

2022-02-04 06:26劉贛秦李暉朱輝黃煜坤劉興東
網絡與信息安全學報 2022年6期
關鍵詞:蒙哥馬利標量嵌入式

劉贛秦,李暉,朱輝,黃煜坤,劉興東

低功耗嵌入式平臺的SM2國密算法優化實現

劉贛秦,李暉,朱輝,黃煜坤,劉興東

(西安電子科技大學網絡與信息安全學院,陜西 西安 710071)

隨著無線通信技術的發展和智能終端的普及,越來越多的密碼算法被應用到物聯網設備中以保障通信安全和數據安全,其中,由國家密碼管理局提出的SM2橢圓曲線公鑰密碼算法作為我國自主研發的橢圓曲線公鑰密碼算法具有安全性高、密鑰短的優點,已在通信系統中廣泛部署,應用于身份認證、密鑰協商等關鍵環節。然而,由于算法涉及有限域上的大整數運算,計算開銷較大,在低功耗嵌入式平臺下的執行嚴重影響用戶體驗。因此,面向ARM-m系列處理器提出了一種低功耗嵌入式平臺的SM2算法的高效實現方案。具體來說,通過Thumb-2指令集提供的支持處理進位和節省尋址周期,對大整數的模加、模減等基礎運算進行優化,并結合平臺可用寄存器的數量構建高效的基礎運算模塊;基于ARM-m系列處理器乘累加指令周期短的特點,優化蒙哥馬利乘法實現,并結合CIOS算法設計高效的模乘方案,方案不再局限于梅森素數,極大地提高了模乘計算的速度和靈活性;在理論分析和實驗測試的基礎上,給出了嵌入式平臺上多倍點標量乘法wNAF滑動窗法的窗長選取方法。實驗測試結果表明,可有效提升資源受限的低功耗嵌入式平臺中SM2算法的計算效率,不做預計算的情況下在Cortex-M3處理器上測試簽名速度可達0.204秒/次,驗簽速度0.388秒/次,加密速度0.415秒/次,解密速度0.197秒/次。

信息安全;橢圓曲線密碼體制;SM2;嵌入式平臺;優化

0 引言

物聯網技術出現后,因其具有使用成本低、部署難度小的特點,被廣泛應用于各種領域,但在技術迅速得到發展和應用的同時,其安全問題逐漸成為關注重點。在低功耗嵌入式設備中, ARM-m系列處理器在包括微控制器、智能汽車系統、工業控制系統、智能家居以及無線網絡和傳感器等領域應用廣泛,其中Cortex-M3處理器部署的IoT設備數量可達數十億。為保障信息安全,需利用加密技術對信息進行保護,而通過公鑰密碼系統(PKC,public key cryptosystem)對數據信息進行加密或簽名保護是保障網絡信息安全的主要方法之一。橢圓曲線公鑰密碼(ECC,elliptic curve cryptography)算法的安全性基于橢圓曲線離散對數問題難以求解,在相同安全程度要求下密鑰規模小于其他公鑰密碼系統,具有密鑰短、運算快、傳輸效率高的特點,更適合各類資源受限的IoT設備。國家密碼管理局于2010年12月17日提出了SM2橢圓曲線公鑰密碼算法[1],不僅滿足了各種商用密碼的應用需要,也對我國信息安全體系建設有著重大意義。

然而,橢圓曲線底層運算較為復雜,執行簽名、加密計算時將對資源受限的IoT設備產生大量運算壓力,設計一種高效的橢圓曲線計算方案可以有效地降低服務商的設備部署成本,提升用戶體驗。近年來,研究人員對SM2算法針對不同應用場景需要提出了許多解決方案,大多側重于應用方面[2-4],對于優化實現關注較少。針對以上問題,本文基于ARM-m系列處理器特點設計并實現了一種SM2國密算法的高效計算方案。

SM2算法主要可分為4個層次,域運算層、點運算層、多倍點標量乘運算層、SM2協議層,如圖1所示,其優化手段與傳統ECC算法基本一致。域運算的優化實現研究主要針對計算量較大的模乘與模逆。數學家蒙哥馬利(Montgomery)于1985年提出了蒙哥馬利乘法[5],極大地提高了大整數計算模乘的速度,Koc等[6]在此基礎上對蒙哥馬利約減算法的步驟進行整合,提出了5種優化的蒙哥馬利約減算法,進一步提高了效率;文獻[7]提出了梅森素數法,對于特定素數效率有所提高。而近年來對于模乘的優化研究偏重于硬件層面,Aashish等[8]設計了Montgomery 乘法器,有效地提高了模乘吞吐量,文獻[9]設計了基于硬件的交叉模乘;面向嵌入式平臺,王騰飛等[10]提出一種基于協處理器指令的優化方案,同樣加快了計算速度;但基于硬件的方法存在靈活性缺陷,將現有的各類嵌入式設備進行硬件升級成本較大。兩乘數相等計算大整數平方時,在一些算力較強的平臺上表現較好的一種思路是利用Karatsuba算法和ToomCook算法[11]對平方計算進行加速;針對支持64位運算的平臺,李斌等[12]提出了結合硬件KOA乘法和梅森素數法的模乘方案。對于大整數模逆的優化計算,Hossain等[13]提出了基于擴展Euclid算法的模逆算法,面向GPU等平臺Zhou等[14]設計了利用費馬小定理計算模逆的方案,文獻[15]在此基礎上進一步縮短了所需加法鏈。對于ECC的上層運算,文獻[16]針對ECC的點運算進行優化,分析了各類坐標系下計算的優劣,取得了約 30%的計算速度提升?;旌献鴺朔╗17]由Cohen提出,討論了求逆與模乘時間比不同時各類混合坐標系的優劣性。文獻[18]提出了ECC標量乘法對使用預處理及窗口技術提高點乘計算效率的思想。由Longa提出的m-DBL算法[19]基于模乘與模平方效率不同,將重復倍點運算中的模乘轉化為模平方來加速運算;文獻[20]介紹了用預計算的查表法對固定點標量乘法進行加速;文獻[21]利用可并行的蒙哥馬利點乘加速了多倍點標量乘法運算。但此類方法大多針對強算力平臺,對于各種資源受限的嵌入式平臺,由于對平臺的一些特點缺乏針對性,如存儲受限、并行效率差,實測時計算緩慢,效果欠佳。

圖1 SM2算法層次

Figure 1 Structure of algorithm SM2

本文針對SM2國密算法,充分利用低功耗嵌入式平臺特點,對橢圓曲線密碼體制的底層運算進行優化實現研究,對算法的一些關鍵步驟進行改進,主要貢獻包括以下幾個方面。

1) 結合ARM-m系列MCU訪存開銷大的特點,構建了基于Thumb-2指令集的大整數模加、模減基礎運算模塊,結合平臺可用寄存器的數量進行高效分配,相比LibTomMath開源庫實現的模加方案性能提升2.42倍。

2) 考慮平臺并行效率不高以及訪存較慢的特點,優化了蒙哥馬利乘法,并結合CIOS算法設計了高效的模乘方案,效率超過了在大部分平臺上表現較好的梅森素數法和其他各種公開算法,同時避免了梅森素數法對于特定素數的限制問題,提高了算法靈活性,簽名效率相比梅森素數法提升約6.13%。

3) 為存儲受限環境高效計算ECC多倍點標量乘法提供了解決方案,利用NAF算法計算多倍點標量乘法,分析了使得預計算和乘法階段時間總和最短的窗長選取,并通過實驗測試驗證了結論。

4) 在搭載Cortex-M3處理器的開發板上應用優化方案實現了使用256位素域橢圓曲線的SM2簽名、驗簽、公鑰生成以及加解密算法,并進行了各項對比測試。實驗測試證明提出的優化方案效果顯著,達到了0.205次/秒簽名,0.415次/秒加密速度,相比LibTomMath開源庫實現的版本簽名性能提升1.62倍,加密性能提升1.59倍。

1 背景知識

1.1 SM2數字簽名算法

1.2 SM2加密算法

1.3 橢圓曲線定義及坐標表示

1.4 蒙哥馬利乘法

1.5 擴展歐幾里得算法

1.6 Cortex-M3及Thumb-2指令集

ARM公司為了更好適應微控制器和受限的節能應用需求,設計了ARM-m系列處理器,其中Cortex-M3處理器應用廣泛,采用ARMv7-M架構,包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架構。Thumb-2在Thumb指令集架構(ISA,instruction set architecture)上進行了大量的改進,它與Thumb相比,具有更高的代碼密度并提供16/32位指令的更高性能。部分Thumb-2指令集如表1所示。

2 域運算優化

SM2算法中基礎四則運算涉及的操作數均為256位大整數,運算在有限域中進行。根據Gura等[24]的研究,MCU平臺開銷最大的操作為訪存,因此算法優化時應盡可能減少訪存次數,將常用字段放在寄存器中。本節介紹面向低功耗嵌入式平臺的域運算構建和優化方法,對資源有限的寄存器進行合理利用。

表1 部分Thumb-2指令集

2.1 快速模加減

模加減所得結果為有限域中的元素,在采用標準進制表示時,被存儲在一組機器字中,以Cortex-M3平臺的32位架構為例,機器字可表示為16、32位整型或64位浮點型。由文獻[25]可知,浮點型對字的利用率低,僅有31.25%。而16位及32位帶符號整型對字的利用率均不及32位無符號整型。因此,本文存儲256位整數時均使用32位無符號整型。有限域中256位模加計算過程如算法1所示。

算法1 256位模加

輸入 加數,加數,素域

3) 對從7到0,重復執行

5) 對從1到7,重復執行:

圖2 指令集處理256位模加示意

Figure 2 The instruction set handles 256 bit modules plus

圖3 指令集處理256位減法示意

Figure 3 The instruction set handles 256-bit subtraction

表2 通用寄存器的分配

2.2 改進的蒙哥馬利模乘

模乘的執行過程通??煞譃閮蓚€階段,蒙哥馬利乘法[5]和梅森素數法[7]。首先計算256位乘法,再計算模約減??紤]MCU平臺通常搭載嵌入式實時操作系統,并行效率低;并且,測試中模平方的按位二次展開法效果不佳,因此舍棄了蒙哥馬利乘法中的相關步驟。由1.4節介紹的蒙哥馬利乘法,注意到

使用式(11)計算時,相比1.4節中介紹的蒙哥馬利乘法,僅計算兩次蒙哥馬利約減和兩次256位乘法。進一步,可將乘法和約減步驟結合考慮,本文基于CIOS(coarsely integrated operand scanning)算法[6]對蒙哥馬利約減算法進行優化,調整蒙哥馬利乘法的循環體和乘法計算順序,整合了乘法和約減過程。整個計算過程分為一層外循環和兩層內循環,基于大整數運算的分段思想,外循環拆解乘數至32位,第一層每次取的32位在結果數組中乘累加,第二層計算取約減數再次乘累加,由于結果數組的部分可常駐寄存器,相比先相乘后約減的模乘計算方式有效降低了訪存次數。蒙哥馬利約減算法如算法2所示。

算法2 蒙哥馬利約減算法

對從0到7,重復執行

算法3 改進的蒙哥馬利模乘算法

3 多倍點標量乘法優化

算法4NAF標量表示算法

輸入 標量

算法5NAF標量乘法算法

顯然,算法效率與標量的漢明重量(非0元素個數)有關,標量表示算法可以有效降低標量的漢明重量。其他標量乘法算法亦可分為預計算和乘法執行兩階段,即通過預計算臨時存儲得到的結果對乘法執行過程進行加速。一般地,預計算得到結果越多,乘法執行時越快,預計算時間也會增長,所以考慮兩階段開銷總和作為算法整體性能標準。計算固定點的乘法時,預計算所得結果可在多次乘法中重復使用,此時預計算所耗時間可忽略不計??紤]低功耗嵌入式設備中存儲資源有限,存儲一張預計算的乘法表會占用較多存儲資源,因此假設預計算結果僅用于一次乘法。忽略對點求加法逆的開銷,標量長度為256時,考慮最壞情形下(即標量二進制表示漢明重量為256)的NAF標量乘法計算量如表3所示。

表3 256位標量計算量

注:A代表點加運算,D代表倍點運算

預計算階段開銷隨增大呈指數型增長,同時乘法階段計算量的減少量逐漸下降。算法實質上是通過NAF重編碼算法獲得的標量中的漢明重量減少,從而減少點加計算次數,提高了多倍點標量乘法的整體性能。

4 實驗分析

本節給出優化實現的SM2國密算法的性能數據,使用了基于Tom StDenis編寫的LibTomMath開源大數運算庫實現的SM2國密算法作為對比。測試時使用橢圓曲線及有限域參數均為文獻[28]中給定參數。

本文進行測試的硬件環境為搭載cortex-M3的STM32F103ZET6開發板和ST-Link下載器,系統時鐘頻率為72 MHz(STM32F103ZET6有5個時鐘源,最大頻率為72 MHz),存儲flash為512 kB;軟件環境為keil5.0編譯器。編譯參數使用了-O3、-Otime、--apcs=interwork,用于開啟編譯器優化和thumb指令集和ARM指令集混合調用。以運行時間作為評價指標,將設計的方案與一些其他公開算法進行對比評測。

對于基礎運算模塊,為避免次數較少、特殊數據的影響,通過重復執行10次公鑰生成過程在keil5.0中的Simulator對本文實現的模加模塊和LibTomMath開源大數運算庫中的模加模塊進行對比測試,由于庫中大數結構體定義較為復雜,對其進行了精簡,限定為256位整數,結果如表4所示,共執行44 200次,可見本文設計的基于Thumb-2指令集的優化方案使模加算法的執行效率提升明顯,性能提升2.42倍。

表4 素數域模加測試結果

同樣地,在開發板上實現設計的模乘方案和一些其他公開算法,進行對比評測。由于模乘在整個SM2算法中開銷占比約70%,以隨機生成的相同公私鑰對整個SM2協議運行時間進行測試,通過JTAG調試模塊記錄時間,結果如表5所示。

表5 不同模乘算法下SM2算法性能測試結果

由于平臺本身不支持模平方的加速算法,同時結合MCU平臺訪存開銷大的特點,設計的模乘方案優于強算力平臺中表現較好的梅森素數法,且避免了對素數的限定,更廣泛適用于實際環境中各種需要更換橢圓曲線參數來提高安全性的需求,同時兼顧SM2國密算法中的模運算和模運算,亦可在其他需計算大整數模乘的密碼算法中推廣。

為了測評多倍點標量乘法中的標量表示算法,對1 000次未知點多倍點標量乘法計算時間進行測試對比,結果如圖4所示,其中預計算開銷如表6所示。

圖4 多倍點標量乘法測試結果

表6 預計算開銷分析

結果表明,取=4時的NAF算法效果最佳。由表3可知,最壞情形時取5較取4少計算一次點加,但實際情況中標量的漢明重量通常少于最壞情形,故考慮預計算結果僅用于一次乘法時,應取=4,適用于未知點乘法,對于固定點乘法預計算時間可忽略不計,此時窗長取值可視存儲情況而定。

與基于LibTomMath庫構建基礎運算的實現的SM2算法進行對比測試,同時對本文設計的SM2國密算法優化方案的整體性能表現進行評估。對簽名、驗簽、公鑰生成、加密、解密運算各執行1 000次取平均值,結果如圖5所示,單次簽名速度可達0.205秒/次,加密速度0.415秒/次,顯著優于基于開源庫LibTomMath實現的SM2國密算法,簽名性能提升1.62倍,加密性能提升1.59倍。

圖5 SM2算法測試結果

5 結束語

本文面向低功耗嵌入式平臺設計了SM2算法的優化實現方案,其中通過Thumb-2指令集的支持構建了高效的模加減運算模塊,對上層運算提供支持;結合低功耗嵌入式平臺訪存慢、并行效率低的特點,基于蒙哥馬利乘法進行改良,并結合CIOS算法設計了高效的模乘計算方案,相比梅森素數法提高了靈活性和效率。實驗結果表明,本文給出的優化實現能有效地提升SM2算法的計算速度,實驗測試中達到了0.205秒/次簽名,0.415秒/次加密速度,可以更好地滿足在低功耗嵌入式設備上高效計算簽名與加密的需求,具有非常高的實際應用價值。

[1] 國家密碼管理局. SM2橢圓曲線公鑰密碼算法第1部分: 總則: GM/T 0003.1-2012[S]. 北京:中國標準出版社, 2012:8.

State Cryptography Administration. SM2 elliptic curve public key cryptography algorithm part 1: general provisions: GM/T 0003.1-2012[S].8 Beijing: China Standard Press, 2012: 8.

[2] 羅玙榕, 曹進, 李暉, 等. 基于SM2聯合簽名的電子發票公開驗證方案[J]. 網絡與信息安全學報, 2022, 8(2): 122-131.

LUO Y R, CAO J, LI H, et al. Electronic invoice public verification scheme based on SM2 joint signature [J]. Journal of Network and Information Security, 2022, 8(2): 122-131.

[3] 陳鋒, 鄒洪, 吳亞楠, 等. 基于SM2密碼體系的電力信息安全監控系統設計[J]. 電子設計工程, 2022, 30(5):100-103, 108.

CHEN F, ZOU H, WU Y N, et al. Design of power information security monitoring system based on sm2 cipher system[J]. Electronic Design Engineering, 2022, 30(5):100-103, 108.

[4] 程朝輝. 基于SM2的無證書加密算法[J]. 密碼學報, 2021, 8(1): 87-95.

CHENG C H. Certificateless encryption algorithm based on SM2 [J]. Journal of Cryptography, 2021, 8(1): 87-95.

[5] MONTGOMERY P L. Modular multiplication without trial division[J]. Mathematics of Computation, 1985, 44(170): 519-521.

[6] KOC C, ACAR T, JR B. Analyzing and comparing montgomery multiplication algorithms[J]. Micro, IEEE, 1996, 16(3): 26-33.

[7] SOLINAS J A. Generalized mersenne numbers[M]. Faculty of Mathematics, University of Waterloo, 1999.

[8] PARIHAR A, NAKHATE S. High-speed high-throughput VLSI Architecture for RSA montgomery modular multiplication with efficient format conversion[J]. Journal of the Institution of Engineers (India) Series B, 2019, 100(2): 217-222.

[9] RAHMAN M S, HOSSAIN M S, RAHAT E H, et al. Efficient hardware implementation of 256-bit ECC processor over prime field[C]//2019 International Conference on Electrical, Computer and Communication Engineering (ECCE). 2019: 1-6.

[10] 王騰飛, 張海峰, 許森. SM2專用指令協處理器設計與實現[J].計算機工程與應用, 2022, 58(2): 102-109.

WANG T F, ZHANG H F, XU S. Design and implementation of SM2 special instruction coprocessor[J]. Computer Engineering and Applications, 2022, 58(2): 102-109.

[11] DING J N,LI S G,GU Z. High-speed ECC processor over NIST prime fields applied with toom–cook multiplication[J]. IEEE Transactions on Circuits and Systems I, 2019, 66(3): 1003-1016.

[12] 李斌, 周清雷, 陳曉杰, 等. 可重構的素域SM2算法優化方法[J].通信學報, 2022, 43(3): 30-41.

LI B, ZHOU Q L, CHEN X J, et al. Optimization of reconfigurable SM2 algorithm over prime field[J]. Journal of Communication, 2022, 43(3): 30-41.

[13] HOSSAIN M S, KONG Y. High-performance FPGA implementation of modular inversion over F_256 for elliptic curve cryptography[C]//2015 IEEE International Conference on Data Science and Data Intensive Systems. 2015: 169-174.

[14] ZHOU L, SU C, HU Z, et al. Lightweight implementations of NIST P-256 and SM2 ECC on 8-bit resource-constraint embedded device[J]. ACM Transactions on Embedded Computing Systems (TECS), 2019, 18(3): 1-13.

[15] 朱輝, 黃煜坤, 王楓為, 等. 一種基于圖形處理器的高吞吐量 SM2 數字簽名計算方案[J]. 電子與信息學報, 2022, 44(10): 1-10.

ZHU H, HUANG Y K, WANG F W, et al. A high throughput SM2 digital signature computing scheme based on graphics processor[J]. Journal of Electronics and Information Technology, 2022, 44(10): 1-10.

[16] LONGA P, GEBOTYS C. Efficient techniques for high-speed elliptic curve cryptography[C]//International Workshop on Cryptographic Hardware and Embedded Systems. Heidelberg, 2010: 80-94.

[17] COHEN H, MIYAJI A, ONO T. Efficient elliptic curve exponentiation using mixed coordinates[C]//International Conference on the Theory and Application of Cryptology and Information Security. 1998: 51-65.

[18] SETIADI I, KISTIJANTORO A I, MIYAJI A. Elliptic curve cryptography: Algorithms and implementation analysis over coordinate systems[C]//2015 2nd International Conference on Advanced Informatics: Concepts, Theory and Applications (ICAICTA). 2015: 1-6.

[19] LONGA P, MIRI A. Fast and flexible elliptic curve point arithmetic over prime fields[J]. IEEE Transactions on Computers, 2008, 57(3): 289-302.

[20] HANKERSON D, MENEZES A J, VANSTONE S. Guide to elliptic curve cryptography[M]. Springer Science & Business Media, 2006.

[21] ISLAM M M, HOSSAIN M S, HASAN M K, et al. FPGA implementation of high-speed area-efficient processor for elliptic curve point multiplication over prime field[J]. IEEE Access, 2019, 7: 178811-178826.

[22] 國家密碼管理局. SM3 密碼雜湊算法: GMT 0004.4-2012[S]. 北京:中國標準出版社, 2012:8.

National Cryptography Administration. SM3 password hashing algorithm: GMT 0004.4-2012[S]. Beijing: Standards Press of China, 2012:8.

[23] RIVAIN M. Fast and regular algorithms for scalar multiplication over elliptic curves[J]. Cryptology ePrint Archive, 2011.

[24] GURA N, Patel A, Wander A, et al. Comparing elliptic curve cryptography and RSA on 8-bit CPUs[C]//International Workshop on Cryptographic Hardware and Embedded Systems. 2004: 119-132.

[25] Advanced Micro Devices, Inc. AMD graphic core next[R]. Advanced Micro Devices, Inc, 2011.

[26] DUSSE S R, KALISKI B S. A cryptographic library for the Motorola DSP56000[C]//Workshop on the Theory and Application of Cryptographic Techniques. 1990: 230-244.

[27] MUIR J, STINSON D. Minimality and other properties of the width-𝑤 nonadjacent form[J]. Mathematics of Computation, 2006, 75(253): 369-384.

[28] 國家密碼管理局. SM2橢圓曲線公鑰密碼算法第5部分:參數定義: GMT 0003.4-2012[S]. 北京: 中國標準出版社, 2012.

National Cryptography Administration. SM2 Elliptic curve public key cryptography algorithm Part 5: Parameter definition: GMT 0003.4-2012[S]. Beijing: Standards Press of China, 2012.

[29] 閆閔. 基于GPU的SM2數字簽名和驗證算法的快速實現與優化[D]. 上海: 上海交通大學, 2020.

YAN M. Fast implementation and optimization of SM2 digital signature and verification algorithm based on GPU [D]. Shanghai: Shanghai Jiaotong University, 2020.

Public key cryptographic algorithm SM2 optimized implementation on low power embedded platform

LIU Ganqin, LI Hui, ZHU Hui, HUANG Yukun, LIU Xingdong

School of Cyber Engineering, Xidian University, Xi’an 710071, China

With the development of wireless communication technology and the popularization of intelligent terminals, more and more cryptographic algorithms are applied to IoT devices to ensure the security of communication and data. Among them, the SM2 elliptic curve public key cryptography proposed by the State Cryptography Administration is an elliptic curve public key cryptography algorithm developed domestically, which has the advantages of high security and short key. SM2 has been widely deployed in various communication systems and is used in essential parts such as identity authentication and key negotiation. However, since SM2 involves large integer operations on finite fields, the computational cost is high, and its execution on a low-power embedded platform seriously affects the user experience. Therefore, an efficient implementation scheme of SM2 algorithm for low-power embedded platform was proposed for ARM-m series processors. Specifically, Thumb-2 instruction set was adopted to handle carry and save addressing cycles, basic operations such as modulo addition and sub-traction of large integers were optimized, and the number of available registers on the platform was combined to build efficient basic operations. Besides, based on the short multiplication and accumulation instruction cycle of ARM-m series processors, the implementation of Montgomery multiplication was optimized, and an efficient modular multiplication scheme was designed in combination with the CIOS algorithm. The scheme was no longer limited to Mersenne primes, and greatly improved the speed and flexibility of modular multiplication. Based on the theoretical analysis and experimental test, the window length selection method of the multiple point-scalar multiplication wNAF sliding window method on the embedded platform was given. The experimental test results show that the proposed scheme can effectively improve the computational efficiency of the SM2 algorithm on the resource-constrained low-power embedded platform. Without pre-calculation, the test signature speed can reach 0.204s/time, the signature verification speed is 0.388s/time, the encryption speed is 0.415s/time, and the decryption speed is 0.197s/time.

information security, elliptic curve cryptosystem, SM2, embedded platform, optimization

TP393

A

10.11959/j.issn.2096?109x.2022080

2022?05?16;

2022?07?05

朱輝,zhuhui@xidian.edu.cn

國家自然科學基金(61972304, 61932015),陜西省重點產業創新鏈項目(2020ZDLGY08-04)

The National Natural Science Foundation of China (61972304, 61932015), Natural Science Foundation of Shaanxi Province (2020ZDLGY08-04)

劉贛秦, 李暉, 朱輝, 等. 低功耗嵌入式平臺的SM2國密算法優化實現[J]. 網絡與信息安全學報, 2022, 8(6): 29-38.

LIU G Q, LI H, ZHU H, et al. Public key cryptographic algorithm SM2 optimized implementation on low power embedded platform [J]. Chinese Journal of Network and Information Security, 2022, 8(6): 29-38.

劉贛秦(1998?),男,江西蓮花人,西安電子科技大學碩士生,主要研究方向為密碼算法的高性能優化。

李暉(1968?),男,河南靈寶人,博士,西安電子科技大學教授、博士生導師,主要研究方向為密碼學、無線網絡安全、云計算安全、信息論與編碼理論。

朱輝(1981?),男,河南周口人,博士,西安電子科技大學教授、博士生導師,主要研究方向為數據安全與隱私保護、安全方案及協議設計、網絡及應用安全。

黃煜坤(1998?),男,湖北襄陽人,西安電子科技大學碩士生,主要研究方向為密碼算法的高性能優化。

劉興東(1992?),男,湖南衡陽人,西安電子科技大學碩士生,主要研究方向為網絡空間安全、可信執行環境、密碼算法優化。

猜你喜歡
蒙哥馬利標量嵌入式
向量優化中基于改進集下真有效解的非線性標量化
面向ECDSA的低復雜度多標量乘算法設計
蒙哥馬利
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
一種高效的橢圓曲線密碼標量乘算法及其實現
TS系列紅外傳感器在嵌入式控制系統中的應用
搭建基于Qt的嵌入式開發平臺
應用動能定理解決多過程問題錯解典析
倍福 CX8091嵌入式控制器
蒙哥馬利與艾森豪威爾打賭
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合