CN113761822A - 采用迭代计算的模数运算电路 - Google Patents

采用迭代计算的模数运算电路 Download PDF

Info

Publication number
CN113761822A
CN113761822A CN202110188548.3A CN202110188548A CN113761822A CN 113761822 A CN113761822 A CN 113761822A CN 202110188548 A CN202110188548 A CN 202110188548A CN 113761822 A CN113761822 A CN 113761822A
Authority
CN
China
Prior art keywords
segment
generate
remainder
modulo
modulus
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
CN202110188548.3A
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.)
Entropy Code Technology Co ltd
Pufsecurity Corp
Original Assignee
Entropy Code 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
Priority claimed from US17/103,981 external-priority patent/US11662978B2/en
Application filed by Entropy Code Technology Co ltd filed Critical Entropy Code Technology Co ltd
Publication of CN113761822A publication Critical patent/CN113761822A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)

Abstract

本发明公开了一种模数运算电路,包括控制器、模数乘法器及模数加法器。控制器将第一数字分为K分段。模数乘法器于(K‑1)迭代中对K分段执行模数乘法运算,而模数加法器于(K‑1)迭代中对K分段执行模数加法运算,以得出第一数字除以第二数字的余数。

Description

采用迭代计算的模数运算电路
技术领域
本发明关于模数运算电路,特别是一种采用迭代计算的模数运算电路。
背景技术
模数运算(modular operation)广泛运用在密码系统中。例如,许多产生密钥或数字签名的算法都需要模数运算,且通常会使用除法器来执行模数运算,并在除法完成后得到余数。然而实现除法器的硬件相当复杂,且需要较大的电路面积。若密码系统需要对大数值执行模数运算,则除法器将需要更大的面积,而使密码系统的构造不切实际。
发明内容
本发明有关于一种模数运算电路的操作方法,模数运算电路包括控制器、模数乘法器及模数加法器,方法包括控制器将第一数字分为K分段,在第一迭代中,模数乘法器根据K分段的第一分段及第一基数,执行第一模数乘法运算以产生第一中间结果,及模数加法器根据第一中间结果及K分段的第二分段,执行第一模数加法运算以产生第一迭代余数,及在第二迭代中,模数乘法器执行第二模数乘法运算以根据第一迭代余数及第二基数产生第二中间结果,及模数加法器根据第二中间结果及K分段的第三分段,进行第二模数加法运算以产生第二迭代余数。K系为大于2的整数。K分段中的每个分段的位长度小于或等于第三数字。第三数字是第二数字以2为底数的对数的无条件进位结果。第一基数系根据第二分段的位长度的以2为底数的第一指数值而得出。第二基数系根据第三分段的位长度的以2为底数的第二指数值而得出。
本发明有关于另一种模数运算电路,包括控制器、模数乘法器及模数加法器。控制器用以将第一数字分为K分段。模数乘法器耦接于控制器,并用以执行第一模数乘法运算,以在第一迭代期间根据K分段中的第一分段及第一基数产生第一中间结果,并在第二迭代期间执行第二模数乘法运算以根据第一迭代余数及第二基数产生第二中间结果。模数加法器,耦接于控制器,并用以执行第一模数加法运算以在第一迭代期间根据第一中间结果及K个分段中的第二个分段产生第一迭代余数,并执行第二模数加法运算以在第二迭代过程中,根据第二中间结果及K分段中的第三分段,产生第二迭代余数。K系为大于2的整数。K分段中的每个分段的位长度小于或等于第三数字。第三数字是第二数字以2为底数的对数的无条件进位结果。第一基数系根据第二分段的位长度的以2为底数的第一指数值而得出。第二基数系根据第三分段的位长度的以2为底数的第二指数值而得出。
本发明有关于另一种模数运算电路的操作方法,模数运算电路包括控制器、模数乘法器及模数加法器,方法包括控制器将第一数字分为二分段。在第一迭代中,模数乘法器根据二分段的第一分段及第一基数,执行第一模数乘法运算以产生第一中间结果,及模数加法器根据第一中间结果及二分段的第二分段,执行第一模数加法运算以产生第一迭代余数。控制器输出余数。二分段中的每个分段的位长度小于或等于第三数字。第三数字是第二数字以2为底数的对数的无条件进位结果。第一基数系根据第二分段的位长度的以2为底数的第一指数值而得出。
附图说明
图1显示本发明实施例中的一种模数运算电路。
图2显示图1中模数运算电路的操作方法的流程图。
其中,附图标记说明如下:
100:模数运算电路
110:控制器
120:模数乘法器
130:模数加法器
200:方法
S210至S250:步骤
A1:第一数字
AS1至ASK:分段
N1:第二数字
R1:余数
具体实施方式
图1显示本发明实施例中的一种模数运算电路100。模数运算电路100包括控制器110、模数乘法器120及模数加法器130。在一些实施例中,模数运算电路100可用以将第一数字A1除以第二数字N1以得出余数R1。
在图1,模数乘法器120及模数加法器130耦接于控制器110。模数乘法器120可通过将二输入数字相乘以产生乘积,及输出乘积除以另一输入数字的余数,藉以执行模数乘法运算。模数加法器130可通过将二输入数字相加以产生总和,及输出总和除以另一输入数字的余数,藉以执行模数加法运算。此外,控制器110可控制模数乘法器120及模数加法器130的数据流。在一些实施例中,控制器110可将第一数字A1分为K分段AS1至ASK,其中K可以是大于或等于2的整数。在一些实施例中,为了将模数运算电路100的面积维持在期望大小内,K分段AS1至ASK中的每个分段可具有小于或等于第三数字n1的位长度。第三数字n1可以是第二数字N1以2为底数的对数的无条件进位结果,即n1可是log2N1。在图1,分段AS1至ASK的位长度AB1至ABK可以相同;然而,在一些其他实施例中,至少二分段的位长度AB1至ABK可以不同。
由于第一数字A1被分为K分段AS1至ASK,因此第一数字A1可由以下公式(1)表示。
Figure BDA0002944186890000041
在公式(1)中,第一数字A1可进一步以公式(2)至(7)的方式表示,其中k系为大于3且小于(K-1)的整数。
A1={[(AS1×2AB2+AS2)×2AB3+AS3]×2AB4+AS4}×2AB5...+ASK
公式(2)
T1=AS1×2AB2+AS2; 公式(3)
T2=T1×2AB3+AS3; 公式(4)
T3=T2×2AB4+AS4; 公式(5)
...
Tk=T(k-1)×2AB(k+1)+AS(k+1)公式(6)
...
T(K-1)=T(K-2)×2ABK+ASK=A1公式(7)
在此情况下,对于具有较小值的迭代值T1、T2至T(K-1),可将第一数字A1的复杂的模数运算分为几个简化的模数运算。亦即可通过模数乘法器120及模数加法器130来执行(K-1)迭代以执行模数运算而得出余数R1,因此无须使用执行大数值的模数运算的复杂除法电路。
在一些实施例中,K可等于2。亦即第一数字A1可被分为二分段AS1及AS2。在此情况下,模数运算可不需要多次迭代操作即可得出余数R1。即迭代值T1的模数运算可得出余数R1。
图2显示模数运算电路100的操作方法200,用以得出余数R1。方法200包括步骤S210至S250。
S210:控制器110将第一数字A1分为K分段AS1至ASK;
S220:在第一迭代,模数乘法器120根据第一分段AS1及第一基数B1执行模数乘法运算以产生第一中间结果ITM1;
S222:模数加法器130根据第一中间结果ITM1及第二分段AS2进行模数加法运算,以产生第一迭代余数ITR1;
S230:若第(K-1)迭代已完成,执行步骤S250,若否,则执行步骤S240;
S240:在第k迭代中,模数乘法器120根据第(k-1)迭代余数及第k基数进行模数乘法运算,以产生第k中间结果;
S242:模数加法器130根据第k中间结果及K分段中的第(k+1)分段执行模数加法运算,以产生第k迭代余数,跳至步骤S230;
S250:输出第(K-1)迭代余数作为第一数字A1除以第二数字N1的余数R1。
在步骤S210中将第一数字A1分为K分段AS1至ASK之后,可在步骤S220及S222中对迭代值T1执行模数运算。例如,在步骤S220中,模数乘法器120可执行模数乘法运算以根据第一分段AS1、第一基数B1及第二数字N1产生第一中间结果ITM1。第一中间结果ITM1可由以下的公式(8)表示。
ITM1=(AS1×B1)mod N1 公式(8)
即模数乘法器120可将第一分段AS1与第一基数B1相乘以产生相乘结果,并通过将相乘结果除以第二数字N1得到余数来产生第一中间结果ITM1。在一些实施例中,第一基数B1可以是第二分段AS2的位长度AB2的以2为底数的指数值,即第一基数B1可表示为2AB2。然而,在一些实施例中,为了确保AS1×B1在模数乘法器120的计算能力之内,第一基数B1可以是第一指数值2AB2除以第二数字N1的余数,即第一基数B1可以是2AB2 mod N1。并且,在步骤S222,模数加法器130可根据第一中间结果ITM1、第二分段AS2及第二数字N1执行模数加法运算以产生第一迭代余数ITR1。第一迭代余数ITR1可由以下的公式(9)表示。
ITR1=(ITM1+AS2)mod N1=[(AS1×B1)mod N1+AS2]mod N1
公式(9)
即模数加法器130可将第一中间结果ITM1及第二片段AS2相加以产生总和,并将总和除以第二数字N1以得到余数来产生第一迭代余数ITR1。
在步骤S220及S222之后,可获得迭代值T1除以第二数字N1的余数ITR1,且第一迭代余数ITR1可用于下一迭代。例如,在步骤S240中,在第二迭代期间,模数乘法器120可根据第一迭代余数ITR1及第二基数B2执行模数乘法运算以产生第二中间结果ITM2。第二中间结果ITM2可由以下的公式(10)表示。
ITM2=(ITR1×B2)mod N1 公式(10)
在一些实施例中,可根据第三分段AS3的位长度AB3的以2为底数的指数值而得出第二基数B2,即第二基数B2可以表示为2AB3。然而,在一些实施例中,为了确保ITR1xB2的值在模数乘法器120的计算能力之内,第二基数B2可以是第二指数值2AB3除以第二数字N1的余数,即第二个基数B2可以是2AB3 mod N1。
而且,在步骤S242中,模数加法器130可根据第二中间结果ITM2及第三片段AS3执行模数加法运算以产生第二迭代余数ITR2。第二迭代余数ITR2可由以下的公式(11)表示。
ITR2=(ITM2+AS3)mod N1 公式(11)
在步骤S240及S242之后,可获得迭代值T2除以第二数字N1的余数ITR2,且第二迭代余数ITR2可用于下一迭代,依此类推。最后,在第(K-1)迭代完成之后,步骤S230会停止进一步的迭代,并且在步骤S250中模数运算电路100可将第(K-1)迭代余数作为第一数字A1除以第二数字N1的余数R1输出。
在一些实施例中,为了将模数运算电路100的大小维持在可接受的范围内,模数乘法器120及模数加法器130的计算能力可以是固定的。例如,模数乘法器120及模数加法器130的计算能力可仅够处理位长度等于或小于第三数字n1的数字。因此,若第一分段AS1的位长度AB1小于第三数字n1,可由模数乘法器120直接执行公式(8)。
然而,若第一分段AS1的位长度AB1等于第三数字n1,则计算可能会超出模数乘法器120的能力。为了确保计算结果的正确性,可在模数乘法器120执行模数乘法运算之前对第一分段AS1执行模数运算。在一些实施例中,为了重复使用硬件及减小模数运算电路100的面积,可使用模数加法器130来执行模数运算。例如,模数加法器130可对第一分段AS1及零执行模数加法运算以产生处理后的输入数字PI1,并且模数乘法器120将处理后的输入数字PI1与第一基数B1相乘以产生相乘结果,及将相乘结果除以第二数字N1以得出余数,用以产生第一中间结果ITM1。亦即,若第一分段AS1的位长度AB1等于第三数字n1,则在步骤S220中执行公式(12),用以代替公式(8)。
ITM1=(PI1×B1)mod N1=[(AS1 mod N1)×B1]mod N1 公式(12)
类似地,若第二分段AS2的位长度AB2小于第三数字n1,则可由模数加法器130直接执行公式(9)。
然而,若第二分段AS2的位长度AB2等于第三数字n1,则计算可能会超出模数加法器130的能力。为了确保计算结果的正确性,可在模数加法器130执行模数加法运算之前对第二分段AS2执行另一模数运算。在一些实施例中,为了重复使用硬件及减小模数运算电路100的面积,可使用模数加法器130来执行模数运算。例如,模数加法器130可对第二分段AS2及零执行模数加法运算以产生处理后的输入数字PI2,并且模数加法器130将第一中间结果ITM1与处理后的输入数字PI2相加以产生总和,将总和除以第二数字N1以得出余数,用以产生第一迭代余数ITR1。亦即,若第二分段AS2的位长度AB2等于第三数字n1,则在步骤S222中执行公式(13),用以代替公式(9)。
ITR1=(ITM1+PI2)mod N1=[ITM1+(AS2mod N1)]mod N1 公式(13)
在一些实施例中,方法200可还包括控制器130判定分段AS1至ASK的位长度是否小于第三数字n1或等于第三数字n1的步骤。因此,若计算超出了模数乘法器120或模数加法器130的能力,则可在由模数乘法器120及模数加法器130处理之前对分段AS1至ASK执行新增的模数运算,进而确保模数运算电路100的计算结果正确。
综上所述,本发明实施例提供的模数运算电路及用以操作模数运算电路的方法,可利用模数乘法器及模数加法器进行多次迭代的模数运算。因此,可省去对大数值进行模数运算的复杂的分割电路,可大幅减小模数运算电路的面积。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (21)

1.一种模数运算电路的操作方法,该模数运算电路包括一控制器、一模数乘法器及一模数加法器,其特征在于,该方法包括:
该控制器将一第一数字分为K分段;
在一第一迭代中:
该模数乘法器根据该K分段的一第一分段及一第一基数,执行一第一模数乘法运算以产生一第一中间结果;及
该模数加法器根据该第一中间结果及该K分段的一第二分段,执行一第一模数加法运算以产生一第一迭代余数;及
在一第二迭代中:
该模数乘法器执行一第二模数乘法运算以根据该第一迭代余数及一第二基数产生一第二中间结果;及
该模数加法器根据该第二中间结果及该K分段的一第三分段,进行一第二模数加法运算以产生一第二迭代余数;
其中:
K系为大于2的一整数;
该K分段中的每个分段的一位长度小于或等于一第三数字;
该第三数字是一第二数字以2为底数的一对数的一无条件进位结果;
该第一基数系根据该第二分段的一位长度的以2为底数的一第一指数值而得出;及
该第二基数系根据该第三分段的一位长度的以2为底数的一第二指数值而得出。
2.根据权利要求1所述的方法,其特征在于,还包括:
该控制器执行一第(K-1)迭代之后,输出一第(K-1)迭代余数作为该第一数字除以该第二数字的一余数。
3.根据权利要求1所述的方法,其特征在于,其中,该K分段具有一相同的位长度。
4.根据权利要求1所述的方法,其特征在于,其中,该K分段中的至少二分段具有相异的位长度。
5.根据权利要求1所述的方法,其特征在于,其中:
该第一基数系为该第一指数值除以该第二数字的一余数;及
该第二基数系为该第二指数值除以该第二数字的一余数。
6.根据权利要求1所述的方法,其特征在于,其中:
该第一分段的一位长度小于该第三数字;及
该模数乘法器根据该K分段的该第一分段及该第一基数,进行该第一模数乘法运算,以产生该第一中间结果,包括:
该模数乘法器将该第一分段与该第一基数相乘以产生一相乘结果;及
该模数乘法器将该相乘结果除以该第二数字得到一余数,以产生该第一中间结果。
7.根据权利要求1所述的方法,其特征在于,其中:
该第一分段的一位长度等于该第三数字;及
该模数乘法器根据该K分段的该第一分段及该第一基数,进行该第一模数乘法运算,以产生该第一中间结果,包括:
该模数加法器对该第一分段及零执行一第三模数加法运算以产生一第一处理后的输入数字;
该模数乘法器将该第一处理后的输入数字与该第一基数相乘以产生一相乘结果;及
该模数乘法器将该相乘结果除以该第二数字得到一余数,以产生该第一中间结果。
8.根据权利要求1所述的方法,其特征在于,其中:
该第二分段的一位长度小于该第三数字;及
该模数加法器根据该第一中间结果及该K分段的该第二分段,执行该第一模数加法运算以产生该第一迭代余数包括:
该模数加法器将该第一中间结果与该第二分段相加以产生一总和;及
该模数加法器将该总和除以该第二数字得到的一余数来产生该第一迭代余数。
9.根据权利要求1所述的方法,其特征在于,其中:
该第二分段的一位长度等于该第三数字;及
该模数加法器根据该第一中间结果及该K分段的该第二分段,执行该第一模数加法运算以产生该第一迭代余数包括:
该模数加法器对该第二分段及零执行一第四模数加法运算以产生一第二处理后的输入数字;
该模数加法器将该第一中间结果与该第二处理后的输入数字相加以产生一总和;及
该模数加法器将该总和除以该第二数字得到的一余数来产生该第一迭代余数。
10.根据权利要求1所述的方法,其特征在于,还包括:
该控制器判定该第一分段的一位长度是否小于该第三数字或等于该第三数字;及
该控制器判定该第二分段的一位长度是否小于该第三数字或等于该第三数字。
11.一种模数运算电路,其特征在于,包括:
一控制器,用以将一第一数字分为K分段;
一模数乘法器,耦接于该控制器,并用以执行一第一模数乘法运算,以在一第一迭代期间根据K分段中的一第一分段及一第一基数产生一第一中间结果,并在一第二迭代期间执行一第二模数乘法运算以根据一第一迭代余数及一第二基数产生一第二中间结果;及
一模数加法器,耦接于该控制器,并用以执行一第一模数加法运算以在该第一迭代期间根据该第一中间结果及该K个分段中的一第二个分段产生该第一迭代余数,并执行一第二模数加法运算以在该第二迭代过程中,根据该第二中间结果及该K分段中的一第三分段,产生一第二迭代余数;
其中:
K系为大于2的一整数;
该K分段中的每个分段的一位长度小于或等于一第三数字;
该第三数字是一第二数字以2为底数的一对数的一无条件进位结果;
该第一基数系根据该第二分段的一位长度的以2为底数的一第一指数值而得出;及
该第二基数系根据该第三分段的一位长度的以2为底数的一第二指数值而得出。
12.根据权利要求11所述的模数运算电路,其特征在于,其中,该控制器还用以在一第(K-1)迭代之后,输出一第(K-1)迭代余数作为该第一数字除以该第二数字的一余数。
13.根据权利要求11所述的模数运算电路,其特征在于,其中,该K分段具有一相同的位长度。
14.根据权利要求11所述的模数运算电路,其特征在于,其中,该K个分段中的至少二分段具有相异的位长度。
15.根据权利要求11所述的模数运算电路,其特征在于,其中:
该第一基数系为该第一指数值除以该第二数字的一余数;及
该第二基数系为该第二指数值除以该第二数字的一余数。
16.根据权利要求11所述的模数运算电路,其特征在于,其中:
该第一分段的一位长度小于该第三数字;及
该模数乘法器将该第一分段与该第一基数相乘而产生一相乘结果,及将该相乘结果除以该第二数字以得到一余数,藉以产生该第一中间结果。
17.根据权利要求11所述的模数运算电路,其特征在于,其中:
该第一分段的一位长度等于该第三数字;
该模数加法器还用以对该第一分段及零执行一第三模数加法运算以产生一第一处理后的输入数字;及
该模数乘法器将该第一处理后的输入数字与该第一基数相乘而产生一相乘结果,及将该相乘结果除以该第二数字以得到一余数,藉以产生该第一中间结果。
18.根据权利要求11所述的模数运算电路,其特征在于,其中:
该第二分段的一位长度小于该第三数字;及
该模数加法器将该第一中间结果与该第二分段相加以产生一总和,及将该总和除以该第二数字以得到一余数,以产生该第一迭代余数。
19.根据权利要求11所述的模数运算电路,其特征在于,其中:
该第二分段的一位长度等于该第三数字;及
该模数加法器对该第二分段及零执行一第四模数加法运算以产生一第二处理后的输入数字,将该第一中间结果及该第二处理后的输入数字相加以产生一总和,及将该总和除以该第二数字以得到一余数,以产生该第一迭代余数。
20.根据权利要求11所述的模数运算电路,其特征在于,其中,该控制器还用以判定该第一分段的一位长度是否小于该第三数字或等于该第三数字,并且判定该第二分段的一位长度是否小于或等于第三数字。
21.一种模数运算电路的操作方法,用以得出一第一数字除以一第二数字的一余数,该模数运算电路包括一控制器、一模数乘法器及一模数加法器,其特征在于,该方法包括:
该控制器将该第一数字分为二分段;
在一第一迭代中:
该模数乘法器根据该二分段的一第一分段及一第一基数,执行一第一模数乘法运算以产生一第一中间结果;及
该模数加法器根据该第一中间结果及该二分段的一第二分段,执行一第一模数加法运算以产生该余数;及
该控制器输出该余数;
其中:
该二分段中的每个分段的一位长度小于或等于一第三数字;
该第三数字是该第二数字以2为底数的一对数的一无条件进位结果;及
该第一基数系根据该第二分段的一位长度的以2为底数的一指数值而得出。
CN202110188548.3A 2020-06-04 2021-02-19 采用迭代计算的模数运算电路 Pending CN113761822A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063034410P 2020-06-04 2020-06-04
US63/034,410 2020-06-04
US17/103,981 2020-11-25
US17/103,981 US11662978B2 (en) 2020-06-04 2020-11-25 Modular operation circuit adopting iterative calculations

Publications (1)

Publication Number Publication Date
CN113761822A true CN113761822A (zh) 2021-12-07

Family

ID=78786685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110188548.3A Pending CN113761822A (zh) 2020-06-04 2021-02-19 采用迭代计算的模数运算电路

Country Status (2)

Country Link
CN (1) CN113761822A (zh)
TW (1) TWI784406B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI784406B (zh) * 2020-06-04 2022-11-21 熵碼科技股份有限公司 採用迭代計算的模數運算電路

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1310816A (zh) * 1998-07-22 2001-08-29 摩托罗拉公司 模乘法的电路及其方法
JP2002007112A (ja) * 2000-06-20 2002-01-11 Sony Corp 剰余演算計算方法および剰余演算計算装置
CN1368674A (zh) * 2001-01-30 2002-09-11 三菱电机株式会社 应用蒙哥马利算法的幂剩余运算器
TW200404223A (en) * 2002-03-22 2004-03-16 Intel Corp "Emod" a fast modulus calculation for computer systems
US20040066934A1 (en) * 2002-10-02 2004-04-08 International Business Machines Corporation Efficient modular reduction and modular multiplication
US20040236813A1 (en) * 2003-05-19 2004-11-25 Grinchuk Mikhail I. Multiplier for modular exponentiation
CN1650254A (zh) * 2002-04-29 2005-08-03 因芬尼昂技术股份公司 计算模数乘法之结果的装置及方法
US20050185791A1 (en) * 2000-12-19 2005-08-25 International Business Machines Corporation Circuits for calculating modular multiplicative inverse
CN1717653A (zh) * 2002-11-29 2006-01-04 皇家飞利浦电子股份有限公司 带有查询表的乘法器
CN1750460A (zh) * 2004-09-16 2006-03-22 英特尔公司 用于执行模幂运算的方法
CN101097511A (zh) * 2006-06-27 2008-01-02 英特尔公司 使用折叠的模归约
US20130236006A1 (en) * 2010-11-18 2013-09-12 Giesecke & Devrient Gmbh Method for arbitrary-precision division or modular reduction
CN103780381A (zh) * 2012-12-17 2014-05-07 深圳市证通电子股份有限公司 基于高基脉动阵列的蒙哥马利算法的实现装置及方法
CN109214213A (zh) * 2017-06-29 2019-01-15 中国科学院数据与通信保护研究教育中心 一种大整数模乘加算法的实现电路及方法
TW202147098A (zh) * 2020-06-04 2021-12-16 熵碼科技股份有限公司 採用迭代計算的模數運算電路

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1310816A (zh) * 1998-07-22 2001-08-29 摩托罗拉公司 模乘法的电路及其方法
JP2002007112A (ja) * 2000-06-20 2002-01-11 Sony Corp 剰余演算計算方法および剰余演算計算装置
US20050185791A1 (en) * 2000-12-19 2005-08-25 International Business Machines Corporation Circuits for calculating modular multiplicative inverse
CN1368674A (zh) * 2001-01-30 2002-09-11 三菱电机株式会社 应用蒙哥马利算法的幂剩余运算器
TW200404223A (en) * 2002-03-22 2004-03-16 Intel Corp "Emod" a fast modulus calculation for computer systems
CN1650254A (zh) * 2002-04-29 2005-08-03 因芬尼昂技术股份公司 计算模数乘法之结果的装置及方法
US20040066934A1 (en) * 2002-10-02 2004-04-08 International Business Machines Corporation Efficient modular reduction and modular multiplication
CN1490714A (zh) * 2002-10-02 2004-04-21 国际商业机器公司 用于高效模数归约和模数乘法的电路和方法
CN1717653A (zh) * 2002-11-29 2006-01-04 皇家飞利浦电子股份有限公司 带有查询表的乘法器
US20040236813A1 (en) * 2003-05-19 2004-11-25 Grinchuk Mikhail I. Multiplier for modular exponentiation
CN1750460A (zh) * 2004-09-16 2006-03-22 英特尔公司 用于执行模幂运算的方法
CN101097511A (zh) * 2006-06-27 2008-01-02 英特尔公司 使用折叠的模归约
US20130236006A1 (en) * 2010-11-18 2013-09-12 Giesecke & Devrient Gmbh Method for arbitrary-precision division or modular reduction
CN103780381A (zh) * 2012-12-17 2014-05-07 深圳市证通电子股份有限公司 基于高基脉动阵列的蒙哥马利算法的实现装置及方法
CN109214213A (zh) * 2017-06-29 2019-01-15 中国科学院数据与通信保护研究教育中心 一种大整数模乘加算法的实现电路及方法
TW202147098A (zh) * 2020-06-04 2021-12-16 熵碼科技股份有限公司 採用迭代計算的模數運算電路

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YUAN MA等: "Low-Cost Hardware Implementation of Elliptic Curve Cryptography for General Prime Fields", 《INTERNATIONAL CONFERENCE ON INFORMATION AND COMMUNICATIONS SECURITY》, 25 November 2016 (2016-11-25), pages 292, XP047362997, DOI: 10.1007/978-3-319-50011-9_23 *
廖鹰等: "线速取余处理的设计与实现", 《计算机技术与应用进展·2007——全国第18届计算机技术与应用(CACIS)学术会议论文集》, 1 August 2007 (2007-08-01), pages 1 - 4 *
陈勤等: "一种新的加法型快速大数模乘算法", 《 计算机工程》, vol. 33, no. 1, 5 January 2007 (2007-01-05), pages 1 - 3 *

Also Published As

Publication number Publication date
TWI784406B (zh) 2022-11-21
TW202147098A (zh) 2021-12-16

Similar Documents

Publication Publication Date Title
Kenney et al. A high-frequency decimal multiplier
US20030140077A1 (en) Logic circuits for performing modular multiplication and exponentiation
US8898215B2 (en) High-radix multiplier-divider
EP1471420A2 (en) Montgomery modular multiplier and method thereof using carry save addition
US11662978B2 (en) Modular operation circuit adopting iterative calculations
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
KR100591761B1 (ko) 몽고메리 모듈러 곱셈기 및 캐리 저장 가산을 이용한몽고메리 모듈러 곱셈 방법
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
CN117075841B (zh) Srt运算电路
Shieh et al. A new algorithm for high-speed modular multiplication design
JPH0773227A (ja) 論理回路の自動設計方法、そのシステム及びその装置並びに乗算器
CN110858137B (zh) 除以整数常数的浮点除法
WO2002077796A1 (en) Logic circuit for performing binary addition or subtraction
CN113761822A (zh) 采用迭代计算的模数运算电路
US6847986B2 (en) Divider
JP4273071B2 (ja) 除算・開平演算器
CN115270155A (zh) 一种获取大数拓展最大公约数的方法及硬件架构
US11435981B2 (en) Arithmetic circuit, and neural processing unit and electronic apparatus including the same
Mekhallalati et al. Novel radix finite field multiplier for GF (2 m)
Namin et al. A High-Speed Word Level Finite Field Multiplier in ${\BBF} _ {2^ m} $ Using Redundant Representation
Alimohammad et al. A unified architecture for the accurate and high-throughput implementation of six key elementary functions
CN107066643B (zh) 模硬件生成器
Le Masle et al. Parametric encryption hardware design
JP7120885B2 (ja) 半導体装置、および除算方法
JP2000276046A (ja) 楕円曲線演算装置、演算方法及びその方法を実施するプログラムを記録した記録媒体

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