采用迭代计算的模数运算电路制造技术

技术编号:31229573 阅读:18 留言:0更新日期:2021-12-08 09:58
本发明专利技术公开了一种模数运算电路,包括控制器、模数乘法器及模数加法器。控制器将第一数字分为K分段。模数乘法器于(K

【技术实现步骤摘要】
采用迭代计算的模数运算电路


[0001]本专利技术关于模数运算电路,特别是一种采用迭代计算的模数运算电路。

技术介绍

[0002]模数运算(modular operation)广泛运用在密码系统中。例如,许多产生密钥或数字签名的算法都需要模数运算,且通常会使用除法器来执行模数运算,并在除法完成后得到余数。然而实现除法器的硬件相当复杂,且需要较大的电路面积。若密码系统需要对大数值执行模数运算,则除法器将需要更大的面积,而使密码系统的构造不切实际。

技术实现思路

[0003]本专利技术有关于一种模数运算电路的操作方法,模数运算电路包括控制器、模数乘法器及模数加法器,方法包括控制器将第一数字分为K分段,在第一迭代中,模数乘法器根据K分段的第一分段及第一基数,执行第一模数乘法运算以产生第一中间结果,及模数加法器根据第一中间结果及K分段的第二分段,执行第一模数加法运算以产生第一迭代余数,及在第二迭代中,模数乘法器执行第二模数乘法运算以根据第一迭代余数及第二基数产生第二中间结果,及模数加法器根据第二中间结果及K分段的第三分段,进行第二模数加法运算以产生第二迭代余数。K系为大于2的整数。K分段中的每个分段的位长度小于或等于第三数字。第三数字是第二数字以2为底数的对数的无条件进位结果。第一基数系根据第二分段的位长度的以2为底数的第一指数值而得出。第二基数系根据第三分段的位长度的以2为底数的第二指数值而得出。
[0004]本专利技术有关于另一种模数运算电路,包括控制器、模数乘法器及模数加法器。控制器用以将第一数字分为K分段。模数乘法器耦接于控制器,并用以执行第一模数乘法运算,以在第一迭代期间根据K分段中的第一分段及第一基数产生第一中间结果,并在第二迭代期间执行第二模数乘法运算以根据第一迭代余数及第二基数产生第二中间结果。模数加法器,耦接于控制器,并用以执行第一模数加法运算以在第一迭代期间根据第一中间结果及K个分段中的第二个分段产生第一迭代余数,并执行第二模数加法运算以在第二迭代过程中,根据第二中间结果及K分段中的第三分段,产生第二迭代余数。K系为大于2的整数。K分段中的每个分段的位长度小于或等于第三数字。第三数字是第二数字以2为底数的对数的无条件进位结果。第一基数系根据第二分段的位长度的以2为底数的第一指数值而得出。第二基数系根据第三分段的位长度的以2为底数的第二指数值而得出。
[0005]本专利技术有关于另一种模数运算电路的操作方法,模数运算电路包括控制器、模数乘法器及模数加法器,方法包括控制器将第一数字分为二分段。在第一迭代中,模数乘法器根据二分段的第一分段及第一基数,执行第一模数乘法运算以产生第一中间结果,及模数加法器根据第一中间结果及二分段的第二分段,执行第一模数加法运算以产生第一迭代余数。控制器输出余数。二分段中的每个分段的位长度小于或等于第三数字。第三数字是第二数字以2为底数的对数的无条件进位结果。第一基数系根据第二分段的位长度的以2为底数
的第一指数值而得出。
附图说明
[0006]图1显示本专利技术实施例中的一种模数运算电路。
[0007]图2显示图1中模数运算电路的操作方法的流程图。
[0008]其中,附图标记说明如下:
[0009]100:模数运算电路
[0010]110:控制器
[0011]120:模数乘法器
[0012]130:模数加法器
[0013]200:方法
[0014]S210至S250:步骤
[0015]A1:第一数字
[0016]AS1至ASK:分段
[0017]N1:第二数字
[0018]R1:余数
具体实施方式
[0019]图1显示本专利技术实施例中的一种模数运算电路100。模数运算电路100包括控制器110、模数乘法器120及模数加法器130。在一些实施例中,模数运算电路100可用以将第一数字A1除以第二数字N1以得出余数R1。
[0020]在图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可以不同。
[0021]由于第一数字A1被分为K分段AS1至ASK,因此第一数字A1可由以下公式(1)表示。
[0022][0023]在公式(1)中,第一数字A1可进一步以公式(2)至(7)的方式表示,其中k系为大于3且小于(K

1)的整数。
[0024]A1={[(AS1
×2AB2
+AS2)
×2AB3
+AS3]×2AB4
+AS4}
×2AB5
...+ASK
[0025]ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(2)
[0026]T1=AS1
×2AB2
+AS2;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(3)
[0027]T2=T1
×2AB3
+AS3;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(4)
[0028]T3=T2
×2AB4
+AS4;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(5)
[0029]...
[0030]Tk=T(k

1)
×
2AB(k+1)+AS(k+1)公式(6)
[0031]...
[0032]T(K

1)=T(K

2)
×
2ABK+ASK=A1公式(7)
[0033]在此情况下,对于具有较小值的迭代值T1、T2至T(K

1),可将第一数字A1的复杂的模数运算分为几个简化的模数运算。亦即可通过模数乘法器120及模数加法器130来执行(K

1)迭代以执行模数运算而得出余数R1,因此无须使用执行大数值的模数运算的复杂除法电路。
[0034]在一些实施例中,K可等于2。亦即第一数字A1可被分为二分段AS1及AS2。在此情况下,模数运算可不需要多次迭代操作即可得出余数R1。即迭代值T1的模本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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分段;一模数乘法器,耦接于该控制器,并用以执行一第一模数乘法运...

【专利技术属性】
技术研发人员:林文景
申请(专利权)人:熵码科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1