一种用于椭圆密码器的乘法器处理单元及乘法器的制造方法

文档序号:6624246阅读:194来源:国知局
一种用于椭圆密码器的乘法器处理单元及乘法器的制造方法
【专利摘要】本发明涉及一种用于椭圆密码器的乘法器处理单元PE,包括计算单元、输入端Bin、输入端Cin、输入端Xin、输出端Bout、输出端Cout及输出端Xout,所述输入端Bin、输入端Cin及输入端Xin分别输入计算单元,经过计算处理后自所述计算单元的所述输出端Bout、输出端Cout及输出端Xout输出,所述计算单元中Bin、Xin进行循环左移d位,其循环左移d位为:Bout=Bin<<d,Xout=Xin<<d,计算单元中Bin、Xin的运算值与Cin进行循环右移d位相加,其公式为:Cout=Cin>>d+L(Bin,Xin),其中,Cin是上一个处理单元PE的结果,对于第一个处理单元PE Cin初始为零,Cout是处理单元PE计算输出乘积的结果,作为下一个处理单元PE的输入,d表示为数位长度,k表示为分的段数,L为运算标识。通过在计算时进行移位处理和J函数的计算,使得处理单元运算速度快,计算复杂度低,使得密码器的性能提高。
【专利说明】一种用于椭圆密码器的乘法器处理单元及乘法器

【技术领域】
[0001]本发明属于数字编码领域,尤其涉及一种有限域适用于椭圆密码器的乘法器处理 单元及乘法器。

【背景技术】
[0002] 最近几年,有限域运算的有效、高性能和低复杂度设计及其应用已经得到了很 多关注。例如,密码器的算法和系统需要满足美国国家标准和技术研究院(National Institute of Standards and Technology,NIST)和美国电气和电子工程师协会 (Institute of Electrical and Electronics Engineers,IEEE)提出的安全要求,以降 低潜在的攻击,确保硬件安全。密码器的一个重要方面是在降低成本同时抵御边信道攻击 (side-channel attacks)。在工业界,错误检测研究领域得到很多重视,例如文献[3-6], 也可以从基于错误分析和边信道攻击的攻击密码系统中看出。在实际应用中,原有设计往 往需要增加额外开销,因此他们需要有效的设计,能够容忍和承担这种额外开销。近来, 椭圆密码器作为一种有效的技术,满足公钥密码要求,已经在很多高性能和安全限制应用 方面得到实施。例如,该算法能够充分利用移动无线自组网(Mobile Ad hoc NETworks, MANETs),有效地提供可信度和完整性检查。这种检查不需要考虑物理层面安全是否具有危 险·椭圆曲线密码器是一种基于有限域上椭圆曲线代数结构的方法,该方法的运算操作决 定了基于椭圆曲线密码器的密码系统的有效性。因此,许多研究工作已经关注在运算单元 的有效、低复杂度和好性能设计,这些单元用于椭圆曲线密码器和公钥加密算法(RSA)的 密码系统中。最近高斯正规基乘法器(Gaussian normal basis,GNB)已经广泛应用到计算 椭圆曲线密码器中点乘法(也可称之为标量乘法)。值得注意的是,这种运算不仅需要有效 的性能,而且在时序约束应用中,它的实现必须是高性能。
[0003] 在大型的二位元场中,域乘法可以通过脉动阵列方法,设计得到高速且规则的超 大规模集成电路实现。脉动阵列不会遇到非规则电路设计。换句话说,对于二位元场中的不 同选择,它们的硬件结构单元式非常相似的。其同时性、输入输出的平衡性以及简单有规则 的设计等特点,使之适用于高性能应用。尽管在需要高速结构应用中,脉动架构得到了广泛 使用,但通常是以其面积复杂度可接受为ill提。例如,文献[16]提出一种优化基脉动乘法 器,该乘法器具有很强规则性,能够用数字串行方式实现。这种脉动乘法器已经在文献[17] 在可配置硬件上得到高性能实现。
[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. 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.


【发明内容】

[0010] 本发明提供一种用于椭圆密码器的乘法器处理单元,旨在解决现有处理单元计算 速度慢、运算时间长的问题。
[0011] 本发明是这样实现的,一种用于椭圆密码器乘法器的处理单元,该乘法器处理单 元PE包括计算单元、输入端Bin、输入端Cin、输入端Xin、输出端Β_、输出端及输出端X_, 所述输入端Bin、输入端Cin及输入端Xin分别输入计算单元,经过计算处理后自所述计算单 元的所述输出端、输出端(; ut及输出端输出,所述计算单元中Bin、Xin进行循环左移 d位,其循环左移d位为:B。^ = Bin < < d, XQUt = Xin < < d,计算单元中Bin、Xin的运算值与 Cin进行循环右移d位相加,其公式为:(;ut = Cin >> d+L(Bin,Xin),其中,Cin是上一个处理 单元PE的结果,对于第一个处理单元PE的C in初始为零,(;ut是处理单元PE计算输出乘积 的结果,作为下一个处理单元PE的输入,d表示为数位长度,k表示为分的段数,L为运算标 识。
[0012] 本发明的另一目的在于提供一种一维乘法器,该一维乘法器包括k个权利要求1 所述的乘法器处理单元PE及一个累加电路AC,所述k个处理单元PE串联后连接所述累 加电路AC,每个PE的输入端是由上个PE的计算输出得到,首个PE的输入三个参数分别 是BoA,…,Β^Ο,Ο,…,〇、 Xq,Xi,…,Xn_i,其中,X由A移位得到,其输出计算公式为: Cf = + -+C^〇M =(((^ ι}^ + ?, 2)2% · ·-f14 + ^ 〇:
[0013] 本发明的进一步技术方案是:所述累加电路AC包括加法单元、暂存单元及移位单 元,所述移位单元输出端连接所述加法单元输入端,所述加法单元输出端连接所述暂存单 元输入端,所述暂存单元输出端连接所述移位单元输入端,所述累加电路对k个PE处理单 元一次计算的结果进行移位并与k个PE处理单元的下一次输出结果相加。
[0014] 本发明的另一目的在于提供一种二维乘法器,该二维乘法器包括k个权利要求2 或3中所述的一维乘法器、2k-2个CS模块、k-Ι个累加电路AC1及累加电路AC2, k个所述 一维乘法器并联,首个所述一维乘法器输出端连接首个所述累加电路AC1的移位单元,k-1 个所述累加电路AC1串联,第k-1个所述累加电路AC1与所述累加电路AC2串联,第二个至 第k-Ι个所述一维乘法器的输出端分别与一个所述k-Ι个累加电路连接,第二个至第k-1 个所述一维乘法器的输入B端、X端分别连接一个所述CS模块,首个所述一维乘法器的输 入端直接输入,其运算公式为:+··.+£;;_。
[0015] 本发明的进一步技术方案是:所述累加电路AC1包括移位单元及加法单元,所述 移位单元输出端连接所述加法单元输入端,所述累加电路AC1对输入进行移位并与相连所 述一维乘法器输出结果相加输出,所述移位单元循环右移kd位。
[0016] 本发明的进一步技术方案是:所述累加电路包括移位单元、加法单元及暂存单元, 所述移位单元输出端连接所述加法单元输入端,所述加法单元输出端连接所述暂存单元, 所述暂存单元输出端连接所述加法单元的输入端,所述移位单元对输入数值循环右移k 2d 位。
[0017] 本发明的进一步技术方案是:所述CS模块用于对输入的数值进行循环右移kd位。
[0018] 本发明的进一步技术方案是:
[0019] 本发明的有益效果是:通过在计算时进行移位处理和J函数的计算,使得处理单 元运算速度快,计算复杂度低,使得密码器的性能提高。本发明是基于脉动阵列结构提出的 一种乘法器,因此易于在VLSI系统上实现,具有低延迟,高性能特性。

【专利附图】

【附图说明】
[0020] 图1是本发明依据的DL-PIP0 GNB乘法器电路;
[0021] 图2是本发明实施例提供的处理单元PE的结构图;
[0022] 图3是本发明实施例提供的一维乘法器电路;
[0023] 图4是本发明实施例提供的二维乘法器电路。

【具体实施方式】
[0024]图2示出了本发明提供的用于椭圆密码器乘法器的处理单元,该乘法器处理单元 PE包括计算单元、输入端Bin、输入端Cin、输入端Xin、输出端Β_、输出端(; ut及输出端XMt, 所述输入端Bin、输入端Cin及输入端X in分别输入计算单元,经过计算处理后自所述计算单 元的所述输出端Β_、输出端COTt及输出端输出,所述计算单元中B in、Xin进行循环左移 d位,其循环左移d位为:= Bin << d,XQUt = Xin << d,计算单元中Bin、Xin的运算值 与Cin进行循环右移d位相加,其公式为:C_ = Cin > > d+L (Bin,Xin),其中,Cin是上一个处 理单元PE的结果,对于第一个处理单元PE的C in初始为零,(;ut是处理单元PE计算输出乘 积的结果,作为下一个处理单元PE的输入,d表示为数位长度,k表示为分的段数,L为运算 标识。通过在计算时进行移位处理和j函数的计算,使得处理单元运算速度快,计算复杂度 低,使得密码器的性能提高。
[0025]图3示出了本发明的另一目的在于提供一种一维乘法器,该一维乘法器包括k个 权利要求1所述的乘法器处理单元PE及一个累加电路AC,所述k个处理单元PE串联后连 接所述累加电路AC,每个PE的输入端是由上个PE的计算输出得到,首个PE的输入三个参 数分别是B。^,…,Β^Ο,Ο,,…,Xn_i,其中,X由A移位得到,其输出计算公 式为:C = A + + …+ C"2-广 f (((C;,])2; +)2% …产 + 〇:
[0026] 所述累加电路AC包括加法单元、暂存单元及移位单元,所述移位单元输出端连接 所述加法单元输入端,所述加法单元输出端连接所述暂存单元输入端,所述暂存单元输出 端连接所述移位单元输入端,所述累加电路对k个PE处理单元一次计算的结果进行移位并 与k个PE处理单元的下一次输出结果相加。
[0027]图4示出了本发明的另一目的在于提供一种二维乘法器,该二维乘法器包括k个 权利要求2或3中所述的一维乘法器、2k-2个CS模块、k-Ι个累加电路AC1及累加电路 AC2, k个所述一维乘法器并联,首个所述一维乘法器输出端连接首个所述累加电路AC1的 移位单元,k-1个所述累加电路AC1串联,第k-Ι个所述累加电路AC1与所述累加电路AC2 串联,第二个至第k-Ι个所述一维乘法器的输出端分别与一个所述k-l个累加电路连接,第 二个至第k-Ι个所述一维乘法器的输入B端、X端分别连接一个所述CS模块,首个所述一 维乘法器的输入端直接输入,其运算公式为:+ef % c^T2%
[0028] 所述累加电路AC1包括移位单元及加法单元,所述移位单元输出端连接所述加法 单元输入端,所述累加电路AC1对输入进行移位并与相连所述一维乘法器输出结果相加输 出,所述移位单元循环右移kd位。
[0029] 所述累加电路包括移位单元、加法单元及暂存单元,所述移位单元输出端连接所 述加法单元输入端,所述加法单元输出端连接所述暂存单元,所述暂存单元输出端连接所 述加法单元的输入端,所述移位单元对输入数值循环右移k2d位。
[0030] 所述CS模块用于对输入的数值进行循环右移kd位。
[0031] 下面使用分解方法以取得两种新的数位GNB乘法器。
[0032]取 W ?肩2 | 作为 GF(2m)的正规基(Normal basis,NB),其中 β eGF(2m)。β是GF(2m)中的一个正规元素,这样的集合是GF(2n)的正规基。取m和 T为正整数,使得p = mT+Ι为一个质数并且gCd(mT/k, m) = 1,其中k是2模p的乘法阶 数。取α为在GF(2n)中的一个mT+Ι阶的单位原根。在'中,对于任何T阶单位原根τ, 生成一个基于GF⑵的二位元场GFO正规基该基也 叫做T型闻斯正规基底(Gaussian normal basis, GNB)。GNB乘法器的复杂度(时间和空 间上)依赖于它们的型号T > 1。NIST建议了五种二位元场,这五种元场是m = 163,233, 283,4〇9和571。这五种元场的1'都是偶数,分别为4,2,6,4和10。
[0033] GNB乘法计算是基于文献[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)进行i次向左循环移位。其中X 〇 Y=(xQy。,…, xm-iym-i)> ^θγ = (^+^0,…+ivt)代表对χ和γ的系数进行按位与,按位异或运算。 有限域乘法可设计成位级(空间复杂度〇(m)和时间复杂度0(m)),数位级别(空间复杂度 0(md)和时间复杂度〇(m/d))和位并行(空间复杂度〇(m2)和时间复杂度为〇(1))架构。 [00 36]近来,低复杂度的数位级并行输入并行输出(digit-level parallel-in parallel-out, DL-PIPO)的GNB乘法器被文献[18] [19] [20]提出,其中文献[20]是 最优的。DL-PIP0架构如图1所示。我们可以看到,在这个乘法器中,两个操作数a和 B(预先已经存入寄存器<X>,<Y>中)都应该在整个计算过程中保留,并且结果应该在 经过.,f = :「m: J Λ ?:个时钟周期后同时获得。注意到对于一个给定的场大小,数位 宽度d应被合理选择以减低时间和空间复杂度。数位级的GNB乘法器的时间复杂度是 手面积复杂度是dm个細逻辑门和

【权利要求】
1. 一种用于椭圆密码器的乘法器处理单元PE,其特征在于,该乘法器处理单元PE包括 计算单元、输入端B in、输入端Cin、输入端Xin、输出端Β_、输出端及输出端,所述输入 端B in、输入端Cin及输入端Xin分别输入计算单元,经过计算处理后自所述计算单元的所述 输出端B wt、输出端(;ut及输出端Xwt输出,所述计算单元中Bin、X in进行循环左移d位,其循 环左移d位为:B。^ = Bin < < d, X。^ = Xin < < d,计算单元中Bin、Xin的运算值与Cin进行 循环右移d位相加,其公式为:(; ut = Cin>> d+L(Bin,Xin),其中,Cin是上一个处理单元PE 的结果,对于第一个处理单元PE的Cin初始为零,Cwt是处理单元PE计算输出乘积的结果, 作为下一个处理单元PE的输入,d表示为数位长度,k表示为分的段数,L为运算标识。
2. -种一维乘法器,其特征在于,该一维乘法器包括k个权利要求1所述的乘法器 处理单元PE及一个累加电路AC,所述k个处理单元PE串联后连接所述累加电路AC, 每个PE的输入端是由上个PE的计算输出得到,首个PE的输入三个参数分别是B。, Bi,…,Β^Ο,Ο,一HXi,…,Xn_i,其中,X由A移位得到,其输出计算公式为:
3. 根据权利要求2所述的一维乘法器,其特征在于,所述累加电路AC包括加法单元、 暂存单元及移位单元,所述移位单元输出端连接所述加法单元输入端,所述加法单元输出 端连接所述暂存单元输入端,所述暂存单元输出端连接所述移位单元输入端,所述累加电 路对k个PE处理单元一次计算的结果进行移位并与k个PE处理单元的下一次输出结果相 加。
4. 一种二维乘法器,其特征在于,该二维乘法器包括k个权利要求2或3中所述的一维 乘法器、2k-2个CS模块、k-Ι个累加电路AC1及累加电路AC2, k个所述一维乘法器并联,首 个所述一维乘法器输出端连接首个所述累加电路AC1的移位单元,k-Ι个所述累加电路AC1 串联,第k-Ι个所述累加电路AC1与所述累加电路AC2串联,第二个至第k-Ι个所述一维乘 法器的输出端分别与一个所述k-Ι个累加电路连接,第二个至第k-Ι个所述一维乘法器的 输入B端、X端分别连接一个所述CS模块,首个所述一维乘法器的输入端直接输入,其运算 公式为:
5. 根据权利要求4所述的二维乘法器,其特征在于,所述累加电路AC1包括移位单元及 加法单元,所述移位单元输出端连接所述加法单元输入端,所述累加电路AC1对输入进行 移位并与相连所述一维乘法器输出结果相加输出,所述移位单元循环右移kd位。
6. 根据权利要求5所述的二维乘法器,其特征在于,所述累加电路包括移位单元、加法 单元及暂存单元,所述移位单元输出端连接所述加法单元输入端,所述加法单元输出端连 接所述暂存单元,所述暂存单元输出端连接所述加法单元的输入端,所述移位单元对输入 数值循环右移k 2d位。
7. 根据权利要求6所述的二维乘法器,其特征在于,所述CS模块用于对输入的数值进 行循环右移kd位。
【文档编号】G06F7/52GK104252332SQ201410414896
【公开日】2014年12月31日 申请日期:2014年8月20日 优先权日:2014年8月20日
【发明者】潘正祥, 杨春生, 李秋莹, 闫立军, 蔡正富 申请人:哈尔滨工业大学深圳研究生院, 艾美特电器(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1