CN110232289A - 椭圆曲线密码的高速倍点运算方法 - Google Patents
椭圆曲线密码的高速倍点运算方法 Download PDFInfo
- Publication number
- CN110232289A CN110232289A CN201910732742.6A CN201910732742A CN110232289A CN 110232289 A CN110232289 A CN 110232289A CN 201910732742 A CN201910732742 A CN 201910732742A CN 110232289 A CN110232289 A CN 110232289A
- Authority
- CN
- China
- Prior art keywords
- adder
- modular multiplier
- calculates
- modular
- montgomery
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了椭圆曲线密码的高速倍点运算方法,采用流水线型蒙哥马利模乘器配合加法器来实现,以一个模乘器执行N个时钟周期来获得一个结果,在连续N个时钟周期里向该模乘器发送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
点加运算使得两个不同点相加的结果仍为该椭圆曲线上的一点。倍点运算使得两个相同点相加的结果仍为该椭圆曲线上的一点。与普通运算不同,点加只有在两个点不同时使用。
在雅可比投影坐标下,倍点的算法如下:
输入:点(X, Y, Z)
输出:倍点结果(X’, Y’, Z’)
S = 4XY2; M = 3X2 + aZ4
X’= M2 – 2S
Y’= M(S – X’) – 8Y4
Z’= 2YZ
返回 (X’, Y’, Z’)
上述算法中的“+、-、*”都不是普通运算,而是求模运算。在倍点运算中,最耗时的运算是模乘运算。模乘运算算法中效率高、便于实现的算法是蒙哥马利模乘算法。蒙哥马利模乘在使用过程中需要把普通数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-1 mod N。R通常为一个便于约减的整数,比如232或264等。
如果倍点运算的输入和输出都是蒙哥马利数,则它们内部的相应模乘运算都可以被替换为蒙哥马利模乘MM。
常用的椭圆曲线密码系统中通常使用位数很大(比如256或者512)的整数来保证系统的安全性。这些系统的整体性能提升往往是通过提升其倍点运算获得的,通常的做法是使用更多的硬件资源来提高它们的运算速度。
在雅可比投影坐标下,一个倍点运算需要执行9个模乘运算。通过使用多个模乘运算电路,充分利用上述模乘运算之间的并行性质,可以提升倍点运算的性能。但是这种方法也有它的局限性,因为很多模乘运算都有一定的数据依赖关系,并不能把它们完全并行运算。同时这种方法每提升一倍的性能需要使用超过一倍的硬件资源,造成系统性价比的下降以及能耗的上升,如图1所示的非流水线型的倍点硬件时序。
发明内容
本发明针对现有技术的缺陷,提供一种主要基于流水线型蒙哥马利模乘器实现倍点运算电路同时具有高性能和低资源使用特点的椭圆曲线密码的高速倍点运算方法。
为解决上述技术问题,本发明采用如下技术方案:一种椭圆曲线密码的高速倍点运算方法,其特征在于:采用流水线型蒙哥马利模乘器配合加法器来实现,运算流程如下,
以一个流水线型蒙哥马利模乘器执行N个时钟周期来获得一个结果,在连续的N个时钟周期里向该模乘器发送N个不同的运算;
在第一个运算结果出来的前一时钟周期,第N个运算的输入被送进该模乘器里,其中N个连续的运算为一个批次;
在雅可比投影坐标下,一个倍点运算执行9个模乘运算;一个使用一个或者多个流水线型蒙哥马利模乘器的倍点电路,通过利用其流水特性,每一个模乘运算执行一个批次的运算请求,在不增加或者略微增加单个运算计算时间的情况下,系统可同时计算N个运算,使得系统整体性能提升N倍。
较佳地,采用双流水线型蒙哥马利模乘器和四个流水线型加法器(即模加器),用于运行该运算方法的运算装置每次可以连续接受多个运算请求,每个请求在不同的时钟周期,直到该批次的第一个请求结果输出前,倍点器不会再接受新的运算请求,运算方法的步骤都是串行的,具体步骤如下:
S0:空闲,直到获得输入数据(x, y, z);
S1:在第一个运算周期,各步计算同时进行,加法器1计算t3=y+z,模乘器1计算d=z*z,模乘器2计算g=y*y;
S2:在第二个运算周期,各步计算同时进行,加法器2计算t=x+d,加法器1计算t2=x-d,模乘器1计算t3=t3*t3,模乘器2计算b=x*g;
S3:在第三个运算周期,首先同时由加法器3计算t3= t3–g,加法器1计算b=b+b(即从地址为b的寄存器里取出数值,做一个加法,再把结果存回该寄存器,下同),模乘器1计算a=t*t2,模乘器2计算t2=g*g,然后在加法器3和加法器1的计算结果出来后即分别同时由加法器4计算z’=t3-d,加法器2计算b=b+b;
S4:在第四个运算周期,首先同时由加法器1计算a2=a+a,加法器3计算b2=b+b,然后在加法器1的计算结果出来后即由加法器2计算a=a2+a;
S5:在第五个运算周期,模乘器1计算x’=a*a;
S6:在第六个运算周期,首先由加法器2计算x’=x’-b2,结果出来后即由加法器2计算t=b-x’;
S7:在第七个运算周期,各步计算同时进行,模乘器1计算t=a*t,模乘器2计算t2=8*t2;
S8:在第八个运算周期,加法器1计算y’=t-t2;
S9:输出倍点结果(x’, y’, z’),然后返回状态S0;
各步骤中*为蒙哥马利模乘运算,+/-为模加/模减运算。
设置流水线型蒙哥马利模乘器需要N个时钟周期,加法器需要M个时钟周期,用于运行该运算方法的运算装置中批处理的个数设置为等于或者略小于模乘时钟周期N,以提高流水线型蒙哥马利模乘器的利用率,当前一个步骤中模乘器里第一个运算结果出现时,可以立刻进入下一个步骤开始运算。
一种椭圆曲线密码的高速倍点运算装置,其特征在于:该运算装置包括有存储单元、控制单元、至少一个流水线型蒙哥马利模乘器以及至少一个流水线型加法器,模乘器用于进行蒙哥马利模乘运算,加法器用于进行模加/模减运算。
该运算装置包括有两个流水线型蒙哥马利模乘器以及四个流水线型加法器,其加法器4、加法器3、加法器2、加法器1及模乘器1、模乘器2依次设置为可进行同步运算的结构。
本发明利用流水线型蒙哥马利模乘器的流水特性,通过创新的架构设计,使得基于上述流水线型蒙哥马利模乘器的倍点运算电路同时具有高性能和低资源使用的优点。通过巧妙地复用底层流水线型的硬件电路,以批处理的方式同时执行多个倍点运算。使用这种方式,尽管单个运算的执行时间并没有减少,但是整个系统的吞吐量获得几个数量级的提升。这使得本发明的性能/硬件资源比以及性能/能耗比都比以往的技术有数倍甚至数十倍的提升。同时本发明还通过分析倍点算法的特性,选择最优的蒙哥马利模乘器和模加器的个数,通过并行执行多个运算来提升系统性能,并达到性能和资源使用的最佳配置。
附图说明
图1为多时钟非批处理倍点示意图,图中示例一个模乘需要10个时钟周期,一个倍点需要执行4个模乘,但其只是示例,并不代表硬件实现的真正数据;
图2为本发明多时钟批处理倍点示意图,运算周期中间有停顿;
图3为本发明优化后的多时钟批处理倍点示意图,运算周期中间无停顿,同样图中4个模乘运算周期只是示例,并不代表其内部真正模乘运算周期;
图4为本发明使用双流水线型模乘器以及四个流水线型加法器的批处理倍点运算状态图。
具体实施方式
下面结合具体实施例对本发明做进一步描述:
如图4,在雅可比投影坐标下,一个倍点运算执行9个模乘运算,采用双流水线型蒙哥马利模乘器和四个流水线型加法器,用于运行该运算方法的运算装置(即倍点器)每次可以连续接受多个运算请求,每个请求在不同的时钟周期,直到该批次的第一个请求结果输出前,倍点器不会再接受新的运算请求,运算方法的步骤都是串行的,具体步骤如下:
S0:空闲,直到获得输入数据(x, y, z);
S1:在第一个运算周期,各步计算同时进行,加法器1计算t3=y+z,模乘器1计算d=z*z,模乘器2计算g=y*y;
S2:在第二个运算周期,各步计算同时进行,加法器2计算t=x+d,加法器1计算t2=x-d,模乘器1计算t3=t3*t3,模乘器2计算b=x*g;
S3:在第三个运算周期,首先同时由加法器3计算t3= t3–g,加法器1计算b=b+b,模乘器1计算a=t*t2,模乘器2计算t2=g*g,然后在加法器3和加法器1的计算结果出来后即分别同时由加法器4计算z’=t3-d,加法器2计算b=b+b;
S4:在第四个运算周期,首先同时由加法器1计算a2=a+a,加法器3计算b2=b+b,然后在加法器1的计算结果出来后即由加法器2计算a=a2+a;
S5:在第五个运算周期,模乘器1计算x’=a*a;
S6:在第六个运算周期,首先由加法器2计算x’=x’-b2,结果出来后即由加法器2计算t=b-x’;
S7:在第七个运算周期,各步计算同时进行,模乘器1计算t=a*t,模乘器2计算t2=8*t2;
S8:在第八个运算周期,加法器1计算y’=t-t2;
S9:输出倍点结果(x’, y’, z’),然后返回状态S0;
各步骤中*为蒙哥马利模乘运算,+/-为模加/模减运算。
为了提高性能,上面每一个步骤都执行多个时钟周期,并且是长度不等的。假设蒙哥马利模乘器时钟周期为加法器时钟周期两倍以上(N≥2*M),则S1/S2/S3/S5/S7需要N个时钟周期,S4/S6需要2*M个周期,而S8需要M个周期。S0因为包含一个等待数据的循环,其周期不固定。S9一般只需要1-2个时钟周期将数据传出去。由于模加时间M要比模乘时钟周期短很多,上述方式保证了在使用批处理提高性能的同时,尽量降低每一个倍点运算的时延。
S3是唯一一个步骤需要同时用到四个乘法器,这是由模加时间M要比模乘时钟周期N短很多,以及批处理的特性所决定的。这样当S3里的某个模加小步骤(比如t3=t3-g)中第一个运算花费M时钟出现时,它后面还有M个运算在该加法器的不同阶段,以及(N-M-1)个运算等待完成同一个步骤。因此,当这个运算需要执行下一个小步骤z’=t3-d时,它无法使用前一个小步骤的同一个加法器,而需要使用一个空闲的加法器。
需要说明的是,S3中后两个模加运算只需要等前两个模加的第一个结果出来就可以马上开始它们各自的运算,而无需等待两个模乘运算完成。
如图2,一种直观的方法是一个批次里最后一个模乘运算完成,再开始下一个模乘周期。尽管使用这种方法实现的硬件状态机会比较简单,它也造成每一次运算周期切换时停顿N-1个时钟周期。因此,使用一个模乘器的倍点电路会停顿(N-1)*8个时钟周期。
这些停顿可以通过进一步优化控制逻辑和模乘器之间的控制信号的时序,最终效果就是每一次运算周期切换时没有任何停顿。使用了如图3所示的优化的批处理方式以减少步骤转换间的时延,提高整体性能。
本发明同时也基于模乘器和模加器的个数及它们的不同时钟周期而进行了算法的优化。比如背景技术的倍点算法里有两个乘法 s=3*s 和 t=4*t,它们可以分别转化为两个加法(s2=s+s和s=s2+s,以及t=t+t和t=t+t)。由于模加时钟周期远远小于模乘时钟周期,而且本发明里有更多的模加器,将上述模乘操作换为模加操作进一步提升了性能。而出于同样的考虑,上述算法里的另一个乘法z=8*z就没有被转换为多个加法。
如果一个倍点设计更注重于减少硬件资源使用,则可以只使用一个模乘器,将所有模乘运算串行处理。也可以进一步减少模加器的个数,最终减少到一个模加器,将所有模加运算串行处理。
以上已将本发明做一详细说明,以上所述,仅为本发明之较佳实施例而已,当不能限定本申请实施范围,即凡依本申请范围所作均等变化与修饰,皆应仍属本发明涵盖范围内。
Claims (5)
1.一种椭圆曲线密码的高速倍点运算方法,其特征在于:采用流水线型蒙哥马利模乘器配合加法器来实现,运算流程如下,
以一个流水线型蒙哥马利模乘器执行N个时钟周期来获得一个结果,在连续的N个时钟周期里向该模乘器发送N个不同的运算;
在第一个运算结果出来的前一时钟周期,第N个运算的输入被送进该模乘器里,其中N个连续的运算为一个批次;
在雅可比投影坐标下,一个倍点运算执行9个模乘运算;一个使用一个或者多个流水线型蒙哥马利模乘器的倍点电路,通过利用其流水特性,每一个模乘运算执行一个批次的运算请求,在不增加或者略微增加单个运算计算时间的情况下,系统可同时计算N个运算,使得系统整体性能提升N倍。
2.根据权利要求1所述的椭圆曲线密码的高速倍点运算方法,其特征在于:采用双流水线型蒙哥马利模乘器和四个流水线型加法器,用于运行该运算方法的运算装置每次可以连续接受多个运算请求,每个请求在不同的时钟周期,直到该批次的第一个请求结果输出前,倍点器不会再接受新的运算请求,运算方法的步骤都是串行的,具体步骤如下:
S0:空闲,直到获得输入数据(x, y, z);
S1:在第一个运算周期,各步计算同时进行,加法器1计算t3=y+z,模乘器1计算d=z*z,模乘器2计算g=y*y;
S2:在第二个运算周期,各步计算同时进行,加法器2计算t=x+d,加法器1计算t2=x-d,模乘器1计算t3=t3*t3,模乘器2计算b=x*g;
S3:在第三个运算周期,首先同时由加法器3计算t3= t3–g,加法器1计算b=b+b,模乘器1计算a=t*t2,模乘器2计算t2=g*g,然后在加法器3和加法器1的计算结果出来后即分别同时由加法器4计算z’=t3-d,加法器2计算b=b+b;
S4:在第四个运算周期,首先同时由加法器1计算a2=a+a,加法器3计算b2=b+b,然后在加法器1的计算结果出来后即由加法器2计算a=a2+a;
S5:在第五个运算周期,模乘器1计算x’=a*a;
S6:在第六个运算周期,首先由加法器2计算x’=x’-b2,结果出来后即由加法器2计算t=b-x’;
S7:在第七个运算周期,各步计算同时进行,模乘器1计算t=a*t,模乘器2计算t2=8*t2;
S8:在第八个运算周期,加法器1计算y’=t-t2;
S9:输出倍点结果(x’, y’, z’),然后返回状态S0;
各步骤中*为蒙哥马利模乘运算,+/-为模加/模减运算。
3.根据权利要求2所述的椭圆曲线密码的高速倍点运算方法,其特征在于:设置流水线型蒙哥马利模乘器需要N个时钟周期,加法器需要M个时钟周期,用于运行该运算方法的运算装置中批处理的个数设置为等于或者略小于模乘时钟周期N,以提高流水线型蒙哥马利模乘器的利用率,当前一个步骤中模乘器里第一个运算结果出现时,可以立刻进入下一个步骤开始运算。
4.根据权利要求1所述的椭圆曲线密码的高速倍点运算方法,其特征在于:用于运行该运算方法的运算装置包括有存储单元、控制单元、至少一个流水线型蒙哥马利模乘器以及至少一个流水线型加法器,模乘器用于进行蒙哥马利模乘运算,加法器用于进行模加/模减运算。
5.根据权利要求4所述的椭圆曲线密码的高速倍点运算方法,其特征在于:该运算装置包括有两个流水线型蒙哥马利模乘器以及四个流水线型加法器,其加法器4、加法器3、加法器2、加法器1及模乘器1、模乘器2依次设置为可进行同步运算的结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732742.6A CN110232289A (zh) | 2019-08-09 | 2019-08-09 | 椭圆曲线密码的高速倍点运算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732742.6A CN110232289A (zh) | 2019-08-09 | 2019-08-09 | 椭圆曲线密码的高速倍点运算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110232289A true CN110232289A (zh) | 2019-09-13 |
Family
ID=67855299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910732742.6A Pending CN110232289A (zh) | 2019-08-09 | 2019-08-09 | 椭圆曲线密码的高速倍点运算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110232289A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633574A (zh) * | 2019-09-17 | 2019-12-31 | 北京智芯微电子科技有限公司 | 用于电力系统安全传输的ecc加密模块 |
CN111740820A (zh) * | 2020-08-10 | 2020-10-02 | 灵长智能科技(杭州)有限公司 | 基于ecc的有限域运算调度方法、装置、设备、介质及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262345A (zh) * | 2008-01-04 | 2008-09-10 | 清华大学 | 椭圆曲线密码系统的倍点系统 |
CN101782845A (zh) * | 2009-01-20 | 2010-07-21 | 北京华大信安科技有限公司 | 一种椭圆曲线密码的高速运算装置和方法 |
-
2019
- 2019-08-09 CN CN201910732742.6A patent/CN110232289A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262345A (zh) * | 2008-01-04 | 2008-09-10 | 清华大学 | 椭圆曲线密码系统的倍点系统 |
CN101782845A (zh) * | 2009-01-20 | 2010-07-21 | 北京华大信安科技有限公司 | 一种椭圆曲线密码的高速运算装置和方法 |
Non-Patent Citations (1)
Title |
---|
张霄鹏等: "《一种基于椭圆曲线的流水线实现方法》", 《微电子学与计算机》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633574A (zh) * | 2019-09-17 | 2019-12-31 | 北京智芯微电子科技有限公司 | 用于电力系统安全传输的ecc加密模块 |
CN110633574B (zh) * | 2019-09-17 | 2021-06-29 | 北京智芯微电子科技有限公司 | 用于电力系统安全传输的椭圆曲线密码学ecc加密模块 |
CN111740820A (zh) * | 2020-08-10 | 2020-10-02 | 灵长智能科技(杭州)有限公司 | 基于ecc的有限域运算调度方法、装置、设备、介质及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Elliptic-curve-based security processor for RFID | |
CN110460443A (zh) | 椭圆曲线密码的高速点加运算方法和装置 | |
CN110351087B (zh) | 流水线型的蒙哥马利模乘运算方法 | |
Fan et al. | Efficient hardware implementation of Fp-arithmetic for pairing-friendly curves | |
WO2003052583A2 (en) | Logic circuit for performing modular multiplication and exponentiation | |
Güneysu | Utilizing hard cores of modern FPGA devices for high-performance cryptography | |
CN113783702A (zh) | 一种椭圆曲线数字签名与验签的硬件实现方法和系统 | |
CN104184578A (zh) | 一种基于fpga的椭圆曲线标量乘法加速电路及其算法 | |
CN113031920B (zh) | 一种芯片和用于芯片的批量模运算方法 | |
WO2018027706A1 (zh) | Fft处理器及运算方法 | |
Giorgi et al. | Parallel modular multiplication on multi-core processors | |
CN110232289A (zh) | 椭圆曲线密码的高速倍点运算方法 | |
CN113794572A (zh) | 一种高性能椭圆曲线数字签名与验签的硬件实现系统和方法 | |
Järvinen et al. | A generalization of addition chains and fast inversions in binary fields | |
CN113032723B (zh) | 一种矩阵乘法器的实现方法及矩阵乘法器装置 | |
CN110673824B (zh) | 矩阵向量乘电路以及循环神经网络硬件加速器 | |
Li et al. | Research in fast modular exponentiation algorithm based on FPGA | |
CN117155572A (zh) | 一种基于gpu并行实现密码技术中大整数乘法的方法 | |
O'Rourke et al. | Achieving NTRU with Montgomery multiplication | |
Chaouch et al. | Two hardware implementations for modular multiplication in the AMNS: Sequential and semi-parallel | |
Lee et al. | Low area-delay complexity digit-level parallel-in serial-out multiplier over gf (2m) based on overlap-free karatsuba algorithm | |
KR20080050054A (ko) | 성긴 w-NAF 키 생성방법,이를 이용한 연산 방법 및암호화 방법 | |
Ma et al. | Fast implementation for modular inversion and scalar multiplication in the elliptic curve cryptography | |
Wang et al. | TCPM: A reconfigurable and efficient Toom-Cook-based polynomial multiplier over rings using a novel compressed postprocessing algorithm | |
Rahman et al. | Highly area-efficient implementation of modular multiplication for elliptic curve cryptography |
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 |
Application publication date: 20190913 |
|
RJ01 | Rejection of invention patent application after publication |