一種用于橢圓密碼器的乘法器處理單元及乘法器的制造方法
【專利摘要】本發(fā)明涉及一種用于橢圓密碼器的乘法器處理單元PE,包括計算單元、輸入端Bin、輸入端Cin、輸入端Xin、輸出端Bout、輸出端Cout及輸出端Xout,所述輸入端Bin、輸入端Cin及輸入端Xin分別輸入計算單元,經(jīng)過計算處理后自所述計算單元的所述輸出端Bout、輸出端Cout及輸出端Xout輸出,所述計算單元中Bin、Xin進(jìn)行循環(huán)左移d位,其循環(huán)左移d位為:Bout=Bin<<d,Xout=Xin<<d,計算單元中Bin、Xin的運算值與Cin進(jìn)行循環(huán)右移d位相加,其公式為:Cout=Cin>>d+L(Bin,Xin),其中,Cin是上一個處理單元PE的結(jié)果,對于第一個處理單元PE Cin初始為零,Cout是處理單元PE計算輸出乘積的結(jié)果,作為下一個處理單元PE的輸入,d表示為數(shù)位長度,k表示為分的段數(shù),L為運算標(biāo)識。通過在計算時進(jìn)行移位處理和J函數(shù)的計算,使得處理單元運算速度快,計算復(fù)雜度低,使得密碼器的性能提高。
【專利說明】一種用于橢圓密碼器的乘法器處理單元及乘法器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)字編碼領(lǐng)域,尤其涉及一種有限域適用于橢圓密碼器的乘法器處理 單元及乘法器。
【背景技術(shù)】
[0002] 最近幾年,有限域運算的有效、高性能和低復(fù)雜度設(shè)計及其應(yīng)用已經(jīng)得到了很 多關(guān)注。例如,密碼器的算法和系統(tǒng)需要滿足美國國家標(biāo)準(zhǔn)和技術(shù)研究院(National Institute of Standards and Technology,NIST)和美國電氣和電子工程師協(xié)會 (Institute of Electrical and Electronics Engineers,IEEE)提出的安全要求,以降 低潛在的攻擊,確保硬件安全。密碼器的一個重要方面是在降低成本同時抵御邊信道攻擊 (side-channel attacks)。在工業(yè)界,錯誤檢測研究領(lǐng)域得到很多重視,例如文獻(xiàn)[3-6], 也可以從基于錯誤分析和邊信道攻擊的攻擊密碼系統(tǒng)中看出。在實際應(yīng)用中,原有設(shè)計往 往需要增加額外開銷,因此他們需要有效的設(shè)計,能夠容忍和承擔(dān)這種額外開銷。近來, 橢圓密碼器作為一種有效的技術(shù),滿足公鑰密碼要求,已經(jīng)在很多高性能和安全限制應(yīng)用 方面得到實施。例如,該算法能夠充分利用移動無線自組網(wǎng)(Mobile Ad hoc NETworks, MANETs),有效地提供可信度和完整性檢查。這種檢查不需要考慮物理層面安全是否具有危 險·橢圓曲線密碼器是一種基于有限域上橢圓曲線代數(shù)結(jié)構(gòu)的方法,該方法的運算操作決 定了基于橢圓曲線密碼器的密碼系統(tǒng)的有效性。因此,許多研究工作已經(jīng)關(guān)注在運算單元 的有效、低復(fù)雜度和好性能設(shè)計,這些單元用于橢圓曲線密碼器和公鑰加密算法(RSA)的 密碼系統(tǒng)中。最近高斯正規(guī)基乘法器(Gaussian normal basis,GNB)已經(jīng)廣泛應(yīng)用到計算 橢圓曲線密碼器中點乘法(也可稱之為標(biāo)量乘法)。值得注意的是,這種運算不僅需要有效 的性能,而且在時序約束應(yīng)用中,它的實現(xiàn)必須是高性能。
[0003] 在大型的二位元場中,域乘法可以通過脈動陣列方法,設(shè)計得到高速且規(guī)則的超 大規(guī)模集成電路實現(xiàn)。脈動陣列不會遇到非規(guī)則電路設(shè)計。換句話說,對于二位元場中的不 同選擇,它們的硬件結(jié)構(gòu)單元式非常相似的。其同時性、輸入輸出的平衡性以及簡單有規(guī)則 的設(shè)計等特點,使之適用于高性能應(yīng)用。盡管在需要高速結(jié)構(gòu)應(yīng)用中,脈動架構(gòu)得到了廣泛 使用,但通常是以其面積復(fù)雜度可接受為ill提。例如,文獻(xiàn)[16]提出一種優(yōu)化基脈動乘法 器,該乘法器具有很強(qiáng)規(guī)則性,能夠用數(shù)字串行方式實現(xiàn)。這種脈動乘法器已經(jīng)在文獻(xiàn)[17] 在可配置硬件上得到高性能實現(xiàn)。
[0004] [3]A. Yazdani, H. Sepahvand, M. Crow, and M. Ferdowsi, ^Fault Detection and Mitigation in Multilevel Converter STATCOMs,IEEE Trans. Ind. Electron. , vol. 58, no. 4, pp. 1307-1315,2011.
[0005] [4] M. A. Rodr Aguez-Blaneo,A. Cl audi o-Sanchez,D· The i 11 i o 1, L.Vela-Valdes,P. Sibaja-Teran,L. Hernandez-Gonzalez,and J. Aguayo-Alquicira,"A Failure-Detection Strategy for IGBT Based on Gate-Voltage Behavior Applied to a Motor Drive System,IEEE Trans. Ind. Electron. , vol. 58, no. 5, pp. 1625-1633,2011.
[0006] [5]Τ· A. Najafabadi,F(xiàn). R. Salmasi,and P. Jabehdar-Maralani,"Detection and Isolation of Speed-, DC-Link Voltage-, and Current-Sensor Faults Based on an Adaptive Observer in Induction-Motor Drives,-- IEEE Trans. Ind. Electron. ,vol. 58, no. 5, pp. 1662-1672,2011.
[0007] [6] S. Cruz, M. Ferreira, A. Mendes, and A. J. M. Cardoso, uAnalysis and Diagnosis of Open-Circuit Faults in Matrix Converters,,' IEEE Trans. Ind. Electron. , vol. 58, no. 5, pp. 1648-1661,2011.
[0008] [16]S. Kwon/^A Low Complexity and a Low Latency Bit Parallel Systolic Multiplier over GF(2m)Using an Optimal Normal Basis of Type II,,?in Proc. IEEE Symp. Computer Arithmetic(Arith-16) ? pp.196-202,2003.
[0009] [17] J. Fan, D. Bailey, L. Batina, T. Guneysu, C. Paar, and I. Verbauwhede, "Breaking Elliptic Curves Cryptosystems using Reconfigurable Hardware,''in Proc. of 20th Inti Conf. on Field Programmable Logic and Applications (FPL2010) 72010, pp. 133-138.
【發(fā)明內(nèi)容】
[0010] 本發(fā)明提供一種用于橢圓密碼器的乘法器處理單元,旨在解決現(xiàn)有處理單元計算 速度慢、運算時間長的問題。
[0011] 本發(fā)明是這樣實現(xiàn)的,一種用于橢圓密碼器乘法器的處理單元,該乘法器處理單 元PE包括計算單元、輸入端Bin、輸入端Cin、輸入端Xin、輸出端Β_、輸出端及輸出端X_, 所述輸入端Bin、輸入端Cin及輸入端Xin分別輸入計算單元,經(jīng)過計算處理后自所述計算單 元的所述輸出端、輸出端(; ut及輸出端輸出,所述計算單元中Bin、Xin進(jìn)行循環(huán)左移 d位,其循環(huán)左移d位為:B。^ = Bin < < d, XQUt = Xin < < d,計算單元中Bin、Xin的運算值與 Cin進(jìn)行循環(huán)右移d位相加,其公式為:(;ut = Cin >> d+L(Bin,Xin),其中,Cin是上一個處理 單元PE的結(jié)果,對于第一個處理單元PE的C in初始為零,(;ut是處理單元PE計算輸出乘積 的結(jié)果,作為下一個處理單元PE的輸入,d表示為數(shù)位長度,k表示為分的段數(shù),L為運算標(biāo) 識。
[0012] 本發(fā)明的另一目的在于提供一種一維乘法器,該一維乘法器包括k個權(quán)利要求1 所述的乘法器處理單元PE及一個累加電路AC,所述k個處理單元PE串聯(lián)后連接所述累 加電路AC,每個PE的輸入端是由上個PE的計算輸出得到,首個PE的輸入三個參數(shù)分別 是BoA,…,Β^Ο,Ο,…,〇、 Xq,Xi,…,Xn_i,其中,X由A移位得到,其輸出計算公式為: Cf = + -+C^〇M =(((^ ι}^ + ?, 2)2% · ·-f14 + ^ 〇:
[0013] 本發(fā)明的進(jìn)一步技術(shù)方案是:所述累加電路AC包括加法單元、暫存單元及移位單 元,所述移位單元輸出端連接所述加法單元輸入端,所述加法單元輸出端連接所述暫存單 元輸入端,所述暫存單元輸出端連接所述移位單元輸入端,所述累加電路對k個PE處理單 元一次計算的結(jié)果進(jìn)行移位并與k個PE處理單元的下一次輸出結(jié)果相加。
[0014] 本發(fā)明的另一目的在于提供一種二維乘法器,該二維乘法器包括k個權(quán)利要求2 或3中所述的一維乘法器、2k-2個CS模塊、k-Ι個累加電路AC1及累加電路AC2, k個所述 一維乘法器并聯(lián),首個所述一維乘法器輸出端連接首個所述累加電路AC1的移位單元,k-1 個所述累加電路AC1串聯(lián),第k-1個所述累加電路AC1與所述累加電路AC2串聯(lián),第二個至 第k-Ι個所述一維乘法器的輸出端分別與一個所述k-Ι個累加電路連接,第二個至第k-1 個所述一維乘法器的輸入B端、X端分別連接一個所述CS模塊,首個所述一維乘法器的輸 入端直接輸入,其運算公式為:+··.+£;;_。
[0015] 本發(fā)明的進(jìn)一步技術(shù)方案是:所述累加電路AC1包括移位單元及加法單元,所述 移位單元輸出端連接所述加法單元輸入端,所述累加電路AC1對輸入進(jìn)行移位并與相連所 述一維乘法器輸出結(jié)果相加輸出,所述移位單元循環(huán)右移kd位。
[0016] 本發(fā)明的進(jìn)一步技術(shù)方案是:所述累加電路包括移位單元、加法單元及暫存單元, 所述移位單元輸出端連接所述加法單元輸入端,所述加法單元輸出端連接所述暫存單元, 所述暫存單元輸出端連接所述加法單元的輸入端,所述移位單元對輸入數(shù)值循環(huán)右移k 2d 位。
[0017] 本發(fā)明的進(jìn)一步技術(shù)方案是:所述CS模塊用于對輸入的數(shù)值進(jìn)行循環(huán)右移kd位。
[0018] 本發(fā)明的進(jìn)一步技術(shù)方案是:
[0019] 本發(fā)明的有益效果是:通過在計算時進(jìn)行移位處理和J函數(shù)的計算,使得處理單 元運算速度快,計算復(fù)雜度低,使得密碼器的性能提高。本發(fā)明是基于脈動陣列結(jié)構(gòu)提出的 一種乘法器,因此易于在VLSI系統(tǒng)上實現(xiàn),具有低延遲,高性能特性。
【專利附圖】
【附圖說明】
[0020] 圖1是本發(fā)明依據(jù)的DL-PIP0 GNB乘法器電路;
[0021] 圖2是本發(fā)明實施例提供的處理單元PE的結(jié)構(gòu)圖;
[0022] 圖3是本發(fā)明實施例提供的一維乘法器電路;
[0023] 圖4是本發(fā)明實施例提供的二維乘法器電路。
【具體實施方式】
[0024]圖2示出了本發(fā)明提供的用于橢圓密碼器乘法器的處理單元,該乘法器處理單元 PE包括計算單元、輸入端Bin、輸入端Cin、輸入端Xin、輸出端Β_、輸出端(; ut及輸出端XMt, 所述輸入端Bin、輸入端Cin及輸入端X in分別輸入計算單元,經(jīng)過計算處理后自所述計算單 元的所述輸出端Β_、輸出端COTt及輸出端輸出,所述計算單元中B in、Xin進(jìn)行循環(huán)左移 d位,其循環(huán)左移d位為:= Bin << d,XQUt = Xin << d,計算單元中Bin、Xin的運算值 與Cin進(jìn)行循環(huán)右移d位相加,其公式為:C_ = Cin > > d+L (Bin,Xin),其中,Cin是上一個處 理單元PE的結(jié)果,對于第一個處理單元PE的C in初始為零,(;ut是處理單元PE計算輸出乘 積的結(jié)果,作為下一個處理單元PE的輸入,d表示為數(shù)位長度,k表示為分的段數(shù),L為運算 標(biāo)識。通過在計算時進(jìn)行移位處理和j函數(shù)的計算,使得處理單元運算速度快,計算復(fù)雜度 低,使得密碼器的性能提高。
[0025]圖3示出了本發(fā)明的另一目的在于提供一種一維乘法器,該一維乘法器包括k個 權(quán)利要求1所述的乘法器處理單元PE及一個累加電路AC,所述k個處理單元PE串聯(lián)后連 接所述累加電路AC,每個PE的輸入端是由上個PE的計算輸出得到,首個PE的輸入三個參 數(shù)分別是B。^,…,Β^Ο,Ο,,…,Xn_i,其中,X由A移位得到,其輸出計算公 式為:C = A + + …+ C"2-廣 f (((C;,])2; +)2% …產(chǎn) + 〇:
[0026] 所述累加電路AC包括加法單元、暫存單元及移位單元,所述移位單元輸出端連接 所述加法單元輸入端,所述加法單元輸出端連接所述暫存單元輸入端,所述暫存單元輸出 端連接所述移位單元輸入端,所述累加電路對k個PE處理單元一次計算的結(jié)果進(jìn)行移位并 與k個PE處理單元的下一次輸出結(jié)果相加。
[0027]圖4示出了本發(fā)明的另一目的在于提供一種二維乘法器,該二維乘法器包括k個 權(quán)利要求2或3中所述的一維乘法器、2k-2個CS模塊、k-Ι個累加電路AC1及累加電路 AC2, k個所述一維乘法器并聯(lián),首個所述一維乘法器輸出端連接首個所述累加電路AC1的 移位單元,k-1個所述累加電路AC1串聯(lián),第k-Ι個所述累加電路AC1與所述累加電路AC2 串聯(lián),第二個至第k-Ι個所述一維乘法器的輸出端分別與一個所述k-l個累加電路連接,第 二個至第k-Ι個所述一維乘法器的輸入B端、X端分別連接一個所述CS模塊,首個所述一 維乘法器的輸入端直接輸入,其運算公式為:+ef % c^T2%
[0028] 所述累加電路AC1包括移位單元及加法單元,所述移位單元輸出端連接所述加法 單元輸入端,所述累加電路AC1對輸入進(jìn)行移位并與相連所述一維乘法器輸出結(jié)果相加輸 出,所述移位單元循環(huán)右移kd位。
[0029] 所述累加電路包括移位單元、加法單元及暫存單元,所述移位單元輸出端連接所 述加法單元輸入端,所述加法單元輸出端連接所述暫存單元,所述暫存單元輸出端連接所 述加法單元的輸入端,所述移位單元對輸入數(shù)值循環(huán)右移k2d位。
[0030] 所述CS模塊用于對輸入的數(shù)值進(jìn)行循環(huán)右移kd位。
[0031] 下面使用分解方法以取得兩種新的數(shù)位GNB乘法器。
[0032]取 W ?肩2 | 作為 GF(2m)的正規(guī)基(Normal basis,NB),其中 β eGF(2m)。β是GF(2m)中的一個正規(guī)元素,這樣的集合是GF(2n)的正規(guī)基。取m和 T為正整數(shù),使得p = mT+Ι為一個質(zhì)數(shù)并且gCd(mT/k, m) = 1,其中k是2模p的乘法階 數(shù)。取α為在GF(2n)中的一個mT+Ι階的單位原根。在'中,對于任何T階單位原根τ, 生成一個基于GF⑵的二位元場GFO正規(guī)基該基也 叫做T型聞斯正規(guī)基底(Gaussian normal basis, GNB)。GNB乘法器的復(fù)雜度(時間和空 間上)依賴于它們的型號T > 1。NIST建議了五種二位元場,這五種元場是m = 163,233, 283,4〇9和571。這五種元場的1'都是偶數(shù),分別為4,2,6,4和10。
[0033] GNB乘法計算是基于文獻(xiàn)[18]中的乘法矩陣。取A = (aQ,ai,…,a^),B =(b。,h,…,bn-J為兩個在GF(2n)上的T型GNB元素。它們在GF(2m)中的乘積可以表 ml 示成: = (乂 Ο (5《丨))十Σ U ? ζ·) Θ只/.萬), ⑴ :|=;1:
[0034] 其中,邱(2)
[0035] 這里(X << i)表示對X e GF(2n)進(jìn)行i次向左循環(huán)移位。其中X 〇 Y=(xQy。,…, xm-iym-i)> ^θγ = (^+^0,…+ivt)代表對χ和γ的系數(shù)進(jìn)行按位與,按位異或運算。 有限域乘法可設(shè)計成位級(空間復(fù)雜度〇(m)和時間復(fù)雜度0(m)),數(shù)位級別(空間復(fù)雜度 0(md)和時間復(fù)雜度〇(m/d))和位并行(空間復(fù)雜度〇(m2)和時間復(fù)雜度為〇(1))架構(gòu)。 [00 36]近來,低復(fù)雜度的數(shù)位級并行輸入并行輸出(digit-level parallel-in parallel-out, DL-PIPO)的GNB乘法器被文獻(xiàn)[18] [19] [20]提出,其中文獻(xiàn)[20]是 最優(yōu)的。DL-PIP0架構(gòu)如圖1所示。我們可以看到,在這個乘法器中,兩個操作數(shù)a和 B(預(yù)先已經(jīng)存入寄存器<X>,<Y>中)都應(yīng)該在整個計算過程中保留,并且結(jié)果應(yīng)該在 經(jīng)過.,f = :「m: J Λ ?:個時鐘周期后同時獲得。注意到對于一個給定的場大小,數(shù)位 寬度d應(yīng)被合理選擇以減低時間和空間復(fù)雜度。數(shù)位級的GNB乘法器的時間復(fù)雜度是 手面積復(fù)雜度是dm個細(xì)邏輯門和
【權(quán)利要求】
1. 一種用于橢圓密碼器的乘法器處理單元PE,其特征在于,該乘法器處理單元PE包括 計算單元、輸入端B in、輸入端Cin、輸入端Xin、輸出端Β_、輸出端及輸出端,所述輸入 端B in、輸入端Cin及輸入端Xin分別輸入計算單元,經(jīng)過計算處理后自所述計算單元的所述 輸出端B wt、輸出端(;ut及輸出端Xwt輸出,所述計算單元中Bin、X in進(jìn)行循環(huán)左移d位,其循 環(huán)左移d位為:B。^ = Bin < < d, X。^ = Xin < < d,計算單元中Bin、Xin的運算值與Cin進(jìn)行 循環(huán)右移d位相加,其公式為:(; ut = Cin>> d+L(Bin,Xin),其中,Cin是上一個處理單元PE 的結(jié)果,對于第一個處理單元PE的Cin初始為零,Cwt是處理單元PE計算輸出乘積的結(jié)果, 作為下一個處理單元PE的輸入,d表示為數(shù)位長度,k表示為分的段數(shù),L為運算標(biāo)識。
2. -種一維乘法器,其特征在于,該一維乘法器包括k個權(quán)利要求1所述的乘法器 處理單元PE及一個累加電路AC,所述k個處理單元PE串聯(lián)后連接所述累加電路AC, 每個PE的輸入端是由上個PE的計算輸出得到,首個PE的輸入三個參數(shù)分別是B。, Bi,…,Β^Ο,Ο,一HXi,…,Xn_i,其中,X由A移位得到,其輸出計算公式為:
3. 根據(jù)權(quán)利要求2所述的一維乘法器,其特征在于,所述累加電路AC包括加法單元、 暫存單元及移位單元,所述移位單元輸出端連接所述加法單元輸入端,所述加法單元輸出 端連接所述暫存單元輸入端,所述暫存單元輸出端連接所述移位單元輸入端,所述累加電 路對k個PE處理單元一次計算的結(jié)果進(jìn)行移位并與k個PE處理單元的下一次輸出結(jié)果相 加。
4. 一種二維乘法器,其特征在于,該二維乘法器包括k個權(quán)利要求2或3中所述的一維 乘法器、2k-2個CS模塊、k-Ι個累加電路AC1及累加電路AC2, k個所述一維乘法器并聯(lián),首 個所述一維乘法器輸出端連接首個所述累加電路AC1的移位單元,k-Ι個所述累加電路AC1 串聯(lián),第k-Ι個所述累加電路AC1與所述累加電路AC2串聯(lián),第二個至第k-Ι個所述一維乘 法器的輸出端分別與一個所述k-Ι個累加電路連接,第二個至第k-Ι個所述一維乘法器的 輸入B端、X端分別連接一個所述CS模塊,首個所述一維乘法器的輸入端直接輸入,其運算 公式為:
5. 根據(jù)權(quán)利要求4所述的二維乘法器,其特征在于,所述累加電路AC1包括移位單元及 加法單元,所述移位單元輸出端連接所述加法單元輸入端,所述累加電路AC1對輸入進(jìn)行 移位并與相連所述一維乘法器輸出結(jié)果相加輸出,所述移位單元循環(huán)右移kd位。
6. 根據(jù)權(quán)利要求5所述的二維乘法器,其特征在于,所述累加電路包括移位單元、加法 單元及暫存單元,所述移位單元輸出端連接所述加法單元輸入端,所述加法單元輸出端連 接所述暫存單元,所述暫存單元輸出端連接所述加法單元的輸入端,所述移位單元對輸入 數(shù)值循環(huán)右移k 2d位。
7. 根據(jù)權(quán)利要求6所述的二維乘法器,其特征在于,所述CS模塊用于對輸入的數(shù)值進(jìn) 行循環(huán)右移kd位。
【文檔編號】G06F7/52GK104252332SQ201410414896
【公開日】2014年12月31日 申請日期:2014年8月20日 優(yōu)先權(quán)日:2014年8月20日
【發(fā)明者】潘正祥, 楊春生, 李秋瑩, 閆立軍, 蔡正富 申請人:哈爾濱工業(yè)大學(xué)深圳研究生院, 艾美特電器(深圳)有限公司