摘 "要: 為了保障物聯(lián)網(wǎng)設(shè)備的隱私和安全,同時(shí)更好地滿足其資源受限的特性,采用橢圓曲線密碼(ECC)算法方案,通過優(yōu)化底層算法和電路結(jié)構(gòu),設(shè)計(jì)了基于加法器的低成本架構(gòu)的點(diǎn)乘硬件電路。采用硬件復(fù)用技術(shù)來減少資源消耗,每個(gè)模運(yùn)算電路只用一個(gè)超前進(jìn)位加法器;優(yōu)化模運(yùn)算算子調(diào)度,改進(jìn)電路結(jié)構(gòu),點(diǎn)運(yùn)算只使用兩個(gè)模加減模塊、一個(gè)模逆模塊和一個(gè)模乘模塊設(shè)計(jì)實(shí)現(xiàn)。在Xilinx公司XCZU3CG?SFVC784?1?E的FPGA平臺上進(jìn)行分析,該點(diǎn)乘電路共使用了8 927個(gè)CLB LUTs,7 789個(gè)CLB Registers,電路總功耗為0.371 W,工作頻率可達(dá)247.3 MHz,對比其他架構(gòu),處理器硬件資源節(jié)省了39.10%~72.44%。
關(guān)鍵詞: 物聯(lián)網(wǎng); 橢圓曲線密碼; 密碼處理器; 模運(yùn)算; 硬件復(fù)用; FPGA
中圖分類號: TN919?34; TN492?34 " " " " " " " " " 文獻(xiàn)標(biāo)識碼: A " " " " " " " " "文章編號: 1004?373X(2024)18?0095?06
Design of low?cost ECC processor for IoT domain
MA Jingwan, QU Yingjie
(College of Information Science and Technology, Qingdao University of Science and Technology, Qingdao 266061, China)
Abstract: In order to ensure the privacy and security of Internet of Things (IoTs) devices, and better meet the resource?limited characteristics, the elliptic curve cryptography (ECC) algorithm scheme is used to design a low?cost architecture for a dot multiplication hardware circuit based on the adder by optimizing the underlying algorithm and circuit structure. Hardware resource consumption is minimized by means of hardware reuse technology, with each modular arithmetic circuit using only one carry?save adder. By optimizing modular arithmetic operator scheduling and improving circuit structure, point operations are designed and implemented using only two modular addition and subtraction modules, one modular inverse module and one modular multiplication module. The analysis are conducted on Xilinx's XCZU3CG?SFVC784?1?E FPGA platform, a total of 8 927 CLB LUTs and 7 789 CLB Registers are used in the dot multiplication circuit, with a total power consumption of 0.371 W and an operating frequency of 247.3 MHz. In comparison with other architectures, the processor hardware resources are saved from 39.10% to 72.44%.
Keywords: Internet of Things; elliptic curve cryptography; cryptography processor; modular operation; hardware reuse; FPGA
0 "引 "言
當(dāng)物聯(lián)網(wǎng)(Internet of Things, IoT)技術(shù)迎來蓬勃發(fā)展之際,物聯(lián)網(wǎng)設(shè)備的隱私和安全問題愈發(fā)引人關(guān)注[1?2]。由于這些設(shè)備的資源有限,無法過多耗費(fèi)于密碼計(jì)算,因此,迫切需要安全、高效且占用資源小的密碼處理器,以滿足資源受限的物聯(lián)網(wǎng)設(shè)備的安全需求[3?4]。目前通用的幾種密碼算法[5]中,橢圓曲線密碼(Elliptic Curve Cryptography, ECC)算法能以較小的密鑰尺寸提供更高的安全級別,在許多資源有限的設(shè)備中被廣泛使用[6?7]。
對于電池供電的物聯(lián)網(wǎng)設(shè)備[8]而言,低面積、低功耗的設(shè)計(jì)尤為關(guān)鍵,因?yàn)檫@直接影響設(shè)備的成本、性能、可靠性和使用壽命[9]。通常情況下,面積、功耗都與硬件資源的利用情況密切相關(guān)。一般而言,在相同頻率條件下,硬件資源占用越小,面積就越小,功耗就越低,同樣成本也會越小。低成本架構(gòu)設(shè)計(jì)旨在減少硬件資源的使用,為此,本文通過優(yōu)化底層硬件算法和采用硬件復(fù)用技術(shù)改進(jìn)電路結(jié)構(gòu),從而降低硬件的消耗。此外,在降低資源消耗的基礎(chǔ)上,將加法器設(shè)計(jì)為超前進(jìn)位加法器并優(yōu)化加法器調(diào)度,以提高設(shè)備性能。
1 "橢圓曲線算法總體架構(gòu)
橢圓曲線密碼算法是一種非對稱公鑰密碼算法,其基于橢圓曲線離散對數(shù)難題[10]。與RSA算法基于大整數(shù)因子分解難題相比,ECC算法具有諸多優(yōu)勢,包括密鑰長度更短、安全性更高、運(yùn)算速度更快以及所需存儲空間更少等[11]。橢圓曲線密碼體制應(yīng)用廣泛,主要涉及加解密和數(shù)字簽名兩個(gè)方面。在橢圓曲線算法中,點(diǎn)乘運(yùn)算是最關(guān)鍵也是最復(fù)雜的一部分。
本文主要研究基于有限域GF([2256])的點(diǎn)乘運(yùn)算硬件電路。如圖1所示,點(diǎn)乘算法的實(shí)現(xiàn)可分為三個(gè)層次[12]。首先是有限域上的基本算術(shù)運(yùn)算,包括模加、模減、模乘和模逆運(yùn)算;其次是橢圓曲線點(diǎn)運(yùn)算層,包括點(diǎn)加和倍點(diǎn)運(yùn)算;最后是點(diǎn)乘運(yùn)算。點(diǎn)乘由多次點(diǎn)加和倍點(diǎn)運(yùn)算組成,點(diǎn)加和倍點(diǎn)運(yùn)算則由多次模運(yùn)算(模加、模減、模乘、模逆)組成。
2 "模運(yùn)算模塊設(shè)計(jì)
2.1 "模加和模減運(yùn)算
素?cái)?shù)域[Fp]上的模加和模減運(yùn)算與數(shù)學(xué)中的整數(shù)加減法相比,通常需要多一步取模運(yùn)算來保證最后的結(jié)果仍在素?cái)?shù)域上。素?cái)?shù)域上模加和模減運(yùn)算的具體算法如下。
算法1:素?cái)?shù)域[Fp]上的模加算法
輸入:模數(shù)[p]和整數(shù)[a,b∈0,p-1]
輸出:[c=a+bmod p]
1. [c=a+b];
2. 若[c≥p],則[c=c-p];
3. 返回[c].
算法2:素?cái)?shù)域[Fp]上的模減算法
輸入:模數(shù)[p]和整數(shù)[a,b∈0,p-1]
輸出:[c=a-bmod p]
1. [c=a-b];
2. 若[clt;0],則[c=c+p];
3. 返回[c].
算法1和算法2中的加法和減法采用補(bǔ)碼實(shí)現(xiàn),這里將加法器設(shè)計(jì)為32位的超前進(jìn)位(BCLA)加法器,256位的加法由8次累加完成,從而使得電路在提高速度的同時(shí)避免規(guī)模較大的情況。對算法中的兩個(gè)大數(shù)進(jìn)行比較時(shí),采用先相減再判斷借位的方式來設(shè)計(jì)電路,這樣可以避免兩個(gè)256 bit大數(shù)的直接比較,從而避免在綜合時(shí)被綜合成256 bit的比較器多占用資源。圖2為模加減模塊的電路結(jié)構(gòu)。
因?yàn)槟<雍湍p算法相近,所以使它們共用一套電路,通過設(shè)置一個(gè)選擇信號來控制電路進(jìn)行模加或者模減運(yùn)算。
2.2 "模乘運(yùn)算
在橢圓曲線中,模乘運(yùn)算是重要的基礎(chǔ)運(yùn)算之一,為了保證兩數(shù)乘積還在素?cái)?shù)域范圍內(nèi),通常要進(jìn)行多次取模運(yùn)算,所以模乘運(yùn)算比模加、模減運(yùn)算更為復(fù)雜。目前常見的素?cái)?shù)域模乘算法有:整數(shù)乘和快速約減算法、Montgomery模乘算法、交錯(cuò)模乘算法[13]。模乘電路的設(shè)計(jì)方案不同會使得整個(gè)密碼處理器的實(shí)際用途不同,因本文設(shè)計(jì)的初衷是用于資源有限的IoT設(shè)備,所以選擇復(fù)雜度較低且消耗硬件資源較少的快速約減算法,具體算法如下。
算法3:素?cái)?shù)域[Fp]上的模乘算法
輸入:模數(shù)[p]和整數(shù)[a,b∈0,p-1]
輸出:[c=a×bmod p]
1. [c=0].
2. 重復(fù)執(zhí)行:
1) 若[a0=1],則[c=c+b];
2) 若[c≥p],則[c=c-p];
3) [b=b?1];
4) 若[b≥p],則[b=b-p];
5) [a=a?1];
6) 若[a=0],則執(zhí)行步驟3.
3. 返回[c],算法結(jié)束.
對比其他眾多模乘約減算法,算法3的優(yōu)點(diǎn)在于能同時(shí)完成乘法和約減運(yùn)算,但是該算法還可以進(jìn)一步優(yōu)化,優(yōu)化后的模乘算法步驟如下。
算法4:優(yōu)化后的素?cái)?shù)域[Fp]模乘算法
輸入:模數(shù)[p]和整數(shù)[a,b∈0,p-1]
輸出:[c=a×bmod p]
1. [c=0];
2. 若[a0=1],則[c=c+b];
3. 若[c≥p],則[c=c-p];
4. [a=a?1];
5. 若[a=0],則返回[c],算法結(jié)束;
6. [b=b?1];
7. 若[b≥p],則[b=b-p];
8. 轉(zhuǎn)到第2步.
與算法3相比,算法4先對[a]進(jìn)行判斷,若[a]=0則直接結(jié)束運(yùn)算,這樣調(diào)整可以減少一次移位、一次比較以及一次減法運(yùn)算。另外,對于算法中出現(xiàn)的兩數(shù)比較的情況,和前面模加模塊一樣,都設(shè)計(jì)為先相減再判斷借位的方式。在資源使用方面,本文以盡可能少地使用256位寄存器為目的,除三個(gè)必要的初始數(shù)據(jù)寄存器[a]、[b]、[p]和一個(gè)結(jié)果寄存器[c]之外,只額外使用一個(gè)臨時(shí)變量寄存器[d]。通過結(jié)果寄存標(biāo)志flag來充分使用這幾個(gè)寄存器,合理利用資源。除此之外,模乘模塊只使用了一個(gè)BCLA加法器,通過設(shè)計(jì)多路選擇器來選擇操作數(shù)據(jù),從而減少硬件資源的使用。
2.3 "模逆運(yùn)算
在橢圓曲線中,模逆運(yùn)算是非常復(fù)雜且耗時(shí)的運(yùn)算,目前常用的模逆算法包括Montgomery模逆算法和擴(kuò)展的整數(shù)Euclidean模逆算法。針對基于加法器的架構(gòu)設(shè)計(jì),本文采用改進(jìn)后的擴(kuò)展的整數(shù)Euclidean算法,具體步驟如下。
算法5:改進(jìn)的Euclidean模逆算法
輸入:模數(shù)[p]和[a∈1,p-1]
輸出:[a-1mod p]
1. [u←a,v←p].
2. [x1←1,x2←0].
3.當(dāng)[u≠1]且[v≠1]時(shí),重復(fù)做下列操作:
1) 當(dāng)[u]是偶數(shù)重復(fù)做下列操作:
① [u←u2];
② 如果[x1]是偶數(shù),則[x1←x12];否則[x1←x1+p2].
2) 當(dāng)[v]是偶數(shù)重復(fù)做下列操作:
① [v←v2];
② 如果[x2]是偶數(shù),則[x2←x22];否則[x2←x2+p2].
3) 如果[u≥v],則[u←u-v],[x1←(x1-x2)mod p]; 否則[v←v-u],[x2←(x2-x1)mod p].
4. 如果[u=1],則返回[x1];否則返回[x2].
傳統(tǒng)的Euclidean算法帶有除法運(yùn)算,不利于硬件的實(shí)現(xiàn),故改進(jìn)后的算法將所有的除法都轉(zhuǎn)換成移位和減法來實(shí)現(xiàn)。此外,現(xiàn)有算法中都是在第4步對[x1]或者[x2]進(jìn)行取模操作,但是因?yàn)闊o法提前判斷運(yùn)算過程中[x1]、[x2]的大小,為了避免步驟3)中計(jì)算[x1-x2]或者[x2-x1]時(shí)出現(xiàn)負(fù)值,所以在每次減法完成后都進(jìn)行一次取模運(yùn)算,從而保證[x1]、[x2]的值非負(fù),同時(shí)確保[x1]、[x2]都在[1,p-1]內(nèi)。這樣省去了輸出時(shí)的取模運(yùn)算,使得求逆運(yùn)算和取模運(yùn)算同時(shí)完成,提高求逆運(yùn)算的效率。
根據(jù)改進(jìn)的Euclidean算法步驟可以看出,計(jì)算主要集中在步驟3,在設(shè)計(jì)電路時(shí),步驟1)和步驟2)可以并行執(zhí)行,但代價(jià)是各需要一個(gè)加法器以及其他的硬件資源,另外步驟3)中也需要4個(gè)加法器([u-v]、[x1-x2]、[(x1-x2)mod p]、[u≥v])。因?yàn)楸疚脑O(shè)計(jì)的目標(biāo)是低成本、小面積的處理器,所以這里采取以時(shí)間換面積的策略,通過硬件復(fù)用,全局只使用一個(gè)加法器來完成模逆模塊電路的設(shè)計(jì)。圖3所示為改進(jìn)后的模逆模塊的電路結(jié)構(gòu)。
另外需要說明的是,模除算法與模逆算法只是在步驟2中給[x1]賦的初值不同,模逆算法[x1]=1,模除算法[x1]=[b],其余完全相同,并且兩個(gè)算法的執(zhí)行時(shí)間幾乎相同,所以素?cái)?shù)域模逆運(yùn)算和模除運(yùn)算可以共用一套電路,這將大大節(jié)省處理器電路規(guī)模。
3 "點(diǎn)運(yùn)算模塊設(shè)計(jì)
3.1 "點(diǎn)加運(yùn)算
素?cái)?shù)域點(diǎn)加運(yùn)算是指:設(shè)橢圓曲線[y2=x3+ax+b]上存在兩個(gè)點(diǎn)[A(x1,y1)]和[B(x2,y2)],按照下面的運(yùn)算規(guī)則,求得第三個(gè)點(diǎn)[C(x3,y3)],使其滿足[C=A+B]。
點(diǎn)加運(yùn)算公式為:
[x3=r2-x1-x2y3=rx1-x3-y1]
式中[r=(y2-y1)(x2-x1)]。
點(diǎn)加運(yùn)算公式中的加減乘除運(yùn)算都是基于素?cái)?shù)域的,即模加、模減、模乘、模逆。在設(shè)計(jì)點(diǎn)加模塊時(shí),最主要的工作在于模運(yùn)算算子的合理調(diào)度。按照點(diǎn)加公式,從模減開始到計(jì)算出[x3]、[y3]的值結(jié)束,一共需要9步,但是根據(jù)硬件的優(yōu)勢,有些步驟可以同時(shí)執(zhí)行,在經(jīng)過優(yōu)化后7步即可完成,步驟如下。
Step1: [y2←y2-y1],[r←x2-x1];
Step2: [r←y2r];
Step3: [y2←r×r], [x2←x1+x2];
Step4: [x3←y2-x2];
Step5: [x1←x1-x3];
Step6: [r←r×x1];
Step7: [y3←r-y1].
上述算法除了代表運(yùn)算步驟,還顯示了寄存器重復(fù)利用的過程,該算法共使用8個(gè)寄存器:[x1]、[y1]、[x2]、[y2]、[p]、[x3]、[y3]、[r],其中[x1]、[y1]、[x2]、[y2]、[p]是初始值寄存器,[x3]、[y3]是結(jié)果寄存器,設(shè)計(jì)只額外使用了一個(gè)臨時(shí)變量寄存器[r]。
圖4所示為點(diǎn)加模塊的硬件實(shí)現(xiàn)框圖,除了上述提到的寄存器模塊外,還包括控制狀態(tài)機(jī)以及基礎(chǔ)運(yùn)算單元。在設(shè)計(jì)時(shí),考慮到點(diǎn)加運(yùn)算的復(fù)雜度主要在于一次模逆、兩次模乘運(yùn)算,所以在硬件實(shí)現(xiàn)時(shí)采用時(shí)分復(fù)用的方法,通過對運(yùn)算流程的分析,考慮每一步運(yùn)算之間的依賴關(guān)系,最終設(shè)計(jì)只使用了1個(gè)模逆運(yùn)算模塊、1個(gè)模乘運(yùn)算模塊以及2個(gè)模加減運(yùn)算模塊。圖5所示為模運(yùn)算器的使用分配圖,相比于例化不同的運(yùn)算器來說節(jié)省將近一半的資源。
器使用分配圖
3.2 "倍點(diǎn)運(yùn)算
在實(shí)現(xiàn)倍點(diǎn)模塊時(shí),由于其與點(diǎn)加模塊具有相似的特征,因此可以采用類似的方法來完成該模塊的設(shè)計(jì)。
素?cái)?shù)域倍點(diǎn)運(yùn)算是指:設(shè)橢圓曲線[y2=x3+ax+b]上存在一個(gè)點(diǎn)[P(x1,y1)],按照下面的運(yùn)算規(guī)則,求得另一個(gè)點(diǎn)[R(x3,y3)],使其滿足[R=2P]。
倍點(diǎn)運(yùn)算公式為:
[x3=r2-2x1y3=rx1-x3-y1]
式中[r=(3x21+a)(2y1)]。
倍點(diǎn)運(yùn)算順序執(zhí)行需要12步才能得到最終結(jié)果,在經(jīng)過優(yōu)化后需要9步即可完成,步驟如下。
1. [x3←x1×x1];
2. [y3←x3+x3],[a←x3+a];
3. [a←y3+a],[r←y1+y1];
4. [r←ar];
5. [a←r×r],[x3←x1+x1];
6. [x3←a-x3];
7. [a←x1-x3];
8. [a←r×a];
9. [y3←a-y1].
該算法共使用7個(gè)寄存器:[x1]、[y1]、[p]、[a]、[x3]、[y3]、[r],其中最終值[x3]、[y3]分別在第6步和第9步求出并存放在寄存器中,其余[x3]、[y3]寄存器均是存儲中間變量。
經(jīng)統(tǒng)計(jì),倍點(diǎn)運(yùn)算共經(jīng)歷了8次模加模減、3次模乘以及1次模逆運(yùn)算,復(fù)雜度較高。在硬件實(shí)現(xiàn)時(shí),為了達(dá)到速度不變、面積減小的效果,本文對電路結(jié)構(gòu)做了改進(jìn),最終只使用了2個(gè)模加減模塊、1個(gè)模逆模塊、1個(gè)模乘模塊,大大節(jié)省了硬件資源。
3.3 "點(diǎn)乘運(yùn)算
點(diǎn)乘是橢圓曲線密碼算法的核心,對密碼處理器的性能影響很大。設(shè)在橢圓曲線上存在一點(diǎn)P,[k]個(gè)P點(diǎn)相加即為點(diǎn)乘運(yùn)算,其中k為正整數(shù)。在計(jì)算kP時(shí)可以分為多次點(diǎn)加和倍點(diǎn)運(yùn)算。目前最常用的點(diǎn)乘算法有兩種:二進(jìn)制方法和NAF方法。因?yàn)镹AF方法需要使用額外的電路提前計(jì)算k的NAF值,所以本文采用二進(jìn)制點(diǎn)乘算法,算法如下。
算法6:二進(jìn)制點(diǎn)乘算法
輸入:[k=(km-1,km-2,…,k2,k1,k0)],[P]為橢圓曲線上一點(diǎn)
輸出:[kP]
1. [Q=0].
2. 對[i]從[m-1]到[0],循環(huán)執(zhí)行:
1) [Q=2Q];
2) 若[ki=1],則[Q=Q+P];
3) 返回[Q].
算法7:改進(jìn)后的二進(jìn)制點(diǎn)乘算法
輸入:[k=(km-1,km-2,…,k2,k1,k0)],[P]為橢圓曲線上一點(diǎn)
輸出:[kP]
1. [Q=0].
2. 循環(huán)執(zhí)行:
1) 若[k0=1],則[Q=Q+P];
2) [P=2P];
3) [k=k?1];
4) 若[k=0],結(jié)束循環(huán).
3. 返回[Q].
與算法6相比,算法7更加靈活,增加了一個(gè)對k的判斷操作,在執(zhí)行完一次步驟2后判斷k的高位是否都為0,若都為0則直接結(jié)束循環(huán),返回最終結(jié)果,這樣可以減少無效操作時(shí)間。
4 "實(shí)驗(yàn)結(jié)果與分析
本設(shè)計(jì)在FPGA平臺上用Xilinx公司的XCZU3CG?SFVC784?1?E進(jìn)行分析和驗(yàn)證,使用Xilinx的ISE14.7工具進(jìn)行綜合(Synthesis)和實(shí)現(xiàn)(Implementation)。經(jīng)過生成報(bào)告分析,點(diǎn)乘電路在5 ns時(shí)鐘約束下,最壞路徑建立時(shí)間裕量為0.956 ns,最壞路徑保持時(shí)間裕量為0.043 ns,最壞路徑脈沖寬度裕量為1.927 ns,估算電路主頻可達(dá)247.3 MHz,完成一次點(diǎn)乘的時(shí)間為23.4 ms,電路總功耗為0.371 W,共使用8 927個(gè)CLB LUTs、7 789個(gè)CLB Registers。表1是現(xiàn)有的橢圓曲線點(diǎn)乘架構(gòu)與本文設(shè)計(jì)的低成本架構(gòu)在FPGA平臺下的各項(xiàng)性能對比。
由表1可知,本文提出的低成本架構(gòu)消耗的硬件資源最少,對比其他架構(gòu)節(jié)省了39.10%~72.44%LUT資源。由于該架構(gòu)是基于32 bit超前進(jìn)位加法器設(shè)計(jì)的,在計(jì)算256 bit的數(shù)據(jù)時(shí)需要8個(gè)周期的累加,所以總體執(zhí)行時(shí)間相對較長,但是本文設(shè)計(jì)的工作頻率較高并且功耗較低,這是其他設(shè)計(jì)不具備的優(yōu)勢??傮w而言,在面積、功耗和頻率方面,很好地滿足了資源受限的物聯(lián)網(wǎng)設(shè)備的需求,結(jié)果符合預(yù)期。
5 "結(jié) "語
針對物聯(lián)網(wǎng)設(shè)備的資源有限性和安全性,本文提出了一種基于加法器的低成本架構(gòu)的ECC密碼處理器。設(shè)計(jì)從細(xì)節(jié)著手,最大程度地復(fù)用硬件資源,改進(jìn)基礎(chǔ)模運(yùn)算單元算法,優(yōu)化點(diǎn)加和倍點(diǎn)的運(yùn)算調(diào)度,合理安排電路結(jié)構(gòu),必要時(shí)采取時(shí)間換面積的策略,最終完成了規(guī)模小、功耗低且工作頻率高的橢圓曲線點(diǎn)乘電路設(shè)計(jì),能夠滿足當(dāng)前物聯(lián)網(wǎng)設(shè)備對資源和安全方面的需求。
注:本文通訊作者為馬敬萬。
參考文獻(xiàn)
[1] 張妍,黎家通,宋小祎,等.物聯(lián)網(wǎng)設(shè)備安全檢測綜述[J].計(jì)算機(jī)研究與發(fā)展,2023,60(10):2271?2290.
[2] CANAVESE D, MANNELLA L, REGANO L, et al. Security at the edge for resource limited IoT devices [J]. Sensors, 2024, 24(2): 102?108.
[3] ACHARY R, SHELKE J C, MARX K, et al. Security implementation on IoT using CoAP and elliptical curve cryptography [J]. Procedia computer science, 2023(2): 230493?230502.
[4] UDDALAK C, SANGRAM R, DIPANWITA S, et al. An improved authentication and key mana?gement scheme for hierarchical IoT network using elliptic curve cryptography [J]. Innovations in systems and software engineering, 2023, 19(3): 231?246.
[5] KUMAR D, KUMAR M. A comparative analysis of elliptic curve based cryptographic techniques for Internet of Things [J]. International journal of ad hoc and ubiquitous computing, 2023, 43(4): 238?251.
[6] 蔡冕.面向物聯(lián)網(wǎng)安全芯片的SM2算法的IP設(shè)計(jì)與實(shí)現(xiàn)[D].鄭州:中原工學(xué)院,2023.
[7] WU D M, LIN Y H, HAN J G, et al. FPGa implementation for elliptic curve cryptography algorithm and circuit with high efficiency and low delay for IoT applications [J]. Micromachines, 2023, 14(5): 10251?10261.
[8] PABLO J G, ANTONIO T, EDUARDO H, et al. IoT solution for smart water distribution networks based on a low?power wireless network, combined at the device level: a case study [J]. Internet of Things, 2023, 22: 21?30.
[9] 黃和聰.低功耗設(shè)備測試系統(tǒng)和測試方法研究[J].電子質(zhì)量,2022(8):41?44.
[10] 馮經(jīng)緯.橢圓曲線公鑰密碼學(xué)[D].合肥:中國科學(xué)技術(shù)大學(xué),2023.
[11] SHAMSHER U, ZHENG J B, NIZAMUD D, et al. Elliptic curve cryptography: applications, challenges, recent advances, and future trends: a comprehensive survey [J]. Computer science review, 2023, 47: 530.
[12] 程雪曉.橢圓曲線加密系統(tǒng)點(diǎn)乘模塊的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安理工大學(xué),2022.
[13] 賈斌斌.工業(yè)控制系統(tǒng)中可信計(jì)算的國密SM2算法研究[D].太原:中北大學(xué),2023.
[14] 胡湘宏.基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)及橢圓曲線算法的硬件加速研究[D].廣州:廣東工業(yè)大學(xué),2020.
[15] 王騰飛,張海峰,許森.SM2專用指令協(xié)處理器設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2022,58(2):102?109.
[16] 劉曉東.基于ZYNQ的SM2密鑰交換系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:黑龍江大學(xué),2023.
[17] JAVEED K, WANG X J. Low latency flexible FPGA impleme?ntation of point multiplication on elliptic curves over GF (p) [J]. International journal of circuit theory and applications, 2017, 45(2): 214?228.