CN110351087B - 流水线型的蒙哥马利模乘运算方法 - Google Patents

流水线型的蒙哥马利模乘运算方法 Download PDF

Info

Publication number
CN110351087B
CN110351087B CN201910839580.6A CN201910839580A CN110351087B CN 110351087 B CN110351087 B CN 110351087B CN 201910839580 A CN201910839580 A CN 201910839580A CN 110351087 B CN110351087 B CN 110351087B
Authority
CN
China
Prior art keywords
multiplication
bits
pipelined
montgomery
result
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.)
Expired - Fee Related
Application number
CN201910839580.6A
Other languages
English (en)
Other versions
CN110351087A (zh
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 CN201910839580.6A priority Critical patent/CN110351087B/zh
Publication of CN110351087A publication Critical patent/CN110351087A/zh
Application granted granted Critical
Publication of CN110351087B publication Critical patent/CN110351087B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • 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

Abstract

本发明公开了一种流水线型的蒙哥马利模乘运算方法,涉及数据密码算法技术领域,采用流水线型方式来提升蒙哥马利模乘算法性能,增加了单个蒙哥马利模乘器的吞吐量,在吞吐量相同的情况下,本发明比传统使用多个蒙哥马利模乘器的方法消耗更少的硬件资源和面积。如此使本发明数十倍地提升了单位时间里的模乘运算个数,使得本发明比非流水线型的蒙哥马利模乘器具有更高的性能/资源比。同时,使用流水线型的蒙哥马利模乘器的非对称密钥算法硬件可以用更少的硬件资源达到更高的性能,提高任意长度的蒙哥马利模乘运算的吞吐量。

Description

流水线型的蒙哥马利模乘运算方法
技术领域
本发明涉及数据密码算法技术领域,具体涉及一种蒙哥马利模乘运算方法及计算装置。
背景技术
信息的安全保障基于安全算法,安全算法有一类是非对称密钥算法。非对称密钥算法的优点是安全性高,缺点是加密速度比分组密码慢很多,所以人们一直在研究如何提升非对称密钥算法的运算速度。目前,非对称密钥算法主要有两种,一是RSA,二是椭圆曲线密码ECC(Elliptic Curve Cryptography),上述两种公钥密码算法都需要使用模乘计算(S*T mod P)。
模乘算法中效率高、便于实现的算法是蒙哥马利模乘算法。蒙哥马利模乘使用过程中需要把普通数A转换成蒙哥马利数S’=S*R mod P。为使两个蒙哥马利数S’=S*R mod P和T’=T*R mod P相乘的结果为(S*T)’=(S*T)*R mod P,蒙哥马利模乘运算定义为MM(S’,T’) = (S’* T’) * R-1 mod P。R通常为一个便于约减的整数,比如232或264等。
目前,大多数的硬件模乘器都是基于蒙哥马利算法及其变形算法设计的。但是它们大都通过牺牲性能来节省资源和面积,造成系统性价比的下降以及能耗的上升。单个蒙哥马利模乘运算耗时过长,因此单个蒙哥马利模乘器如果不支持流水线型,很难提高其单位时间里模乘运算个数,即其吞吐量。一种可行的性能提升方案是在一个计算装置中使用多个蒙哥马利模乘器,但是这会造成硬件资源、面积和能耗的成倍增加。
发明内容
本发明针对现有技术的缺陷,提供一种可大幅提升单位时间里的模乘运算个数、可以更少的硬件资源达到更高的性能、可提高任意长度的蒙哥马利模乘运算的吞吐量的流水线型的蒙哥马利模乘运算方法。
为解决上述技术问题,本发明采用如下技术方案:一种流水线型的蒙哥马利模乘运算方法,其特征在于:输入为S和T,输出S*T*2-R 模 P,其中,在非对称密钥算法中,S、 T和P均为R位的大整数,其中P为素数;算法分为两部分:第一部分是S与T相乘的普通乘法步骤,得到一个2R位的乘积;第二部分是余下的步骤,即将2R位的乘积约减成为R位的最终结果S*T*2-R 模 P。在这个过程中,R可以分解为L* K,这样可以循环K次,每次处理L位的数据。
并且,用于实现蒙哥马利模乘运算的硬件乘法器的输入位宽分别为U和V,远小于R。
蒙哥马利模乘运算过程:
输入:P<2R,0≤S,T<P, R=L*K, K0=-P-1 模 2L
输出:S*T*2-R 模 P
1)Z=S*T;循环K次:2)T1=Z模2L;3)Y=T1*K0模2L;4)T2=Y*P;5)T3=(Z+T2);6)Z=T3/2L;循环结束;7)如果Z≥P,则X=Z–P;否则X=Z;返回X。
整个计算过程分为三个乘法步骤和两个约减步骤,
乘法步骤1:通过使用多个输入分别为U和V位的小位宽全流水线型乘法器实现本步骤;输入数据其中表示向上取整且其输入数据为R位二进制数;则乘法运算式:
乘法步骤2:该步骤将乘法步骤1中小位宽全流水线型乘法器的相乘结果按位对齐,获得多个不同长度的整数,并将各整数分别存入不同寄存器中;由于硬件易于实现对齐,即把乘法器输出结果连接至相应寄存器的相应输入,因此该步骤只需要一个时钟周期;
乘法步骤3:该步骤将乘法步骤2中获得的所有整数相加,最后得到2*R位的乘法结果;
约减步骤1:该步骤采用K个流水线型蒙哥马利约减单元,每一次将结果约减L位;已知参数为P=∑Bi*2i,为该椭圆曲线相应素数,其中i=(0,1,2,…,R); Bi∈(-1,0,1),以及K0=-P-1模2L。例如P256曲线中P=2256-2224+2192+296-1, 因此B256=B192=B96=1, B224=B0=-1, 其余Bi=0。
其中,一个流水线型蒙哥马利约减单元将乘法器输出结果从B*L位约减为(B-1)*L位 (B=2K,2K-1,…,K+1) 的过程包含以下步骤:
a)对Z进行模2L运算,即取Z的低L位得到T1;
b)计算Y=(T1*K0)模2L,计算T1乘K0使用一个全流水的乘法器,两个输入均为L位,输出为2L位,然后取该乘法器结果的低L位得到Y;
c)计算T2=Y*P,得到T2=∑Bi*Y*2i,该处乘法使用移位相加实现:每一部分都是Y左移i位,然后添加符号位,最后将这些部分相加得到T2;
d)Z与T2相加,得到T3;
e)计算Z=T3/2L,即将 T3右移L位,运算结果用于更新Z;
其中,步骤a)和步骤e)均仅需单时钟周期即可完成,步骤b)、c)和步骤d)需要若干个时钟周期完成;为了实现流水线型蒙哥马利约减单元,每一个时钟周期都保存输出结果到相应寄存器中;一个蒙哥马利约减器包含K个流水线型蒙哥马利约减单元,使得整个蒙哥马利约减器都支持流水线型;
约减步骤2:该步骤通过相应的模减模块确保最终结果在 [1, P) 范围内,如果上一步骤的结果Z≥P,则输出结果X=Z-P;否则X=Z。
在乘法步骤1中,两个R位的整数乘法被分解为N*M个U位数*V位数的小整数乘法,该乘法结果为(U+V)位,其使用的乘法器每一个都为多时钟、流水线型的;同时,这些乘法器都是并行的,因此,该步骤的时钟延迟等于一个U位数*V位数的小整数乘法器的时钟延迟个数。
在进行约减步骤1时,对于特定的椭圆曲线,K0在特定L值时等于1(例如对于P256椭圆曲线,K0在L=64时等于1),此时无需计算蒙哥马利模乘运算过程的步骤b),而其步骤c)改为计算T2=T1*P。
所述流水线型的蒙哥马利模乘运算装置,该运算装置包括有存储单元、控制单元、若干用于乘法步骤的流水线型乘法器、若干用于对齐步骤的寄存器、若干用于加法步骤的流水线型加法器,以及流水线型约减器;其中,用于乘法步骤的流水线型乘法器,将两个R位的整数乘法分解为N*M个U位数*V位数的小整数乘法,即Xab=Sa*Tb,该乘法结果为(U+V)位,且这些乘法器每一个都是多时钟、流水线型的、并行的;
用于对齐步骤的寄存器,将所述乘法步骤中的相乘结果按位对齐,获得多个不同长度的整数,并将各整数分别存入不同寄存器中,其即是把乘法器输出结果连接至相应寄存器的相应输入,因此该步骤只需要一个时钟周期;
用于加法步骤的流水线型加法器,将所述对齐步骤中的所有整数相加,最后得到2*R位的乘法结果;
流水线型约减器,用于实现蒙哥马利约减步骤1和约减步骤2。
本发明提供的以流水线型方式提升蒙哥马利模乘算法性能的方法和按照该方法实现的计算装置,增加了单个蒙哥马利模乘器的吞吐量,在吞吐量相同的情况下,本发明比传统使用多个蒙哥马利模乘器的方法消耗更少的硬件资源和面积。如此使本发明数十倍地提升了单位时间里的模乘运算个数,使得本发明比非流水线型的蒙哥马利模乘器具有更高的性能/资源比。同时,使用流水线型的蒙哥马利模乘器的非对称密钥算法硬件可以用更少的硬件资源达到更高的性能,提高任意长度的蒙哥马利模乘运算的吞吐量。
附图说明
图1为本发明流水线型乘法器的乘法步骤;
图2为本发明流水线型乘法器的对齐步骤;
图3为本发明流水线型乘法器的加法步骤;
图4为本发明流水线型约减器的示意框图。
具体实施方式
下面结合具体实施例对本发明做进一步描述:
本发明已经以硬件RTL代码的形式被实现,并被实现到一个基于FPGA上的产品中。它也可以被作为IP被集成到非对称加密算法以及相关安全硬件ASIC产品中。
蒙哥马利模乘主要包括两部分,第一部分是普通乘法,只是由于相乘的两个数很大(比如256或者512位),必须把这个乘法分成多个更小的乘法来执行。
乘法步骤1:如果一个FPGADSP计算单元的输入位宽分别为U、V,或者ASIC实现了较小位宽的乘法器,则可以使用多个小位宽的乘法器实现此步骤。假设输入数据,其中表示向上取整且其输入数据为R位二进制数;则乘法运算式:
如图1所示,两个R位的整数乘法可以被分解为N*M个U位数*V位数的小整数乘法(图中Xab=Sa * Tb),该乘法结果为(U+V)位。这些乘法器每一个都是多时钟、流水线型的。同时,这些乘法器都是并行的,因此,这一步骤的时钟延迟等于一个U位数*V位数的小整数乘法器的时钟延迟个数。
乘法步骤2:这一步骤将乘法步骤1中小位宽全流水线型乘法器的相乘结果按位对齐,获得多个不同长度的整数,并将它们分别存入不同寄存器中,如图2所示。
由于硬件实现对齐非常容易,就是把乘法器输出结果连接至相应寄存器的相应输入,因此这一步骤只需要一个时钟周期。
图2中整数左端为最小端,“>>U”表示从最低位开始,填U位的0;图2中每行数据长度并不代表真实比例,比如U和V不相等时,图2中上半部分和下半部分每列的位数也是不同的。
乘法步骤3:这一步将乘法步骤2中的所有整数相加,最后得到2*R位的乘法结果,不同的加法器实现有不同的资源使用和时间延迟;
图3描绘了一个可能的加法实现,其将乘法步骤2中的整数分成多个固定长度的部分,每一部分由一个方框所标识。从左至右,将每一个方框里的整数相加,并将进位结果传至下一个方框里相加。需要注意的是,每一个方框里都可能有多个及多级加法器,因此每一个方框都需要至少一个时钟。为了使得乘法步骤3也是流水线型的,每个时钟之间需要使用寄存器来保存中间结果。
一个优化是,如果在某一个方框中,一个整数的相应位全部由>>U 或者>>V组成,也就是全部为0,则无需使用该部分做加法;出于简化的目的,这些方框都是矩形的。需要注意的是,U和V不相等时,图3中上半部分和下半部分每列所表示的位数是不同的,因此为了达到相同的位宽,该方框或者为上宽下窄(U<V),或者为上窄下宽(U>V)。
蒙哥马利模乘运算第2部分将第1部分的2R位的乘法结果约减为R位。图4展示了将图3的乘法器输出结果从2R位约减为R位 (R=L*K) 的过程。它主要包含两部分:
蒙哥马利约减步骤1:该步骤采用K个流水线型蒙哥马利约减单元,每一次将结果约减L位;已知参数为P=∑Bi*2i,为该椭圆曲线相应素数,其中i=(0,1,2,…,R); Bi∈(-1,0,1),以及K0=-P-1模2L。例如P256曲线中P=2256-2224+2192+296-1, 因此B256=B192=B96=1, B224=B0=-1, 其余Bi=0。
其中,一个流水线型蒙哥马利约减单元将乘法器输出结果从B*L位约减为(B-1)*L位 (B=2K,2K-1,…,K+1) 的过程包含以下步骤:
1)对Z进行模2L运算,即取Z的低L位得到T1;
2)计算Y=(T1*K0)模2L,计算T1乘K0使用一个全流水的乘法器,两个输入均为L位,输出为2L位,然后取该乘法器结果的低L位得到Y;
3)计算T2=Y*P,得到T2=∑Bi*Y*2i,该处乘法使用移位相加实现:每一部分都是Y左移i位,然后添加符号位,最后将这些部分相加得到T2;
4)Z与T2相加,得到T3;
5)计算Z=T3/2L,即将 T3右移L位,运算结果用于更新Z;
其中,步骤1)和步骤5)均仅需单时钟周期即可完成,步骤2)、3)和步骤4)需要若干个时钟周期完成;为了实现流水线型蒙哥马利约减单元,每一个时钟周期都保存输出结果到相应寄存器中;一个蒙哥马利约减器包含K个流水线型蒙哥马利约减单元,使得整个蒙哥马利约减器都支持流水线型。
对于一些特定的椭圆曲线,K0在特定L值时等于1。比如使用P256曲线的椭圆曲线加密算法以及国密2算法,K0 在L=64时等于1。这时可以无需计算上述步骤2,而上述步骤3改为计算T2=T1*P。
蒙哥马利约减步骤2:该步骤是图4中最右侧的模减模块,其确保最终结果在[1,P) 范围内。如果上一步骤的结果Z≥P,则输出结果X=Z-P;否则X=Z。
以上已将本发明做一详细说明,以上所述,仅为本发明之较佳实施例而已,当不能限定本申请实施范围,即凡依本申请范围所作均等变化与修饰,皆应仍属本发明涵盖范围内。

Claims (4)

1.一种流水线型的蒙哥马利模乘运算方法,其特征在于:输入为S和T,输出S*T*2-R 模P,其中,在非对称密钥算法中,S, T,和P均为R位的大整数,其中P为素数;算法分为两部分:第一部分是S与T相乘的普通乘法步骤,得到一个2R位的乘积;第二部分是余下的步骤,即将2R位的乘积约减成为R位的最终结果S*T*2-R 模 P;在这个过程中,R可分解为L* K,以循环K次,每次处理L位的数据;
用于实现蒙哥马利模乘运算的硬件乘法器的输入位宽分别为U和V,远小于R;
蒙哥马利模乘运算过程:
输入:P<2R,0≤S,T<P, R=L*K, K0=-P-1 模 2L
输出:S*T*2-R 模 P
1)Z=S*T;循环K次:2)T1=Z模2L;3)Y=T1*K0模2L;4)T2=Y*P;5)T3=(Z+T2);6)Z=T3/2L;循环结束;7)如果Z≥P,则X=Z–P;否则X=Z;返回X;
整个计算过程分为三个乘法步骤和两个约减步骤,
乘法步骤1:通过使用多个输入分别为U和V位的小位宽全流水线型乘法器实现本步骤;输入数据,其中表示向上取整;则乘法运算式:
乘法步骤2:该步骤将乘法步骤1中小位宽全流水线型乘法器的相乘结果按位对齐,获得多个不同长度的整数,并将各整数分别存入不同寄存器中;由于硬件易于实现对齐,即把乘法器输出结果连接至相应寄存器的相应输入,因此该步骤只需要一个时钟周期;
乘法步骤3:该步骤将乘法步骤2中获得的所有整数相加,最后得到2*R位的乘法结果;
约减步骤1:该步骤采用K个流水线型蒙哥马利约减单元,每一次将结果约减L位;已知参数为P=∑Bi*2i,为椭圆曲线相应素数,其中i=(0,1,2,…,R); Bi∈(-1,0,1),以及K0=-P-1模2L
其中,一个流水线型蒙哥马利约减单元将乘法器输出结果从B*L位约减为(B-1)*L位的过程包含以下步骤:其中,B=2K,2K-1,…,K+1,
a)对Z进行模2L运算,即取Z的低L位得到T1;
b)计算Y=(T1*K0)模2L,计算T1乘K0使用一个全流水的乘法器,两个输入均为L位,输出为2L位,然后取该乘法器结果的低L位得到Y;
c)计算T2=Y*P,得到T2=∑Bi*Y*2i,该处乘法使用移位相加实现:每一部分都是Y左移i位,然后添加符号位,最后将这些部分相加得到T2;
d)Z与T2相加,得到T3;
e)计算Z=T3/2L,即将 T3右移L位,运算结果用于更新Z;
其中,步骤a)和步骤e)均仅需单时钟周期即可完成,步骤b)、c)和步骤d)需要若干个时钟周期完成;为了实现流水线型蒙哥马利约减单元,每一个时钟周期都保存输出结果到相应寄存器中;一个蒙哥马利约减器包含K个流水线型蒙哥马利约减单元,使得整个蒙哥马利约减器都支持流水线型;
约减步骤2:该步骤通过相应的模减模块确保最终结果在 [1, P) 范围内,如果上一步骤的结果Z≥P,则输出结果X=Z-P;否则X=Z。
2.根据权利要求1所述的流水线型的蒙哥马利模乘运算方法,其特征在于:在乘法步骤1中,两个R位的整数乘法被分解为N*M个U位数*V位数的小整数乘法,该乘法结果为(U+V)位,其使用的乘法器每一个都为多时钟、流水线型的;同时,这些乘法器都是并行的,因此,该步骤的时钟延迟等于一个U位数*V位数的小整数乘法器的时钟延迟个数。
3.根据权利要求1所述的流水线型的蒙哥马利模乘运算方法,其特征在于:在进行约减步骤1时,对于特定的椭圆曲线,K0在特定L值时等于1,此时无需计算蒙哥马利模乘运算过程的步骤b),而其步骤c)改为计算T2=T1*P。
4.根据权利要求1所述的流水线型的蒙哥马利模乘运算方法,其特征在于:该运算方法利用的运算装置包括有存储单元、控制单元、若干用于乘法步骤的流水线型乘法器、若干用于对齐步骤的寄存器、若干用于加法步骤的流水线型加法器,以及流水线型约减器;其中,用于乘法步骤的流水线型乘法器,将两个R位的整数乘法分解为N*M个U位数*V位数的小整数乘法,即Xab=Sa*Tb,该乘法结果为(U+V)位,且这些乘法器每一个都是多时钟、流水线型的、并行的;
用于对齐步骤的寄存器,将所述乘法步骤中的相乘结果按位对齐,获得多个不同长度的整数,并将各整数分别存入不同寄存器中,其即是把乘法器输出结果连接至相应寄存器的相应输入,因此该步骤只需要一个时钟周期;
用于加法步骤的流水线型加法器,将所述对齐步骤中的所有整数相加,最后得到2*R位的乘法结果;
流水线型约减器,用于实现蒙哥马利约减步骤1和约减步骤2。
CN201910839580.6A 2019-09-06 2019-09-06 流水线型的蒙哥马利模乘运算方法 Expired - Fee Related CN110351087B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910839580.6A CN110351087B (zh) 2019-09-06 2019-09-06 流水线型的蒙哥马利模乘运算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910839580.6A CN110351087B (zh) 2019-09-06 2019-09-06 流水线型的蒙哥马利模乘运算方法

Publications (2)

Publication Number Publication Date
CN110351087A CN110351087A (zh) 2019-10-18
CN110351087B true CN110351087B (zh) 2019-12-20

Family

ID=68181335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910839580.6A Expired - Fee Related CN110351087B (zh) 2019-09-06 2019-09-06 流水线型的蒙哥马利模乘运算方法

Country Status (1)

Country Link
CN (1) CN110351087B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112070222B (zh) * 2020-11-10 2021-01-29 深圳致星科技有限公司 用于联邦学习的处理装置、加速器及方法
CN117785129B (zh) * 2024-02-23 2024-05-07 蓝象智联(杭州)科技有限公司 一种基于gpu的蒙哥马利模乘运算方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908635A (zh) * 2019-11-04 2020-03-24 南京大学 基于同源曲线的后量子密码学的高速模乘器及其模乘方法
CN112367172A (zh) * 2020-10-29 2021-02-12 南京航空航天大学 一种基于Co-Z运算的蒙哥马利梯形算法的AVX2快速实现方法
CN113031920B (zh) * 2021-05-20 2021-08-31 华控清交信息科技(北京)有限公司 一种芯片和用于芯片的批量模运算方法
CN114745099B (zh) * 2022-04-19 2023-04-04 麦田云网(杭州)信息技术有限公司 一种基于FPGA的poseidon哈希算法的优化方法
CN114757034A (zh) * 2022-04-20 2022-07-15 麦田云网(杭州)信息技术有限公司 一种基于FPGA的poseidon哈希算法的优化系统
CN114895870B (zh) * 2022-04-29 2022-11-25 中国人民解放军93216部队 基于fpga实现的高效可重构sm2点乘方法及系统
CN115113848B (zh) * 2022-08-30 2022-12-13 北京象帝先计算技术有限公司 签名/验签电路、装置、设备、方法及坐标还原电路
CN115344237B (zh) * 2022-10-19 2023-03-28 无锡沐创集成电路设计有限公司 结合Karatsuba和蒙哥马利模乘的数据处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102207847A (zh) * 2011-05-06 2011-10-05 广州杰赛科技股份有限公司 基于蒙哥马利模乘运算的数据加解密处理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10498532B2 (en) * 2016-10-01 2019-12-03 Intel Corporation Parallel computation techniques for accelerated cryptographic capabilities
CN109271137B (zh) * 2018-09-11 2020-06-02 网御安全技术(深圳)有限公司 一种基于公钥加密算法的模乘装置及协处理器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102207847A (zh) * 2011-05-06 2011-10-05 广州杰赛科技股份有限公司 基于蒙哥马利模乘运算的数据加解密处理方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112070222B (zh) * 2020-11-10 2021-01-29 深圳致星科技有限公司 用于联邦学习的处理装置、加速器及方法
CN117785129B (zh) * 2024-02-23 2024-05-07 蓝象智联(杭州)科技有限公司 一种基于gpu的蒙哥马利模乘运算方法

Also Published As

Publication number Publication date
CN110351087A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
CN110351087B (zh) 流水线型的蒙哥马利模乘运算方法
Li et al. High-Performance Pipelined Architecture of Elliptic Curve Scalar Multiplication Over GF (${2}^{m} $)
Erdem et al. A general digit-serial architecture for montgomery modular multiplication
Ding et al. High-speed ECC processor over NIST prime fields applied with Toom–Cook multiplication
US8862651B2 (en) Method and apparatus for modulus reduction
US8532286B2 (en) System and method for reducing the computation and storage requirements for a montgomery-style reduction
US8078661B2 (en) Multiple-word multiplication-accumulation circuit and montgomery modular multiplication-accumulation circuit
Huang et al. A novel and efficient design for an RSA cryptosystem with a very large key size
Tian et al. High-speed FPGA implementation of SIKE based on an ultra-low-latency modular multiplier
CN115344237A (zh) 结合Karatsuba和蒙哥马利模乘的数据处理方法
Gutub et al. Scalable VLSI architecture for GF (p) Montgomery modular inverse computation
Tian et al. Ultra-fast modular multiplication implementation for isogeny-based post-quantum cryptography
Imran et al. An area aware accelerator for elliptic curve point multiplication
Elkhatib et al. Accelerated RISC-V for post-quantum SIKE
Awaludin et al. A high-performance ecc processor over curve448 based on a novel variant of the karatsuba formula for asymmetric digit multiplier
CN107885486B (zh) 一种基于查找树的复合有限域求逆装置
Yan et al. An implementation of Montgomery modular multiplication on FPGAs
CN113467754A (zh) 一种基于分解约简的格加密模乘运算方法及架构
Li et al. Research in fast modular exponentiation algorithm based on FPGA
CN108008934B (zh) 一种基于查找表的复合有限域求逆装置
JP2006508464A (ja) ルックアップテーブルを備える乗算器
US20020161810A1 (en) Method and apparatus for multiplication and/or modular reduction processing
JP2000207387A (ja) 演算装置及び暗号処理装置
Al-Khaleel et al. An elliptic curve cryptosystem design based on FPGA pipeline folding
Ch et al. Hardware design of a 256-bit prime field multiplier suitable for computing bilinear pairings

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191220

Termination date: 20200906

CF01 Termination of patent right due to non-payment of annual fee