CN110460443A - 椭圆曲线密码的高速点加运算方法和装置 - Google Patents

椭圆曲线密码的高速点加运算方法和装置 Download PDF

Info

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
Application number
CN201910732752.XA
Other languages
English (en)
Inventor
胡世文
沈亚明
常洪明
田涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Bingsu Technology Co Ltd
Original Assignee
Nanjing Bingsu Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Bingsu Technology Co Ltd filed Critical Nanjing Bingsu Technology Co Ltd
Priority to CN201910732752.XA priority Critical patent/CN110460443A/zh
Publication of CN110460443A publication Critical patent/CN110460443A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization 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依次设置为可进行同步运算的结构。
CN201910732752.XA 2019-08-09 2019-08-09 椭圆曲线密码的高速点加运算方法和装置 Pending CN110460443A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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的椭圆曲线点加运算加速器及加速方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
张霄鹏等: "一种基于椭圆曲线的流水线实现方法", 《微电子学与计算机》 *

Cited By (8)

* Cited by examiner, † Cited by third party
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