CN101630244A - 一种流水线型椭圆曲线双标量乘法系统及方法 - Google Patents
一种流水线型椭圆曲线双标量乘法系统及方法 Download PDFInfo
- Publication number
- CN101630244A CN101630244A CN200910109048A CN200910109048A CN101630244A CN 101630244 A CN101630244 A CN 101630244A CN 200910109048 A CN200910109048 A CN 200910109048A CN 200910109048 A CN200910109048 A CN 200910109048A CN 101630244 A CN101630244 A CN 101630244A
- Authority
- CN
- China
- Prior art keywords
- gating device
- channel gating
- output terminal
- input end
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种流水线型椭圆曲线双标量乘法系统及方法。该系统及方法通过两个或三个有限域平方运算单元、三个有限域乘法运算单元、一个有限域加法运算单元、寄存器组、若干多路选通器及控制逻辑单元的结构实现了椭圆曲线标量乘法的计算。本发明的流水线型椭圆曲线双标量乘法系统及方法接口方式简单、运算速度大大加快、硬件不存在空闲时间、可以满足不同宽度数据的加密、减少椭圆曲线加密算法计算周期、可以并行计算有限域元素求逆,非常适合工作在高吞吐率的椭圆曲线加密系统。
Description
【技术领域】
本发明涉及快速实现椭圆曲线加密算法的电路结构领域,特别涉及一种流水线型椭圆曲线双标量乘法系统及方法。
【背景技术】
随着计算机网络和通信技术的飞速发展,互联通信成为生活中最重要的组成部分。传统公钥密码体制如RSA由于公钥位数很长(一般为1024比特以上),给网络数据传输带来了很大的负担。椭圆曲线密码在同样安全等级下具有更短的密钥长度,从而在实现上节省了数据存储空间,减少了IC实现的面积,同时更有效的利用网络带宽。椭圆曲线密码(ECC)由Koblitz和Miller于1985年各自独立发现。其安全性是基于椭圆曲线上的加法群的离散对数问题(ECDLP)求解的困难性。随着计算机性能的提高,密码所需要的密钥长度也不断增加,ECC与其他公钥密码相比更具有优势,如图1所示,椭圆曲线双标量乘法在ECC加密算法中的应用。
几种重要的ECC加密算法涉及到两个椭圆曲线标量乘法的计算,而椭圆曲线标量乘法是ECC的核心运算。由于椭圆曲线标量乘法计算步骤的复杂性,算法中的循环和有限域元素的求逆运算一般采用硬件实现,而其它部分采用软件的方式实现。
【发明内容】
为了解决现有技术椭圆曲线标量乘法计算步骤的复杂性的技术问题,本发明提供了一种流水线型椭圆曲线双标量乘法系统及方法。
本发明解决现有技术椭圆曲线标量乘法计算步骤的复杂性的技术问题所采用的技术方案是:提供一种流水线型椭圆曲线双标量乘法系统及方法。
本发明提供的一种流水线型椭圆曲线双标量乘法系统包括:两个或三个有限域平方运算单元、三个有限域乘法运算单元、一个有限域加法运算单元、寄存器组、若干多路选通器及控制逻辑单元;外部输入的常数b、椭圆曲线上两点的原始坐标(x,y)、(u,v)通过多路选通器与有限域乘法运算单元连接,原始坐标的投影坐标P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)通过多路选通器与寄存器组连接;所述有限域平方运算单元、有限域乘法运算单元分别通过多路选通器与寄存器组连接。
根据本发明提供的流水线型椭圆曲线双标量乘法系统一优选技术方案是:所述流水线型椭圆曲线双标量乘法系统包括三个有限域平方运算单元的具体结构为:有限域平方运算单元(201)的输入端与多路选通器(220)的输出端连接,有限域平方运算单元(201)的输出端分别与多路选通器(208)、多路选通器(213)、多路选通器(214)及多路选通器(219)的输入端连接;有限域平方运算单元(202)的输入端与多路选通器(221)的输出端连接,有限域平方运算单元(202)的输出端分别与多路选通器(209)及多路选通器(215)的输入端连接;有限域平方运算单元(203)的输入端与多路选通器(222)的输出端连接,有限域平方运算单元(203)的输出端分别与多路选通器(210)及多路选通器(216)的输入端连接;有限域乘法运算单元(204)的输入端分别与多路选通器(223)及多路选通器(227)的输出端连接,有限域乘法运算单元(204)的输出端分别与多路选通器(209)、多路选通器(210)、多路选通器(215)及多路选通器(216)的输入端连接;有限域乘法运算单元(205)的输入端分别与多路选通器(224)及多路选通器(228)的输出端连接,有限域乘法运算单元(205)的输出端分别与多路选通器(211)及多路选通器(217)的输入端连接;有限域乘法运算单元(206)的输入端分别与多路选通器(225)及多路选通器(229)的输出端连接,有限域乘法运算单元(206)的输出端分别与多路选通器(212)、多路选通器(213)、多路选通器(218)及多路选通器(219)的输入端连接;有限域加法运算单元(207)的输入端分别与多路选通器(226)及多路选通器(230)的输出端连接,有限域乘法运算单元(207)的输出端分别与多路选通器(208)、多路选通器(211)、多路选通器(212)、多路选通器(213)、多路选通器(214)、多路选通器(217)、多路选通器(218)及多路选通器(219)的输入端连接;寄存器(231)的输入端与多路选通器(208)的输出端连接,寄存器(231)的输出端分别与多路选通器(208)、多路选通器(209)、多路选通器(220)及多路选通器(223)的输入端连接;寄存器(232)的输入端与多路选通器(209)的输出端连接,寄存器(232)的输出端分别与多路选通器(208)、多路选通器(209)、多路选通器(210)、多路选通器(221)、多路选通器(224)、多路选通器(226)、多路选通器(227)及多路选通器(229)的输入端连接;寄存器(233)的输入端与多路选通器(210)的输出端连接,寄存器(233)的输出端分别与多路选通器(210)、多路选通器(222)、多路选通器(227)及多路选通器(230)的输入端连接;寄存器(234)的输入端与多路选通器(211)的输出端连接,寄存器(234)的输出端分别与多路选通器(211)、多路选通器(224)、多路选通器(226)及多路选通器(228)的输入端连接;寄存器(235)的输入端与多路选通器(212)的输出端连接,寄存器(235)的输出端分别与多路选通器(210)、多路选通器(211)、多路选通器(225)及多路选通器(228)的输入端连接;寄存器(236)的输入端与多路选通器(213)的输出端连接,寄存器(236)的输出端分别与多路选通器(213)、多路选通器(220)、多路选通器(229)及多路选通器(230)的输入端连接;寄存器(237)的输入端与多路选通器(214)的输出端连接,寄存器(237)的输出端分别与多路选通器(214)、多路选通器(215)、多路选通器(220)及多路选通器(223)的输入端连接;寄存器(238)的输入端与多路选通器(215)的输出端连接,寄存器(238)的输出端分别与多路选通器(214)、多路选通器(215)、多路选通器(221)、多路选通器(224)、多路选通器(226)、多路选通器(227)及多路选通器(229)的输入端连接;寄存器(239)的输入端与多路选通器(216)的输出端连接,寄存器(239)的输出端分别与多路选通器(216)、多路选通器(222)、多路选通器(223)及多路选通器(230)的输入端连接;寄存器(240)的输入端与多路选通器(217)的输出端连接,寄存器(240)的输出端分别与多路选通器(217)、多路选通器(224)、多路选通器(226)及多路选通器(228)的输入端连接;寄存器(241)的输入端与多路选通器(218)的输出端连接,寄存器(241)的输出端分别与多路选通器(217)、多路选通器(218)、多路选通器(225)及多路选通器(228)的输入端连接;寄存器(242)的输入端与多路选通器(219)的输出端连接,寄存器(242)的输出端分别与多路选通器(219)、多路选通器(220)、多路选通器(225)及多路选通器(230)的输入端连接;所述x1,z1,x2,z2分别与多路选通器(208)、多路选通器(209)、多路选通器(211)及多路选通器(212)连接;所述u1,v1,u2,v2分别与多路选通器(214)、多路选通器(215)、多路选通器(217)及多路选通器(218)连接;所述x,u分别与多路选通器(225)及多路选通器(229)连接。
根据本发明提供的流水线型椭圆曲线双标量乘法系统一优选技术方案是:对于包括两个有限域平方器运算单元的流水线型椭圆曲线双标量乘法系统定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS,其中,TM=TA=T,TM=3T+1;所述的流水线型椭圆曲线双标量乘法系统使用4(3T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。
根据本发明提供的流水线型椭圆曲线双标量乘法系统一优选技术方案是:所述流水线型椭圆曲线双标量乘法系统包括两个有限域平方运算单元的具体结构为:有限域平方运算单元(301)的输入端与多路选通器(319)的输出端连接,有限域平方运算单元(301)的输出端分别与多路选通器(307)、多路选通器(308)、多路选通器(313)及多路选通器(314)的输入端连接;有限域平方运算单元(302)的输入端与多路选通器(320)的输出端连接,有限域平方运算单元(302)的输出端分别与多路选通器(309)、多路选通器(312)、多路选通器(315)及多路选通器(318)的输入端连接;有限域乘法运算单元(303)的输入端分别与多路选通器(321)及多路选通器(325)的输出端连接,有限域乘法运算单元(303)的输出端分别与多路选通器(308)、多路选通器(309)、多路选通器(314)及多路选通器(315)的输入端连接;有限域乘法运算单元(304)的输入端分别与多路选通器(322)及多路选通器(326)的输出端连接,有限域乘法运算单元(304)的输出端分别与多路选通器(310)及多路选通器(316)的输入端连接;有限域乘法运算单元(305)的输入端分别与多路选通器(323)及多路选通器(327)的输出端连接,有限域乘法运算单元(305)的输出端分别与多路选通器(311)、多路选通器(312)、多路选通器(317)及多路选通器(318)的输入端连接;有限域加法运算单元(306)的输入端分别与多路选通器(324)及多路选通器(328)的输出端连接,有限域乘法运算单元(306)的输出端分别与多路选通器(307)、多路选通器(310)、多路选通器(311)、多路选通器(312)、多路选通器(313)、多路选通器(316)、多路选通器(317)及多路选通器(318)的输入端连接;寄存器(329)的输入端与多路选通器(307)的输出端连接,寄存器(329)的输出端分别与多路选通器(307)、多路选通器(308)、多路选通器(319)及多路选通器(321)的输入端连接;寄存器(330)的输入端与多路选通器(308)的输出端连接,寄存器(330)的输出端分别与多路选通器(307)、多路选通器(308)、多路选通器(309)、多路选通器(319)及多路选通器(322)的输入端连接;寄存器(331)的输入端与多路选通器(309)的输出端连接,寄存器(331)的输出端分别与多路选通器(309)、多路选通器(320)、多路选通器(325)及多路选通器(328)输入端连接;寄存器(332)的输入端与多路选通器(310)的输出端连接,寄存器(332)的输出端分别与多路选通器(310)、多路选通器(322)、多路选通器(324)及多路选通器(326)的输入端连接;寄存器(333)的输入端与多路选通器(311)的输出端连接,寄存器(333)的输出端分别与多路选通器(311)、多路选通器(323)及多路选通器(326)的输入端连接;寄存器(334)的输入端与多路选通器(312)的输出端连接,寄存器(334)的输出端分别与多路选通器(312)、多路选通器(320)、多路选通器(327)及多路选通器(328)的输入端连接;寄存器(335)的输入端与多路选通器(313)的输出端连接,寄存器(335)的输出端分别与多路选通器(313)、多路选通器(319)、多路选通器(321)的输入端连接;寄存器(336)的输入端与多路选通器(314)的输出端连接,寄存器(336)的输出端分别与多路选通器(313)、多路选通器(314)、多路选通器(315)、多路选通器(319)、多路选通器(322)多路选通器(324)、多路选通器(325)及多路选通器(327)的输入端连接;寄存器(337)的输入端与多路选通器(315)的输出端连接,寄存器(337)的输出端分别与多路选通器(315)、多路选通器(320)、多路选通器(321)及多路选通器(328)的输入端连接;寄存器(338)的输入端与多路选通器(316)的输出端连接,寄存器(338)的输出端分别与多路选通器(316)、多路选通器(322)、多路选通器(324)及多路选通器(326)的输入端连接;寄存器(339)的输入端与多路选通器(317)的输出端连接,寄存器(339)的输出端分别与多路选通器(316)、多路选通器(317)、多路选通器(323)及多路选通器(326)的输入端连接;寄存器(340)的输入端与多路选通器(318)的输出端连接,寄存器(340)的输出端分别与多路选通器(318)、多路选通器(320)、多路选通器(323)及多路选通器(328)的输入端连接;所述常数b与多路选通器(321)连接;所述x1,z1,x2,z2分别与多路选通器(307)、多路选通器(308)、多路选通器(310)及多路选通器(311)连接;所述u1,v1,u2,v2分别与多路选通器(313)、多路选通器(314)、多路选通器(316)及多路选通器(317)连接;所述x,u分别与多路选通器(323)及多路选通器(327)连接。
根据本发明提供的流水线型椭圆曲线双标量乘法系统一优选技术方案是:对于包括两个有限域平方器运算单元的流水线型椭圆曲线双标量乘法系统定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS其中,TM=TA=T,TM=2T+1;所述的流水线型椭圆曲线双标量乘法系统使用4(2T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。
根据本发明提供的流水线型椭圆曲线双标量乘法系统一优选技术方案是:所述有限域乘法器使用流水线缩短关键路径长度;具体如下:
对于有限域乘法A(x)B(x)(modf(x)),输入A(x)被分成个字,即
其中ai被分成k个部分ai k-1,ai k-2,…,ai 0,这k部分进入第一级流水线的k位并行乘法器计算出ai k-1B(x),ai k-2B(x),…,ai 0B(x),并在第二级流水线进行累加计算出aiB(x);aiB(x)经过f(x)求模后存入寄存器;这种有限域乘法器关键路径是Path0和Path1的最大者,即
其中ω为字长,TAND和TXOR分别表示两输入与门和或非门的延迟。
本发明还提供了一种流水线型椭圆曲线双标量乘法方法。所述流水线型椭圆曲线双标量乘法方法包括以下步骤:
初始化:椭圆曲线上投影坐标点P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)初始化寄存器x1,z1,x2,z2和u1,v1,u2,v2,等待电路启动信号;定义TM为有限域乘法运算单元执行时钟周期数。
第1到TM周期:有限域乘法器计算X1Z1,X2Z1,X2Z2。
第TM到2TM周期:有限域乘法器计算U1V1,U2V1,U2V2,有限域平方器和加法器计算X1 2,Z1 2,X1 2Z1 2,X2Z1+X1Z2和X1 4,Z1 4,(X2Z1+X1Z2)2;此时包括的六个有限域平方运算由两个有限域平方器运算单元分三次计算。
第2TM到3TM周期:有限域乘法器计算bZ1 4,x(X2Z1+X1Z2)2,X1Z2X2Z1,有限域平方器和加法器计算U1 2,V1 2,U1 2V1 2,U2V1+U1V2和U1 4,V1 4,(U2V1+U1V2)2;此时包括的六个有限域平方运算由三个有限域平方器运算单元分两次计算。
第3TM到4TM周期:有限域乘法器计算bV1 4,u(U2V1+U1V2)2,U1V2U2V1,有限域平方器和加法器计算x(X2Z1+X1Z2)2+(X1Z2)(X2Z1)和X1 4+bZ1 4;根据k的二进制序列进行交换操作。
第4TM到5TM周期:开始新的循环,有限域乘法器计算X′1Z′1,X′2Z′1,X′2Z′2,有限域平方器和加法器计算u(U2V1+U1V2)2+(U1V2)(U2V1)和U1 4+bV1 4;根据k的二进制序列进行交换操作。
根据本发明提供的流水线型椭圆曲线双标量乘法方法一优选技术方案是:定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS,其中,TM=TA=T,TM=3T+1;所述流水线型椭圆曲线双标量乘法方法使用4(3T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。
本发明另提供了一种流水线型椭圆曲线双标量乘法方法。所述流水线型椭圆曲线双标量乘法方法包括以下步骤:
初始化:椭圆曲线上投影坐标点P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)初始化寄存器x1,z1,x2,z2和u1,v1,u2,v2,等待电路启动信号;定义TM为有限域乘法运算单元执行时钟周期数。
第1到TM周期:有限域乘法器计算X1Z1,X2Z1,X2Z2。
第TM到2TM周期:有限域乘法器计算U1V1,U2V1,U2V2,有限域平方器和加法器计算X1 2,Z1 2,X1 2Z1 2,X2Z1+X1Z2和X1 4,Z1 4,(X2Z1+X1Z2)2;此时包括的六个有限域平方运算分两次计算。
第2TM到3TM周期:有限域乘法器计算bZ1 4,x(X2Z1+X1Z2)2,X1Z2X2Z1,有限域平方器和加法器计算U1 2,V1 2,U1 2V1 2,U2V1+U1V2和U1 4,V1 4,(U2V1+U1V2)2;此时包括的六个有限域平方运算分两次计算。
第3TM到4TM周期:有限域乘法器计算bV1 4,u(U2V1+U1V2)2,U1V2U2V1,有限域平方器和加法器计算x(X2Z1+X1Z2)2+(X1Z2)(X2Z1)和X1 4+bZ1 4;根据k的二进制序列进行交换操作。
第4TM到5TM周期:开始新的循环,有限域乘法器计算X′1Z′1,X′2Z′1,X′2Z′2,有限域平方器和加法器计算u(U2V1+U1V2)2+(U1V2)(U2V1)和U1 4+bV1 4;根据k的二进制序列进行交换操作。
根据本发明提供的流水线型椭圆曲线双标量乘法方法一优选技术方案是:定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS,其中,TM=TA=T,TM=2T+1;所述流水线型椭圆曲线双标量乘法方法使用4(2T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。
本发明有益的技术效果是:本发明的流水线型椭圆曲线双标量乘法系统及方法接口方式简单,输入只有常数b,椭圆曲线上两点的原始坐标(x,y),(u,v)及其投影坐标P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)。采用状态机方式,使运算速度大大加快。将椭圆曲线标量乘法中的各种有限域运算计算顺序进行调整,使硬件不存在空闲时间,发挥其最大计算吞吐量。仅根据外部数据和地址总线的宽度略作调整,就可以满足不同宽度数据的加密。在满足系统安全性前提下,减少椭圆曲线加密算法计算周期,并且电路通过配置可以并行计算有限域元素求逆。此电路结构非常适合工作在高吞吐率的椭圆曲线加密系统中。
【附图说明】
图1是现有技术椭圆曲线双标量乘法在ECC加密算法中的应用示意图;
图2是本发明实施例的流水线型椭圆曲线双标量乘法系统包括两个有限域平方运算单元的电路结构图;
图3是本发明实施例的流水线型椭圆曲线双标量乘法系统包括三个有限域平方运算单元的电路结构图;
图4是本发明实施例的流水线型椭圆曲线双标量乘法系统包括两个有限域平方运算单元的流水线结构流程图;
图5是本发明实施例的流水线型椭圆曲线双标量乘法系统包括三个有限域平方运算单元的流水线结构流程图;
图6是本发明实施例的流水线椭圆曲线双标量乘法系统包括两个有限域平方运算单元的流水线调度示意图;
图7是本发明实施例的流水线椭圆曲线双标量乘法系统包括三个有限域平方运算单元的流水线调度示意图;
图8是本发明实施例的流水线椭圆曲线双标量乘法系统的有限域乘法器的结构示意图。
【具体实施方式】
下面结合附图和实施例对本发明进行详细说明。
请参照图2、图3,图2是本发明实施例的流水线型椭圆曲线双标量乘法系统包括两个有限域平方运算单元的电路结构图;图3是本发明实施例的流水线型椭圆曲线双标量乘法系统包括三个有限域平方运算单元的电路结构图。
本实施例的流水线型椭圆曲线双标量乘法系统的电路结构包括:两个或三个有限域平方运算单元;三个有限域乘法运算单元;一个有限域加法运算单元;多路选通器;寄存器组。其中所述外部输入为常数b,椭圆曲线上两点的原始坐标(x,y),(u,v)及其投影坐标P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)。其中常数b和原始坐标通过选通器与有限域乘法器相连,投影坐标P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)通过选通器与寄存器相连。
对于投影坐标下GF(2m)的连续寻址椭圆曲线标量乘法算法,我们将其中循环结构的有限域运算计算顺序重新组织如下:
对于两个有限域平方运算单元:
1:计算X1Z2,X2Z1,X1Z1;
2:计算X1 2,Z1 2,X2Z1+X1Z2;
3:计算X1 4,Z1 4;
4:计算X1 2Z1 2,(X2Z1+X1Z2)2;
5:计算bZ1 4,x(X2Z1+X1Z2)2,X1Z2X2Z1;
6:计算x(X2Z1+X1Z2)2+(X1Z2)(X2Z1);
7:计算X1 4+bZ1 4
对于三个有限域平方运算单元:
1:计算X1Z2,X2Z1,X1Z1;
2:计算X1 2,Z1 2,X1 2Z1 2,X2Z1+X1Z2;
3:计算X1 4,Z1 4,(X2Z1+X1Z2)2;
4:计算bZ1 4,x(X2Z1+X1Z2)2,X1Z2X2Z1;
5:计算x(X2Z1+X1Z2)2+(X1Z2)(X2Z1);
6:计算X1 4+bZ1 4
结构中主要包括三个有限域乘法器、两个或三个有限域平方器和一个有限域加法器。当结构中包括两个有限域平方器时水线型椭圆曲线双标量乘法系统计算两个椭圆曲线标量乘法需要4(3T+1)(m-1)个时钟周期;当结构中包括两个有限域平方器时水线型椭圆曲线双标量乘法系统计算两个椭圆曲线标量乘法需要4(2T+1)(m-1)个时钟周期;对于这种结构(包括两个有限域平方器和三个有限域平方器),计算开始时寄存器x1,z1,x2,z2存放着椭圆曲线投影坐标点P,寄存器u1,v1,u2,v2存放着椭圆曲线投影坐标点Q。首先P被选通进电路的三个有限域乘法器进行计算,当有限域乘法器计算完成时曲线投影坐标点Q同时被选通作为有限域乘法器新的输入,这时计算过程需要的数据已全部进入电路。在计算完成后两组寄存器x1,z1,x2,z2和u1,v1,u2,v2中的值就是双椭圆曲线标量乘法的结果。
请参照图4至图7。图中描述了有限域运算单元的执行顺序和分时复用方法(虚线圆表示)。图中swap操作由k的二进制序列决定,不占用时钟周期。我们用TM,TA,TS表示有限域乘法、有限域加法和有限域平方的执行周期数。TM,TA,TS的数值组合决定了流水线的效率。对于两个有限域平方器的流水线型椭圆曲线双标量乘法系统的电路结构当
TM>max(max(TA,TS)+2TS+1,2TA+1) (1)
流水线存在空闲时间,当
TM<min(max(TA,TS)+2TS+1,2TA+1) (2)
时有限域乘法器存在等待时间,只有当
TS=TA=T
(3)
TM=3T+1
流水线和有限域乘法器都不存在等待时间,这时结构具有最快的速度。
对于三个有限域平方器的流水线型椭圆曲线双标量乘法系统的电路结构当
TM>max(max(TA,TS)+TS+1,2TA+1) (4)
流水线存在空闲时间,当
TM<min(max(TA,TS)+TS+1,2TA+1) (5)
时有限域乘法器存在等待时间,只有当
TS=TA=T
(6)
TM=2T+1
流水线和有限域乘法器都不存在等待时间,这时结构具有最快的速度。其中的“+1”是因为有限域乘法器结果是组合逻辑输出,必须使用一个周期寄存。公式(3)满足时,椭圆曲线双标量乘法结构使用4(3T+1)个时钟周期完成算法2中循环的一次迭代,使用4(3T+1)(m-1)个时钟周期完成投影坐标下GF(2m)的连续寻址椭圆曲线标量乘法算法的循环操作。公式(6)满足时,椭圆曲线双标量乘法结构使用4(2T+1)个时钟周期完成算法2中循环的一次迭代,使用4(2T+1)(m-1)个时钟周期完成投影坐标下GF(2m)的连续寻址椭圆曲线标量乘法算法的循环操作。
请参照图8。本实施例的流水线型椭圆曲线双标量乘法的电路结构中的伪流水线型字串行有限域乘法器结构,它使用流水线来缩短关键路径长度。对于有限域乘法A(x)B(x)(mod f(x)),输入A(x)被分成个字,即
其中ai又被分成k个部分ai k-1,ai k-2,…,ai 0,这k部分进入第一级流水线的k位并行乘法器计算出ai k-1B(x),ai k-2B(x),…,ai 0B(x),它们在第二级流水线进行累加计算出aiB(x)。aiB(x)经过f(x)求模后存入寄存器P。这种有限域乘法器关键路径是Path0和Path1的最大者,即
其中ω为字长,TAND和TXOR分别表示两输入与门和或非门的延迟。
从上述的体系结构看,本发明的一种流水线型椭圆曲线双标量乘法系统及方法的电路结构在数据处理的规则性,可并行性,器件的复用性,可重构性上具有创新点。本发明的最大特点在于实现了椭圆曲线两个标量乘法的并行计算,同时实现了三个有限域元素求逆的并行计算。相对于以前的设计,本发明最大程度利用结构中的有限域运算器,从而减少了椭圆曲线加密算法的计算周期。
本发明的特点是:
1.有限域求逆的可配置电路
根据Itoh-Tsujii算法,有限域元素求逆需要使用有限域乘法器和有限域平方器。当结构中包括三个有限域平方器时,可以通过配置电路利用其中的三个有限域乘法器和三个有限域平方器进行三个有限域元素求逆的并行计算,这时椭圆曲线双标量乘法具有最快的运算运算。当结构中包括三个有限域平方器时,可以通过配置电路利用其中的三个有限域乘法器和三个有限域平方器进行三个有限域元素求逆的并行计算,这时椭圆曲线双标量乘法虽然没有获得最快的运算运算,但面积可以相对小很多。因为椭圆曲线非对称Diffie-Hellman加密算法和椭圆曲线E1Gama1加密算法需要进行六次有限域元素求逆计算,所以这种并行化方法这可以进一步减小椭圆曲线非对称Diffie-Hellman加密算法和椭圆曲线E1Gama1加密算法的运算周期。
2.伪流水线型字串行有限域乘法器结构
流水线型椭圆曲线双标量乘法的电路结构中的伪流水线型字串行有限域乘法器结构,它使用流水线来缩短关键路径长度,保证电路在较高的时钟频率下工作。
以上内容是结合具体的优选技术方案对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种流水线型椭圆曲线双标量乘法系统,其特征在于:所述流水线型椭圆曲线双标量乘法系统包括:两个或三个有限域平方运算单元、三个有限域乘法运算单元、一个有限域加法运算单元、寄存器组、若干多路选通器及控制逻辑单元;外部输入的常数b、椭圆曲线上两点的原始坐标(x,y)、(u,v)通过多路选通器与有限域乘法运算单元连接,原始坐标的投影坐标P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)通过多路选通器与寄存器组连接;所述有限域平方运算单元、有限域乘法运算单元分别通过多路选通器与寄存器组连接。
2.根据权利要求1所述的流水线型椭圆曲线双标量乘法系统,其特征在于:所述流水线型椭圆曲线双标量乘法系统包括三个有限域平方运算单元的具体结构为:有限域平方运算单元(201)的输入端与多路选通器(220)的输出端连接,有限域平方运算单元(201)的输出端分别与多路选通器(208)、多路选通器(213)、多路选通器(214)及多路选通器(219)的输入端连接;有限域平方运算单元(202)的输入端与多路选通器(221)的输出端连接,有限域平方运算单元(202)的输出端分别与多路选通器(209)及多路选通器(215)的输入端连接;有限域平方运算单元(203)的输入端与多路选通器(222)的输出端连接,有限域平方运算单元(203)的输出端分别与多路选通器(210)及多路选通器(216)的输入端连接;有限域乘法运算单元(204)的输入端分别与多路选通器(223)及多路选通器(227)的输出端连接,有限域乘法运算单元(204)的输出端分别与多路选通器(209)、多路选通器(210)、多路选通器(215)及多路选通器(216)的输入端连接;有限域乘法运算单元(205)的输入端分别与多路选通器(224)及多路选通器(228)的输出端连接,有限域乘法运算单元(205)的输出端分别与多路选通器(211)及多路选通器(217)的输入端连接;有限域乘法运算单元(206)的输入端分别与多路选通器(225)及多路选通器(229)的输出端连接,有限域乘法运算单元(206)的输出端分别与多路选通器(212)、多路选通器(213)、多路选通器(218)及多路选通器(219)的输入端连接;有限域加法运算单元(207)的输入端分别与多路选通器(226)及多路选通器(230)的输出端连接,有限域乘法运算单元(207)的输出端分别与多路选通器(208)、多路选通器(211)、多路选通器(212)、多路选通器(213)、多路选通器(214)、多路选通器(217)、多路选通器(218)及多路选通器(219)的输入端连接;寄存器(231)的输入端与多路选通器(208)的输出端连接,寄存器(231)的输出端分别与多路选通器(208)、多路选通器(209)、多路选通器(220)及多路选通器(223)的输入端连接;寄存器(232)的输入端与多路选通器(209)的输出端连接,寄存器(232)的输出端分别与多路选通器(208)、多路选通器(209)、多路选通器(210)、多路选通器(221)、多路选通器(224)、多路选通器(226)、多路选通器(227)及多路选通器(229)的输入端连接;寄存器(233)的输入端与多路选通器(210)的输出端连接,寄存器(233)的输出端分别与多路选通器(210)、多路选通器(222)、多路选通器(227)及多路选通器(230)的输入端连接;寄存器(234)的输入端与多路选通器(211)的输出端连接,寄存器(234)的输出端分别与多路选通器(211)、多路选通器(224)、多路选通器(226)及多路选通器(228)的输入端连接;寄存器(235)的输入端与多路选通器(212)的输出端连接,寄存器(235)的输出端分别与多路选通器(210)、多路选通器(211)、多路选通器(225)及多路选通器(228)的输入端连接;寄存器(236)的输入端与多路选通器(213)的输出端连接,寄存器(236)的输出端分别与多路选通器(213)、多路选通器(220)、多路选通器(229)及多路选通器(230)的输入端连接;寄存器(237)的输入端与多路选通器(214)的输出端连接,寄存器(237)的输出端分别与多路选通器(214)、多路选通器(215)、多路选通器(220)及多路选通器(223)的输入端连接;寄存器(238)的输入端与多路选通器(215)的输出端连接,寄存器(238)的输出端分别与多路选通器(214)、多路选通器(215)、多路选通器(221)、多路选通器(224)、多路选通器(226)、多路选通器(227)及多路选通器(229)的输入端连接;寄存器(239)的输入端与多路选通器(216)的输出端连接,寄存器(239)的输出端分别与多路选通器(216)、多路选通器(222)、多路选通器(223)及多路选通器(230)的输入端连接;寄存器(240)的输入端与多路选通器(217)的输出端连接,寄存器(240)的输出端分别与多路选通器(217)、多路选通器(224)、多路选通器(226)及多路选通器(228)的输入端连接;寄存器(241)的输入端与多路选通器(218)的输出端连接,寄存器(241)的输出端分别与多路选通器(217)、多路选通器(218)、多路选通器(225)及多路选通器(228)的输入端连接;寄存器(242)的输入端与多路选通器(219)的输出端连接,寄存器(242)的输出端分别与多路选通器(219)、多路选通器(220)、多路选通器(225)及多路选通器(230)的输入端连接;所述x1,z1,x2,z2分别与多路选通器(208)、多路选通器(209)、多路选通器(211)及多路选通器(212)连接;所述u1,v1,u2,v2分别与多路选通器(214)、多路选通器(215)、多路选通器(217)及多路选通器(218)连接;所述x,u分别与多路选通器(225)及多路选通器(229)连接。
3.根据权利要求2所述的流水线型椭圆曲线双标量乘法系统,其特征在于:对于包括两个有限域平方器运算单元的流水线型椭圆曲线双标量乘法系统定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS,其中,TM=TA=T,TM=3T+1;所述的流水线型椭圆曲线双标量乘法系统使用4(3T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。
4.根据权利要求1所述的流水线型椭圆曲线双标量乘法系统,其特征在于:所述流水线型椭圆曲线双标量乘法系统包括两个有限域平方运算单元的具体结构为:有限域平方运算单元(301)的输入端与多路选通器(319)的输出端连接,有限域平方运算单元(301)的输出端分别与多路选通器(307)、多路选通器(308)、多路选通器(313)及多路选通器(314)的输入端连接;有限域平方运算单元(302)的输入端与多路选通器(320)的输出端连接,有限域平方运算单元(302)的输出端分别与多路选通器(309)、多路选通器(312)、多路选通器(315)及多路选通器(318)的输入端连接;有限域乘法运算单元(303)的输入端分别与多路选通器(321)及多路选通器(325)的输出端连接,有限域乘法运算单元(303)的输出端分别与多路选通器(308)、多路选通器(309)、多路选通器(314)及多路选通器(315)的输入端连接;有限域乘法运算单元(304)的输入端分别与多路选通器(322)及多路选通器(326)的输出端连接,有限域乘法运算单元(304)的输出端分别与多路选通器(310)及多路选通器(316)的输入端连接;有限域乘法运算单元(305)的输入端分别与多路选通器(323)及多路选通器(327)的输出端连接,有限域乘法运算单元(305)的输出端分别与多路选通器(311)、多路选通器(312)、多路选通器(317)及多路选通器(318)的输入端连接;有限域加法运算单元(306)的输入端分别与多路选通器(324)及多路选通器(328)的输出端连接,有限域乘法运算单元(306)的输出端分别与多路选通器(307)、多路选通器(310)、多路选通器(311)、多路选通器(312)、多路选通器(313)、多路选通器(316)、多路选通器(317)及多路选通器(318)的输入端连接;寄存器(329)的输入端与多路选通器(307)的输出端连接,寄存器(329)的输出端分别与多路选通器(307)、多路选通器(308)、多路选通器(319)及多路选通器(321)的输入端连接;寄存器(330)的输入端与多路选通器(308)的输出端连接,寄存器(330)的输出端分别与多路选通器(307)、多路选通器(308)、多路选通器(309)、多路选通器(319)及多路选通器(322)的输入端连接;寄存器(331)的输入端与多路选通器(309)的输出端连接,寄存器(331)的输出端分别与多路选通器(309)、多路选通器(320)、多路选通器(325)及多路选通器(328)输入端连接;寄存器(332)的输入端与多路选通器(310)的输出端连接,寄存器(332)的输出端分别与多路选通器(310)、多路选通器(322)、多路选通器(324)及多路选通器(326)的输入端连接;寄存器(333)的输入端与多路选通器(311)的输出端连接,寄存器(333)的输出端分别与多路选通器(311)、多路选通器(323)及多路选通器(326)的输入端连接;寄存器(334)的输入端与多路选通器(312)的输出端连接,寄存器(334)的输出端分别与多路选通器(312)、多路选通器(320)、多路选通器(327)及多路选通器(328)的输入端连接;寄存器(335)的输入端与多路选通器(313)的输出端连接,寄存器(335)的输出端分别与多路选通器(313)、多路选通器(319)、多路选通器(321)的输入端连接;寄存器(336)的输入端与多路选通器(314)的输出端连接,寄存器(336)的输出端分别与多路选通器(313)、多路选通器(314)、多路选通器(315)、多路选通器(319)、多路选通器(322)多路选通器(324)、多路选通器(325)及多路选通器(327)的输入端连接;寄存器(337)的输入端与多路选通器(315)的输出端连接,寄存器(337)的输出端分别与多路选通器(315)、多路选通器(320)、多路选通器(321)及多路选通器(328)的输入端连接;寄存器(338)的输入端与多路选通器(316)的输出端连接,寄存器(338)的输出端分别与多路选通器(316)、多路选通器(322)、多路选通器(324)及多路选通器(326)的输入端连接;寄存器(339)的输入端与多路选通器(317)的输出端连接,寄存器(339)的输出端分别与多路选通器(316)、多路选通器(317)、多路选通器(323)及多路选通器(326)的输入端连接;寄存器(340)的输入端与多路选通器(318)的输出端连接,寄存器(340)的输出端分别与多路选通器(318)、多路选通器(320)、多路选通器(323)及多路选通器(328)的输入端连接;所述常数b与多路选通器(321)连接;所述x1,z1,x2,z2分别与多路选通器(307)、多路选通器(308)、多路选通器(310)及多路选通器(311)连接;所述u1,v1,u2,v2分别与多路选通器(313)、多路选通器(314)、多路选通器(316)及多路选通器(317)连接;所述x,u分别与多路选通器(323)及多路选通器(327)连接。
5.根据权利要求4所述的流水线型椭圆曲线双标量乘法系统,其特征在于:对于包括两个有限域平方器运算单元的流水线型椭圆曲线双标量乘法系统定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS其中,TM=TA=T,TM=2T+1;所述的流水线型椭圆曲线双标量乘法系统使用4(2T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。
7.一种流水线型椭圆曲线双标量乘法方法,其特征在于:所述流水线型椭圆曲线双标量乘法方法包括以下步骤:
初始化:椭圆曲线上投影坐标点P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)初始化寄存器x1,z1,x2,z2和u1,v1,u2,v2,等待电路启动信号;定义TM为有限域乘法运算单元执行时钟周期数;
第1到TM周期:有限域乘法器计算X1Z1,X2Z1,X2Z2;
第TM到2TM周期:有限域乘法器计算U1V1,U2V1,U2V2,有限域平方器和加法器计算X1 2,Z1 2,X1 2Z1 2,X2Z1+X1Z2和Z1 4,Z1 4,(X2Z1+X1Z2)2;此时包括的六个有限域平方运算由两个有限域平方器运算单元分三次计算;
第2TM到3TM周期:有限域乘法器计算bZ1 4,x(X2Z1+X1Z2)2,X1Z2X2Z1,有限域平方器和加法器计算U1 2,V1 2,U1 2V1 2,U2V1+U1V2和U1 4,V1 4,(U2V1+U1V2)2;此时包括的六个有限域平方运算由三个有限域平方器运算单元分两次计算;
第3TM到4TM周期:有限域乘法器计算bV1 4,u(U2V1+U1V2)2,U1V2U2V1,有限域平方器和加法器计算x(X2Z1+X1Z2)2+(X1Z2)(X2Z1)和X1 4+bZ1 4;根据k的二进制序列进行交换操作;
第4TM到5TM周期:开始新的循环,有限域乘法器计算X′1Z′1,X′2Z′1,X′2Z′2,有限域平方器和加法器计算u(U2V1+U1V2)2+(U1V2)(U2V1)和U1 4+bV1 4;根据k的二进制序列进行交换操作。
8.根据权利要求7所述的流水线型椭圆曲线双标量乘法方法,其特征在于:定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS,其中,TM=TA=T,TM=3T+1;所述流水线型椭圆曲线双标量乘法方法使用4(3T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。
9.一种流水线型椭圆曲线双标量乘法方法,其特征在于:所述流水线型椭圆曲线双标量乘法方法包括以下步骤:
初始化:椭圆曲线上投影坐标点P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)初始化寄存器x1,z1,x2,z2和u1,v1,u2,v2,等待电路启动信号;定义TM为有限域乘法运算单元执行时钟周期数;
第1到TM周期:有限域乘法器计算X1Z2,X2Z1,X1Z1;
第TM到2TM周期:有限域乘法器计算U1V2,U2V1,U1V1,有限域平方器和加法器计算X1 2,Z1 2,X1 2Z1 2,X2Z1+X1Z2和X1 4,Z1 4,(X2Z1+X1Z2)2;此时包括的六个有限域平方运算分两次计算;
第2TM到3TM周期:有限域乘法器计算bZ1 4,x(X2Z1+X1Z2)2,X1Z2X2Z1,有限域平方器和加法器计算U1 2,V1 2,U1 2V1 2,U2V1+U1V2和U1 4,V1 4,(U2V1+U1V2)2;此时包括的六个有限域平方运算分两次计算;
第3TM到4TM周期:有限域乘法器计算bV1 4,u(U2V1+U1V2)2,U1V2U2V1,有限域平方器和加法器计算x(X2Z1+X1Z2)2+(X1Z2)(X2Z1)和X1 4+bZ1 4;根据k的二进制序列进行交换操作;
第4TM到5TM周期:开始新的循环,有限域乘法器计算X′1Z′2,X′2Z′1,X′1Z′1,有限域平方器和加法器计算u(U2V1+U1V2)2+(U1V2)(U2V1)和U1 4+bV1 4;根据k的二进制序列进行交换操作。
10.根据权利要求9所述的流水线型椭圆曲线双标量乘法方法,其特征在于:定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS,其中,TM=TA=T,TM=2T+1;所述流水线型椭圆曲线双标量乘法方法使用4(2T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101090485A CN101630244B (zh) | 2009-07-28 | 2009-07-28 | 一种流水线型椭圆曲线双标量乘法系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101090485A CN101630244B (zh) | 2009-07-28 | 2009-07-28 | 一种流水线型椭圆曲线双标量乘法系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101630244A true CN101630244A (zh) | 2010-01-20 |
CN101630244B CN101630244B (zh) | 2012-05-23 |
Family
ID=41575364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101090485A Expired - Fee Related CN101630244B (zh) | 2009-07-28 | 2009-07-28 | 一种流水线型椭圆曲线双标量乘法系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101630244B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446088A (zh) * | 2011-09-20 | 2012-05-09 | 中国科学院深圳先进技术研究院 | 椭圆曲线标量乘的并行处理方法及系统 |
CN104184578A (zh) * | 2014-07-30 | 2014-12-03 | 山东大学 | 一种基于fpga的椭圆曲线标量乘法加速电路及其算法 |
CN106569778A (zh) * | 2015-10-13 | 2017-04-19 | 华为技术有限公司 | 一种数据处理的方法及电子设备 |
CN107885486A (zh) * | 2017-12-04 | 2018-04-06 | 深圳职业技术学院 | 一种基于查找树的复合有限域求逆装置 |
CN109144472A (zh) * | 2018-07-17 | 2019-01-04 | 东南大学 | 一种二元扩域椭圆曲线的标量乘法及其实现电路 |
CN113114462A (zh) * | 2021-03-31 | 2021-07-13 | 南京航空航天大学 | 一种应用于ecc安全硬件电路的小面积标量乘电路 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2791497B1 (fr) * | 1999-03-26 | 2001-05-18 | Gemplus Card Int | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique |
FR2797126B1 (fr) * | 1999-07-15 | 2003-10-31 | Gemplus Card Int | Procede d'amelioration de performance de l'operation de multiplication sur corps fini de caracteristique 2 |
EP1586028A2 (en) * | 2003-01-10 | 2005-10-19 | Philips Intellectual Property & Standards GmbH | Method of constructing hyperelliptic curves suitable for cryptographic purposes and cryptographic apparatus using such a method |
-
2009
- 2009-07-28 CN CN2009101090485A patent/CN101630244B/zh not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446088A (zh) * | 2011-09-20 | 2012-05-09 | 中国科学院深圳先进技术研究院 | 椭圆曲线标量乘的并行处理方法及系统 |
CN104184578A (zh) * | 2014-07-30 | 2014-12-03 | 山东大学 | 一种基于fpga的椭圆曲线标量乘法加速电路及其算法 |
CN104184578B (zh) * | 2014-07-30 | 2017-07-07 | 山东大学 | 一种基于fpga的椭圆曲线标量乘法加速电路及其算法 |
CN106569778A (zh) * | 2015-10-13 | 2017-04-19 | 华为技术有限公司 | 一种数据处理的方法及电子设备 |
CN106569778B (zh) * | 2015-10-13 | 2019-06-07 | 华为技术有限公司 | 一种数据处理的方法及电子设备 |
CN107885486A (zh) * | 2017-12-04 | 2018-04-06 | 深圳职业技术学院 | 一种基于查找树的复合有限域求逆装置 |
CN107885486B (zh) * | 2017-12-04 | 2021-09-07 | 深圳职业技术学院 | 一种基于查找树的复合有限域求逆装置 |
CN109144472A (zh) * | 2018-07-17 | 2019-01-04 | 东南大学 | 一种二元扩域椭圆曲线的标量乘法及其实现电路 |
CN109144472B (zh) * | 2018-07-17 | 2023-02-28 | 东南大学 | 一种二元扩域椭圆曲线的标量乘法及其实现电路 |
CN113114462A (zh) * | 2021-03-31 | 2021-07-13 | 南京航空航天大学 | 一种应用于ecc安全硬件电路的小面积标量乘电路 |
CN113114462B (zh) * | 2021-03-31 | 2022-10-04 | 南京航空航天大学 | 一种应用于ecc安全硬件电路的小面积标量乘电路 |
Also Published As
Publication number | Publication date |
---|---|
CN101630244B (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6035317A (en) | Modular arithmetic coprocessor comprising two multiplication circuits working in parallel | |
CN100470464C (zh) | 基于改进的蒙哥马利算法的模乘器 | |
CN101630244A (zh) | 一种流水线型椭圆曲线双标量乘法系统及方法 | |
CN102521211B (zh) | 一种求解有限域上线性方程组的并行装置 | |
CN104679474A (zh) | 有限域gf(2^227)上的乘法器及模乘算法 | |
CN103942031A (zh) | 椭圆域曲线运算方法和椭圆域曲线运算器 | |
CN101599828A (zh) | 一种高效的rsa加解密方法及其协处理器 | |
CN105335331A (zh) | 一种基于大规模粗粒度可重构处理器的sha256实现方法及系统 | |
CN103793199A (zh) | 一种支持双域的快速rsa密码协处理器 | |
Li et al. | Speed-oriented architecture for binary field point multiplication on elliptic curves | |
CN101212292A (zh) | 一种ecc\rsa加解密协处理器 | |
CN109144472B (zh) | 一种二元扩域椭圆曲线的标量乘法及其实现电路 | |
CN105577363A (zh) | 针对sm4密码算法的可扩展流水线电路及其实现方法 | |
CN109271137B (zh) | 一种基于公钥加密算法的模乘装置及协处理器 | |
CN102117195B (zh) | 大数模乘器电路 | |
CN103780381A (zh) | 基于高基脉动阵列的蒙哥马利算法的实现装置及方法 | |
KR100453230B1 (ko) | 초타원곡선 암호화 프로세싱 장치 | |
CN113342310A (zh) | 一种应用于格密码的串行参数可配快速数论变换硬件加速器 | |
Li et al. | Research in fast modular exponentiation algorithm based on FPGA | |
CN103645883A (zh) | 基于fpga的高基模乘器 | |
KR100478974B1 (ko) | 직렬 유한체 승산기 | |
CN103888246A (zh) | 低功耗小面积的数据处理方法及其数据处理装置 | |
CN104123431A (zh) | 一种元素的模逆计算方法及装置 | |
Kashif et al. | Field-programmable gate array (FPGA) hardware design and implementation ofa new area efficient elliptic curve crypto-processor | |
CN107404380B (zh) | 一种基于异步数据通路的rsa算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120523 Termination date: 20180728 |