CN110460443A - 椭圆曲线密码的高速点加运算方法和装置 - Google Patents
椭圆曲线密码的高速点加运算方法和装置 Download PDFInfo
- Publication number
- CN110460443A CN110460443A CN201910732752.XA CN201910732752A CN110460443A CN 110460443 A CN110460443 A CN 110460443A CN 201910732752 A CN201910732752 A CN 201910732752A CN 110460443 A CN110460443 A CN 110460443A
- Authority
- CN
- China
- Prior art keywords
- modular multiplier
- calculates
- modular
- mould
- add
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims abstract description 7
- 230000009897 systematic effect Effects 0.000 claims abstract description 4
- 230000013011 mating Effects 0.000 claims abstract description 3
- 241001269238 Data Species 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000005265 energy consumption Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Abstract
本发明公开了一种椭圆曲线密码的高速点加运算方法和装置,采用流水线型蒙哥马利模乘器配合模加器来实现,一个点加运算执行16个模乘运算;一个使用一个或者多个模乘器的点加电路,每一个模乘运算执行一个批次的运算请求,系统可同时计算N个运算,使系统整体性能提升N倍。本发明利用流水线型蒙哥马利模乘器的流水特性,巧妙地复用底层流水线型的硬件电路,以批处理的方式同时执行多个点加运算,整个系统的吞吐量获得几个数量级的提升。这使得本发明的性能/硬件资源比及性能/能耗比都比以往技术有数倍甚至数十倍的提升。同时本发明还通过分析点加算法的特性,选择最优的蒙哥马利模乘器和模加器的个数,达到性能和资源使用的最佳配置。
Description
技术领域
本发明涉及椭圆曲线密码系统技术领域,具体涉及一种椭圆曲线密码倍点运算的高性能集成电路方法和装置。
背景技术
信息的安全保障基于安全算法,安全算法有一类是非对称密钥算法。非对称密钥算法的优点是安全性高,缺点是加密速度比分组密码慢很多,所以人们一直在研究如何提升非对称密钥算法的运算速度。目前,非对称密钥算法主要有两种,一是RSA,二是椭圆曲线密码ECC(Elliptic Curve Cryptography)。
椭圆曲线密码(ECC)是1985年由N.Koblitz和V.Miller提出的,其利用有限域上的椭圆曲线有限群代替离散对数问题中的有限循环群后得到的一类密码体制。由于椭圆曲线密码具有安全性能高、处理速度快、带宽要求低和存储空间小等特点,与RSA相比,ECC在密钥长度和运算速度上具有优越性。
素域上的椭圆曲线E(Fp)上所有点q=(x,y)由Weierstrass方程定义为
E:y2=x3+ax+b(mod p)
其中p是素数,a、b为两个小于p的非负整数(0<a,b<p),且满足
4a3+27b2(mod p)≠0
为避免求逆运算,椭圆曲线上的点通常用其他坐标系来表示。在雅可比坐标系中,雅可比投影坐标Q=(X,Y,Z)与仿射坐标Q’=(x,y)=(X/Z2,Y/Z3)相对应,并且要求Z≠0。所以在雅可比坐标系下椭圆曲线方程变为
E:Y2=X3+aXZ4+bZ6(mod p)。
在椭圆曲线密码系统中,核心运算是点乘(k*Q),其中Q为椭圆曲线上的一点,k为一标量值。可以将点乘分解为两种基本运算:点加(ECPADD)以及倍点(ECPDBL)。
输入:点Q;r位的标量k
输出:k*Q
T=Q
S=0
让i从0到r-1递增
如果ki=1
S=ECPADD(S,T)
T=ECPDBL(T)
返回S
点加运算使得两个不同点相加的结果仍为该椭圆曲线上的一点。倍点运算使得两个相同点相加的结果仍为该椭圆曲线上的一点。与普通运算不同,点加只有在两个点不同时使用。
在雅可比投影坐标下,点架的算法如下:
输入:两点(X1,Y1,Z1),(X2,Y2,Z2)
输出:点加结果(X3,Y3,Z3)
U1=X1Z2 2;U2=X2Z1 2;S1=Y1Z2 3;S2=Y2Z1 3
H=U2-U1;R=S2-S1
X3=R2-H3-2U1H2
Y3=R(U1H2-X3)-S1H3
Z3=HZ1Z2
返回(X3,Y3,Z3)
上述算法中的“+、-、*”都不是普通运算,而是求模运算。在倍点运算中,最耗时的运算是模乘运算。模乘运算算法中效率高、便于实现的算法是蒙哥马利模乘算法。蒙哥马利模乘在使用过程中需要把普通数A转换成蒙哥马利数A’=A*R mod N。为了使两个蒙哥马利数A’=A*R mod N和B’=B*R mod N相乘的结果为(A*B)’=(A*B)*R mod N,蒙哥马利模乘运算定义为MM(A’,B’)=(A’*B’)*R-1mod N。R通常为一个便于约减的整数,比如232或264等。
如果点加运算的输入和输出都是蒙哥马利数,则它们内部的相应模乘运算都可以被替换为蒙哥马利模乘MM。
常用的椭圆曲线密码系统中通常使用位数很大(比如256或者512)的整数来保证系统的安全性。这些系统的整体性能提升往往是通过提升其点加运算获得的。通常的做法是使用更多的硬件资源来提高它们的运算速度。
在雅可比投影坐标下,一个点加运算需要执行16个模乘运算。通过使用多个模乘运算电路,充分利用上述模乘运算之间的并行性质,可以提升点加运算的性能。但是这种方法也有它的局限性,因为很多模乘运算都有一定的数据依赖关系,并不能把它们完全并行运算。同时这种方法每提升一倍的性能需要使用超过一倍的硬件资源,造成系统性价比的下降以及能耗的上升。传统的非流水线型的点加硬件时序如图1所示。
发明内容
本发明针对现有技术的缺陷,提供一种主要基于流水线型蒙哥马利模乘器实现倍点运算电路同时具有高性能和低资源使用特点的椭圆曲线密码的高速点加运算方法和装置。
为解决上述技术问题,本发明采用如下技术方案:一种椭圆曲线密码的高速点加运算方法,其特征在于:采用流水线型蒙哥马利模乘器配合模加器来实现,运算流程如下,
以一个流水线型蒙哥马利模乘器执行N个时钟周期来获得一个结果,在连续的N个时钟周期里向该模乘器发送N个不同的运算;
在第一个运算结果出来的前一时钟周期,第N个运算的输入被送进该模乘器里,其中N个连续的运算为一个批次;
在雅可比投影坐标下,一个点加运算执行16个模乘运算;一个使用一个或者多个流水线型蒙哥马利模乘器的点加电路,通过利用其流水特性,每一个模乘运算执行一个批次的运算请求,在不增加或者略微增加单个运算计算时间的情况下,系统可同时计算N个运算,使得系统整体性能提升N倍。
采用双流水线型蒙哥马利模乘器和四个流水线型模加器,该点加器每次可以连续接受多个运算请求,每个请求在不同的时钟周期,直到该批次的第一个请求结果输出前,点加器不会再接受新的运算请求,运算方法的步骤都是串行的,具体步骤如下:
S0:空闲,直到获得输入数据(x1,y1,z1,x2,y2,z2);
S1:在第一个运算周期,各步计算同时进行,模乘器1计算rr=z1*z1,模乘器2计算hh=z2*z2;
S2:在第二个运算周期,各步计算同时进行,模乘器1计算u2=x2*rr,模乘器2计算u1=x1*hh;
S3:在第三个运算周期,模乘器1计算t1=y1*z2,模乘器2计算t2=y2*z1;
S4:在第四个运算周期,模乘器1计算s1=t1*hh,模乘器2计算s2=t2*rr;
S5:在第五个运算周期,模加器2计算h=u2-u1,模加器1计算r=s2–s1,模加器1和模加器2的计算结果出来后,模乘器1计算z3=z1*z2,模乘器2计算hh=h*h;
S6:在第六个运算周期,模乘器1计算z3=z3*h,模乘器2计算t1=u1*hh;
S7:在第七个运算周期,模乘器1计算t2=h*hh,模乘器2计算rr=r*r;
S8:在第八个运算周期,首先由模加器2计算v=t1+t1,模加器1计算x3=rr-t2;两者的结果出来后,由模加器3计算x3=x3-v,结果出来后,由模加器4计算v=t1-x3;模加器4的计算结果出来后,模乘器1计算u1=r*v,模乘器2计算u2=s1*t2;
S9:在第九个运算周期,模加器1计算y3=u1-u2;
S10:输出倍点结果(x3,y3,z3),然后返回状态S0;
各步骤中*为蒙哥马利模乘运算,+/-为模加/模减运算。
假设蒙哥马利模乘器需要N个时钟周期,模加器需要M个时钟周期,为了提高性能,该点加器中批处理的个数一般选择为等于或者略小于模乘时钟周期N。这样可以尽量提高流水线型模乘器的利用率,当前一个步骤中模乘器里第一个运算结果出现时,可以立刻进入下一个步骤开始运算。
每一个步骤均执行多个时钟周期,并且长度不等,步骤S1、步骤S2、步骤S3、步骤S4、步骤S6、步骤S7需要N个时钟周期,步骤S5需要N+M个周期,步骤S8需要3*M+N个周期,而步骤S9需要M个周期;步骤S0由于包含一个等待数据的循环,其周期不固定;步骤S10需要1-2个时钟周期将数据传送出去。由于模加时间M要比模乘时钟周期短很多,上述方式保证了在使用批处理提高性能的同时,尽量降低每一个点加运算的时延。
一种椭圆曲线密码的高速点加运算装置,其特征在于:该运算装置包括有存储单元、控制单元、至少一个流水线型蒙哥马利模乘器以及至少一个流水线型模加器,模乘器用于进行蒙哥马利模乘运算,模加器用于进行模加/模减运算。
该运算装置包括有两个流水线型蒙哥马利模乘器以及四个流水线型模加器,其模加器4、模加器3、模加器2、模加器1及模乘器1、模乘器2依次设置为可进行同步运算的结构。
本发明利用流水线型蒙哥马利模乘器(本申请人另案申请的发明专利)的流水特性,通过创新的架构设计,使得基于上述流水线型蒙哥马利模乘器的点加运算电路同时具有高性能和低资源使用的优点。通过巧妙地复用底层流水线型的硬件电路,以批处理的方式同时执行多个点加运算。使用这种方式,尽管单个运算的执行时间并没有减少,但是整个系统的吞吐量获得几个数量级的提升,避免以往的点加硬件电路都是通过降低单个运算的时间来提升性能的缺陷。这使得本发明的性能/硬件资源比以及性能/能耗比都比以往的技术有数倍甚至数十倍的提升。同时本发明还通过分析点加算法的特性,选择最优的蒙哥马利模乘器和模加器的个数,通过并行执行多个运算来提升系统性能,达到性能和资源使用的最佳配置。
附图说明
图1为多时钟非批处理点加示意图,图中示例一个模乘需要10个时钟周期,一个点加需要执行4个模乘,但其只是示例,并不代表硬件实现的真正数据;
图2为本发明多时钟批处理点架示意图,运算周期中间有停顿;
图3为本发明优化后的多时钟批处理点架示意图,运算周期中间无停顿,同样图中4个模乘运算周期只是示例,并不代表其内部真正模乘运算周期;
图4为本发明使用双流水线型模乘器以及四个流水线型模加器的批处理点加运算状态图。
具体实施方式
下面结合具体实施例对本发明做进一步描述:
如图4,在雅可比投影坐标下,一个点加运算执行16个模乘运算;一个使用一个或者多个流水线型蒙哥马利模乘器的点加电路,通过利用其流水特性,每一个模乘运算执行一个批次的运算请求,在不增加或者略微增加单个运算计算时间的情况下,系统可同时计算N个运算,使得系统整体性能提升N倍。
采用双流水线型蒙哥马利模乘器和四个流水线型模加器,该点加器每次可以连续接受多个运算请求,每个请求在不同的时钟周期,直到该批次的第一个请求结果输出前,点加器不会再接受新的运算请求,运算方法的步骤都是串行的,从S0开始,执行完一个步骤就立刻执行下一个步骤,具体步骤如下:
S0:空闲,直到获得输入数据(x1,y1,z1,x2,y2,z2);
S1:在第一个运算周期,各步计算同时进行,模乘器1计算rr=z1*z1,模乘器2计算hh=z2*z2;
S2:在第二个运算周期,各步计算同时进行,模乘器1计算u2=x2*rr,模乘器2计算u1=x1*hh;
S3:在第三个运算周期,模乘器1计算t1=y1*z2,模乘器2计算t2=y2*z1;
S4:在第四个运算周期,模乘器1计算s1=t1*hh,模乘器2计算s2=t2*rr;
S5:在第五个运算周期,模加器2计算h=u2-u1,模加器1计算r=s2–s1,模加器1和模加器2的计算结果出来后,模乘器1计算z3=z1*z2,模乘器2计算hh=h*h;
S6:在第六个运算周期,模乘器1计算z3=z3*h,模乘器2计算t1=u1*hh;
S7:在第七个运算周期,模乘器1计算t2=h*hh,模乘器2计算rr=r*r;
S8:在第八个运算周期,首先由模加器2计算v=t1+t1,模加器1计算x3=rr-t2;两者的结果出来后,由模加器3计算x3=x3-v,结果出来后,由模加器4计算v=t1-x3;模加器4的计算结果出来后,模乘器1计算u1=r*v,模乘器2计算u2=s1*t2;
S9:在第九个运算周期,模加器1计算y3=u1-u2;
S10:输出倍点结果(x3,y3,z3),然后返回状态S0;
各步骤中*为蒙哥马利模乘运算,+/-为模加/模减运算。
假设蒙哥马利模乘器需要N个时钟周期,模加器需要M个时钟周期,为了提高性能,该点加器中批处理的个数一般选择为等于或者略小于模乘时钟周期N。这样可以尽量提高流水线型模乘器的利用率,当前一个步骤中模乘器里第一个运算结果出现时,可以立刻进入下一个步骤开始运算。
每一个步骤均执行多个时钟周期,并且长度不等,步骤S1、步骤S2、步骤S3、步骤S4、步骤S6、步骤S7需要N个时钟周期,步骤S5需要N+M个周期,步骤S8需要3*M+N个周期,而步骤S9需要M个周期;步骤S0由于包含一个等待数据的循环,其周期不固定;步骤S10需要1-2个时钟周期将数据传送出去。由于模加时间M要比模乘时钟周期短很多,上述方式保证了在使用批处理提高性能的同时,尽量降低每一个点加运算的时延。
步骤S8是唯一一个步骤需要同时用到四个模加器的,这是由模加时间M要比模乘时钟周期N短很多,以及批处理的特性所决定的。这样当S8里的某个模加小步骤,比如x3=rr-t2,中第一个运算花费M时钟出现时,它后面还有M个运算在该模加器的不同阶段,以及(N-M-1)个运算等待完成同一个步骤。因此,当这个运算需要执行下一个小步骤x3=x3-v时,它无法使用前一个小步骤的同一个模加器,而需要使用一个空闲的模加器。
如图2,一种直观的方法是一个批次里最后一个模乘运算完成,再开始下一个模乘周期。尽管使用这种方法实现的硬件状态机会比较简单,它也造成每一次运算周期切换时停顿N-1个时钟周期。因此,使用一个模乘器的点加电路会停顿(N-1)*15个时钟周期。
这些停顿可以通过进一步优化控制逻辑和模乘器的之间的握手来优化。最终效果就是每一次运算周期切换时没有任何停顿。使用了如图3所示的优化的批处理方式以减少步骤转换间的时延,提高整体性能。
使用并发双流水线型模乘器能够最大效率的利用点加运算内部模乘之间的并行性质,同时又不造成硬件资源的过度使用与空转。相对于模乘器,模加器使用的硬件资源要少很多,因此在这个设计里使用尽量多的模加器以减少相应具有数据依赖关系的模乘运算等待时间。
如果一个点加设计更注重于减少硬件资源使用,则可以只使用一个模乘器,将所有模乘运算串行处理。也可以进一步减少模加器的个数,最终减少到一个模加器,将所有模加运算串行处理。
以上已将本发明做一详细说明,以上所述,仅为本发明之较佳实施例而已,当不能限定本申请实施范围,即凡依本申请范围所作均等变化与修饰,皆应仍属本发明涵盖范围内。
Claims (5)
1.一种椭圆曲线密码的高速点加运算方法,其特征在于:采用流水线型蒙哥马利模乘器配合模加器来实现,运算流程如下,
以一个流水线型蒙哥马利模乘器执行N个时钟周期来获得一个结果,在连续的N个时钟周期里向该模乘器发送N个不同的运算;
在第一个运算结果出来的前一时钟周期,第N个运算的输入被送进该模乘器里,其中N个连续的运算为一个批次;
在雅可比投影坐标下,一个点加运算执行16个模乘运算;一个使用一个或者多个流水线型蒙哥马利模乘器的点加电路,通过利用其流水特性,每一个模乘运算执行一个批次的运算请求,在不增加或者略微增加单个运算计算时间的情况下,系统可同时计算N个运算,使得系统整体性能提升N倍。
2.根据权利要求1所述的椭圆曲线密码的高速点加运算方法,其特征在于:采用双流水线型蒙哥马利模乘器和四个流水线型模加器,该点加器每次可以连续接受多个运算请求,每个请求在不同的时钟周期,直到该批次的第一个请求结果输出前,点加器不会再接受新的运算请求,运算方法的步骤都是串行的,具体步骤如下:
S0:空闲,直到获得输入数据(x1,y1,z1,x2,y2,z2);
S1:在第一个运算周期,各步计算同时进行,模乘器1计算rr=z1*z1,模乘器2计算hh=z2*z2;
S2:在第二个运算周期,各步计算同时进行,模乘器1计算u2=x2*rr,模乘器2计算u1=x1*hh;
S3:在第三个运算周期,模乘器1计算t1=y1*z2,模乘器2计算t2=y2*z1;
S4:在第四个运算周期,模乘器1计算s1=t1*hh,模乘器2计算s2=t2*rr;
S5:在第五个运算周期,模加器2计算h=u2-u1,模加器1计算r=s2–s1,模加器1和模加器2的计算结果出来后,模乘器1计算z3=z1*z2,模乘器2计算hh=h*h;
S6:在第六个运算周期,模乘器1计算z3=z3*h,模乘器2计算t1=u1*hh;
S7:在第七个运算周期,模乘器1计算t2=h*hh,模乘器2计算rr=r*r;
S8:在第八个运算周期,首先由模加器2计算v=t1+t1,模加器1计算x3=rr-t2;两者的结果出来后,由模加器3计算x3=x3-v,结果出来后,由模加器4计算v=t1-x3;模加器4的计算结果出来后,模乘器1计算u1=r*v,模乘器2计算u2=s1*t2;
S9:在第九个运算周期,模加器1计算y3=u1-u2;
S10:输出倍点结果(x3,y3,z3),然后返回状态S0;
各步骤中*为蒙哥马利模乘运算,+/-为模加/模减运算。
3.根据权利要求2所述的椭圆曲线密码的高速点加运算方法,其特征在于:每一个步骤均执行多个时钟周期,并且长度不等,步骤S1、步骤S2、步骤S3、步骤S4、步骤S6、步骤S7需要N个时钟周期,步骤S5需要N+M个周期,步骤S8需要3*M+N个周期,而步骤S9需要M个周期;步骤S0由于包含一个等待数据的循环,其周期不固定;步骤S10需要1-2个时钟周期将数据传送出去。
4.一种椭圆曲线密码的高速点加运算装置,其特征在于:该运算装置包括有存储单元、控制单元、至少一个流水线型蒙哥马利模乘器以及至少一个流水线型模加器,模乘器用于进行蒙哥马利模乘运算,模加器用于进行模加/模减运算。
5.根据权利要求4所述的椭圆曲线密码的高速点加运算方装置,其特征在于:该运算装置包括有两个流水线型蒙哥马利模乘器以及四个流水线型模加器,其模加器4、模加器3、模加器2、模加器1及模乘器1、模乘器2依次设置为可进行同步运算的结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732752.XA CN110460443A (zh) | 2019-08-09 | 2019-08-09 | 椭圆曲线密码的高速点加运算方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732752.XA CN110460443A (zh) | 2019-08-09 | 2019-08-09 | 椭圆曲线密码的高速点加运算方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110460443A true CN110460443A (zh) | 2019-11-15 |
Family
ID=68485515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910732752.XA Pending CN110460443A (zh) | 2019-08-09 | 2019-08-09 | 椭圆曲线密码的高速点加运算方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110460443A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198672A (zh) * | 2019-12-30 | 2020-05-26 | 华南师范大学 | 一种基于二元扩域的点加和倍点电路及其控制方法 |
CN113472540A (zh) * | 2021-07-01 | 2021-10-01 | 罗克佳华(重庆)科技有限公司 | 生成密文的方法、装置、电子设备及存储介质 |
CN114489571A (zh) * | 2022-04-15 | 2022-05-13 | 广州万协通信息技术有限公司 | 一种非对称算法计算电路 |
CN114840174A (zh) * | 2022-05-18 | 2022-08-02 | 广州万协通信息技术有限公司 | 一种使用多乘法器快速实现蒙哥马利模乘的系统及方法 |
CN114879934A (zh) * | 2021-12-14 | 2022-08-09 | 中国科学院深圳先进技术研究院 | 一种高效的零知识证明加速器及方法 |
CN115113848A (zh) * | 2022-08-30 | 2022-09-27 | 北京象帝先计算技术有限公司 | 签名/验签电路、装置、设备、方法及坐标还原电路 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262345A (zh) * | 2008-01-04 | 2008-09-10 | 清华大学 | 椭圆曲线密码系统的倍点系统 |
CN101782845A (zh) * | 2009-01-20 | 2010-07-21 | 北京华大信安科技有限公司 | 一种椭圆曲线密码的高速运算装置和方法 |
WO2015164996A1 (zh) * | 2014-04-28 | 2015-11-05 | 山东华芯半导体有限公司 | 椭圆域曲线运算方法和椭圆域曲线运算器 |
CN106126193A (zh) * | 2016-08-24 | 2016-11-16 | 四川卫士通信息安全平台技术有限公司 | 基于Zynq的椭圆曲线点加运算加速器及加速方法 |
-
2019
- 2019-08-09 CN CN201910732752.XA patent/CN110460443A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262345A (zh) * | 2008-01-04 | 2008-09-10 | 清华大学 | 椭圆曲线密码系统的倍点系统 |
CN101782845A (zh) * | 2009-01-20 | 2010-07-21 | 北京华大信安科技有限公司 | 一种椭圆曲线密码的高速运算装置和方法 |
WO2015164996A1 (zh) * | 2014-04-28 | 2015-11-05 | 山东华芯半导体有限公司 | 椭圆域曲线运算方法和椭圆域曲线运算器 |
CN106126193A (zh) * | 2016-08-24 | 2016-11-16 | 四川卫士通信息安全平台技术有限公司 | 基于Zynq的椭圆曲线点加运算加速器及加速方法 |
Non-Patent Citations (1)
Title |
---|
张霄鹏等: "一种基于椭圆曲线的流水线实现方法", 《微电子学与计算机》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198672A (zh) * | 2019-12-30 | 2020-05-26 | 华南师范大学 | 一种基于二元扩域的点加和倍点电路及其控制方法 |
CN113472540A (zh) * | 2021-07-01 | 2021-10-01 | 罗克佳华(重庆)科技有限公司 | 生成密文的方法、装置、电子设备及存储介质 |
CN114879934A (zh) * | 2021-12-14 | 2022-08-09 | 中国科学院深圳先进技术研究院 | 一种高效的零知识证明加速器及方法 |
CN114879934B (zh) * | 2021-12-14 | 2023-01-10 | 中国科学院深圳先进技术研究院 | 一种高效的零知识证明加速器及方法 |
CN114489571A (zh) * | 2022-04-15 | 2022-05-13 | 广州万协通信息技术有限公司 | 一种非对称算法计算电路 |
CN114840174A (zh) * | 2022-05-18 | 2022-08-02 | 广州万协通信息技术有限公司 | 一种使用多乘法器快速实现蒙哥马利模乘的系统及方法 |
CN115113848A (zh) * | 2022-08-30 | 2022-09-27 | 北京象帝先计算技术有限公司 | 签名/验签电路、装置、设备、方法及坐标还原电路 |
CN115113848B (zh) * | 2022-08-30 | 2022-12-13 | 北京象帝先计算技术有限公司 | 签名/验签电路、装置、设备、方法及坐标还原电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110460443A (zh) | 椭圆曲线密码的高速点加运算方法和装置 | |
Bernstein et al. | Kummer strikes back: new DH speed records | |
CN101782845B (zh) | 一种椭圆曲线密码的高速运算装置和方法 | |
CN104184578B (zh) | 一种基于fpga的椭圆曲线标量乘法加速电路及其算法 | |
CN102306091B (zh) | 椭圆曲线点乘硬件快速实现方法 | |
CN111966324B (zh) | 面向多椭圆曲线标量乘法器的实现方法、装置及存储介质 | |
CN113628094B (zh) | 一种基于gpu的高吞吐量sm2数字签名计算系统及方法 | |
CN112231630B (zh) | 基于fpga并行加速的稀疏矩阵求解方法 | |
WO2018027706A1 (zh) | Fft处理器及运算方法 | |
CN103942031A (zh) | 椭圆域曲线运算方法和椭圆域曲线运算器 | |
CN113783702A (zh) | 一种椭圆曲线数字签名与验签的硬件实现方法和系统 | |
CN115344237A (zh) | 结合Karatsuba和蒙哥马利模乘的数据处理方法 | |
Giorgi et al. | Parallel modular multiplication on multi-core processors | |
Lee et al. | Subquadratic Space-Complexity Digit-Serial Multipliers Over $ GF (2^{m}) $ Using Generalized $(a, b) $-Way Karatsuba Algorithm | |
CN113032848A (zh) | 一种数据处理方法和用于数据处理的芯片 | |
CN113794572A (zh) | 一种高性能椭圆曲线数字签名与验签的硬件实现系统和方法 | |
CN110232289A (zh) | 椭圆曲线密码的高速倍点运算方法 | |
CN101630244B (zh) | 一种流水线型椭圆曲线双标量乘法系统及方法 | |
Järvinen et al. | A generalization of addition chains and fast inversions in binary fields | |
Lee et al. | Efficient $ M $-ary exponentiation over $ GF (2^{m}) $ using subquadratic KA-based three-operand Montgomery multiplier | |
da Rosa et al. | The Radix-2 m Squared Multiplier | |
KR101309797B1 (ko) | 성긴 w-NAF 키 생성방법,이를 이용한 연산 방법 및암호화 방법 | |
US7266577B2 (en) | Modular multiplication apparatus, modular multiplication method, and modular exponentiation apparatus | |
Lee et al. | Low area-delay complexity digit-level parallel-in serial-out multiplier over GF (2m) based on overlap-free karatsuba algorithm | |
CN114594925A (zh) | 适用于sm2加密运算的高效模乘电路及其运算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191115 |