CN1786900A - 基于改进的蒙哥马利算法的模乘器 - Google Patents
基于改进的蒙哥马利算法的模乘器 Download PDFInfo
- Publication number
- CN1786900A CN1786900A CN 200510116703 CN200510116703A CN1786900A CN 1786900 A CN1786900 A CN 1786900A CN 200510116703 CN200510116703 CN 200510116703 CN 200510116703 A CN200510116703 A CN 200510116703A CN 1786900 A CN1786900 A CN 1786900A
- Authority
- CN
- China
- Prior art keywords
- register
- output terminal
- totalizer
- bit
- data
- 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.)
- Granted
Links
- 238000004422 calculation algorithm Methods 0.000 title claims description 25
- 238000004364 calculation method Methods 0.000 claims description 29
- 230000004087 circulation Effects 0.000 claims description 23
- 230000008901 benefit Effects 0.000 claims description 18
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 14
- 238000000034 method Methods 0.000 abstract description 5
- OUXCBPLFCPMLQZ-WOPPDYDQSA-N 4-amino-1-[(2r,3s,4s,5r)-4-hydroxy-5-(hydroxymethyl)-3-methyloxolan-2-yl]-5-iodopyrimidin-2-one Chemical compound C[C@H]1[C@H](O)[C@@H](CO)O[C@H]1N1C(=O)N=C(N)C(I)=C1 OUXCBPLFCPMLQZ-WOPPDYDQSA-N 0.000 abstract description 2
- 230000008569 process Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明属于计算机加/解密技术领域,其特征在于:该模乘器用了两个7级流水的64位乘法器来分解操作数以提高系统的时钟频率,用预计算单元把在外部状态机控制下提前输入的数据分期送入乘法器,所属分期是按照计算操作数中前一位值的那个阶段中存在的三个等待计算结果的时钟周期来划分的。从i=0时计算第一阶段开始,重复上述步骤,直到操作数中个位数全部模乘结束为止。从而解决了流水线停顿的问题,提高了系统的并行性,减少了所需的时钟数。所述模乘器位长233位,基于SMIC 0.18um最坏的工艺,关键路径最大时延3.8ns,面积2mm2,一次模乘需要110个时钟周期。与现有其它结构相比,具有面积小速度快的特点,适用于ECC密码体制和RSA密码体制。
Description
技术领域
迅速发展的电子商务、保密通讯等应用对开放网路上的信息安全提出了更高的要求,于是RSA、ECC的等公开密钥密码体制,被广泛用于密钥传递和数字签名。RSA和素数域ECC的核心操作都是模乘幂运算,而且为了保证一定程度的安全性,RSA模数和指数的位长需要达到1024位以上,ECC模数和指数的位长也需要达到233位以上。但是这种规模的大数模乘运算用软件实现效率是很低的,会占用大量的系统资源,因此各种大数模幂乘的硬件应运而生。本设计中的模乘器VLSI结构正是属于此类的加/解密技术领域。
背景技术
应用最广泛的模乘法算法是蒙哥马利算法,它的核心思想是将通常的取模运算中的比较和减法转化为乘法和加法。
1.Montgomery原始算法
Montgomery算法表示为:
Mon_pro(A,B)=ABR-1mod N,其具体算法是:
Function Mon_pro(A,B):
T←A*B
u←-T*N-1(mod R)
x←(T+u*N)/R
If x≥N return x←x-N
Else return x
其中N为模数,R与N互质R=2n,n是N的位数。N-1和R-1分别满足NN-1mod R=1和RR-1mod N=1。值得注意的是N-1和R-1是事先预计算得到的,只有更新模数的时候才需要计算一次;另外由于R=2n,模R或除R的操作就分别为取低位和取高位的简单操作。
由此可见Montgomey算法对A、B的积T取模时只用了2次普通的乘法操作。而一般的比较相减的取模方法需要n次减法。而且出于安全的需要n通常很大,本设计中n=233,这样Montgomery算法的大大降低了运算的次数也就降低了运算所需的时钟数。
另外一个问题是原始的Montgomery算法中包含的乘法和加法运算全部是大数运算,VLSI实现时硬件的代价很大,而且由于进位链太长,关键路径延时很大,制约了系统的时钟频率。脉动阵列结构是解决长进位链问题的策略之一,但该类策略的缺点在于计算周期多且VLSI实现面积大而下文所述的改进算法通过将可以有效的解决这个问题。
2.Montgomery改进算法
本设计采用的Montgomery改进算法具体计算步骤如下:
n位的2进制A也可以理解为s位的r进制数,即A=(as-1as-2…a1a0),其中ai为r进制数,同理B也可以理解为s位的r进制数,即B=(bs-1bs-2…b1b0),其中bi为r进制数、N也可以理解为s位的r进制数,即N=(ns-1ns-2…n1n0),其中bi为r进制数。n’0为只与N有关常数且满足n0n0’mod r=1。
算法分为3个步骤:
第一步:计算中间结果mi
1 for i=0 to s-1
1.1 for j=0 to i-1
S:=S+ajbi-j+mjni-j,
1.2 Mi:=Sn’0 mod r,
1.3 S:=S+min0,
1.4 S:=S/r,
第二步:计算最终结果存于mi
2 for i=s to 2s-1
2.1 for j=i-s+1 to s-1
S:=S+ajbi-j+mjni-j,
2.2 mi-s:=S mod r,
2.3 S:=S/r,
第三步:调整结果到区间[0,n]
令M=(ms-1ms-2…m1m0),若M≥N则输出M-N,否则输出M
可以看出,改进的算法中,位数很长的大数被分解为相对较小的数来分别进行计算,改善了由大数的加法和乘法进位链过长的问题。本设计综合考虑了时钟频率和所需的总时钟数两方面的因素后,S定为4,相应的r=264。
发明内容
本发明的目的在于提供一种时间周期少、流水线连续、速度快、面积小的基于改进的Montgomery算法的模乘器。
本发明特征在于,该模乘器是一种在外部状态机的控制下对输入数据按改进的Montgomery算法操作的,位长233位的模乘器,该算法把位长很长的大数分解为相对较小的数来分别进行计算,即
把n位2进制的被乘数A视为s位的r进制数,表示为:A=as-1as-2…a1a0,ai为r进制数,
把n位2进制的乘数B视为s位的r进制数,表示为:B=bs-1bs-2…b1b0,bi为r进制数,
把n位2进制的模N视为s位的r进制数,表示为:N=ns-1ns-2…n1n0,ni为r进制数,
其中s=4,r=264,i=0,1,2,3,
所述基于改进的Montgomery算法的模乘器含有:输入单元、中间单元、预计算单元、输出单元和一个多路选择器,其中:
输入单元,含有:
第一采用7级流水的64位乘法器,输入数据为a和b;
第二采用7级流水的64位乘法器,输入数据为n和中间结果m;
第一128位寄存器,该寄存器的输入端与所述的第一采用7级流水的64位乘法器的输出端相连;
第二128位寄存器,该寄存器的输入端与所述的第二采用7级流水的64位乘法器的输出端相连;
中间单元,含有:
一个128位加法器,该加法器的两个输入端分别与所述第一128位寄存器和第二128位寄存器的输出端相连;
一个129位寄存器,该寄存器的输入端与所述128位加法器的输出端相连;
预计算单元,含有:
133位加法器I、133位加法器II、133位加法器III,所述各133位加法器的一个输入端分别和所述129位寄存器的输出端相连;
133位寄存器I、133位寄存器II、133位寄存器III,所述各133位寄存器的输入端分别依次与所对应133位加法器的输出端相连,所述各133位寄存器的输出端分别依次与所述个133位加法器的另一个输入端相连,
多路选择器,该选择器的各输入端分别同时与所述个133位寄存器的输出端相连;
输出单元,含有:
一个133位加法器IV,该加法器IV的两个输入端分别于所述多路选择器、129位寄存器的输出端相连;
一个133位寄存器IV,该寄存器IV的输入端与所述133位加法器的输出端相连,该寄存器的输出端在输出数据的同时又与所述第二采用7级流水的64位乘法器的输入中间结果m用的输入端相连;
在外部状态机的控制下,在i=0的循环内,所述第一采用7级流水的64位乘法器被依次按以下步骤输入数据:
在第一次等待计算结果S=a0b0的时钟周期内,被提前输入i=1时循环内用的与前一级运算结果无关的包括a0、b1、a1、b0在内的数据,产生相应的部分积a0b1、a1b0,在外部状态机的控制下送入所述预计算单元累加并寄存在寄存器I中;
在第二次等待计算结果m1=sn’0时钟周期内,被提前输入i=2时的循环内的数据a0、b2、a1、b1、a2、b0,产生相应的部分积a0b2、a1b1、a2b0,在外部状态机的控制下送入预计算单元累加并寄存在寄存器II中,n’0为只与N有关常数且满足n0n0′mod r=1;
在第三次等待计算结果m1n0时钟周期内,被提前输入i=2时的循环内的数据a0、b3、a1、b2、a2、b1、a3、b0,产生相应的部分积a0b3、a1b2、a2b1、a3b0,在外部状态机的控制下送入预计算单元累加并寄存在寄存器III中;
在所述外部状态机的控制下,在i=1、i=2、i=3的循环内,同样按i=0循环内所属的步骤依次进行;
所述的129位寄存器和多路选择器,按照i=0,1,2,3各个不同的循环周期,把所寄存的各相应数据送往所述133位加法器IV累加后送往所述133位寄存器IV寄存,该寄存器IV把中间结果m送往第二采用7级流水的64位加法器,直到所有各循环结束,输出最终运算结果,
以上所述的基于改进的Montgomery模乘器是在数字集成电路上实现的。
本设计用Verilog进行行为级、RTL级编码和功能仿真,验证系统功能的正确性。基于SMIC 0.18微米工艺库完成逻辑综合(DC),并提取门延时信息,进行门级仿真验证,确保功能正确性和时序上的准确性。最终,本摸乘器关键路径时延约3.8ns,考虑到布局布线阶段可能引入的连线延时和I/O pin等因素,整个芯片时钟典型频率可以达到200MHz,面积约2mm2,完成一次摸乘需要108个时钟周期。
附图说明
图1.本发明所述模乘器的电路框图。
具体实施方式
本设计的模乘器电路机构如图1所示,是用ASIC芯片实现的。
整个数据通路由输入单元、中间单元、预计算单元、输出单元和多路选择器五个单元构成。输入单元包括a、b、n三个输入端口和两个64位乘法器;中间单元包括一个128位的加法器和一个129位寄存器;预计算单元由加法器I、加法器II、加法器III和寄存器I、寄存器II、寄存器III构成;输出单元由加法器IV和寄存器IV构成。
本设计的一个特点在于:尽管模乘器的操作数已经被分解为位长相对较短的64位数,但64位的乘法器的时延还是比较大的,在0.18um的工艺下仍达到20ns以上,限制了系统的时钟频率。因此本设计采用了7级流水线结构的乘法器以缩短其关键路径的时延到4ns以内。本设计的另一个特点是具有独特的预计算单元:虽然流水线结构可以提高系统的时钟频率,但是Montgomery算法本身的特点会造成流水线的停顿,导致效率系统下降,实际的运算速度变慢。根据这个问题,我们提出了预计算单元,在相关数据未就绪导致流水线停顿时提前计算其他数据,提高了流水线乘法器的利用率,使问题得到有效地缓解。
现在我们具体分析一下上述数据通路在执行2.4中Montgomery算法时,流水线停顿是怎么发生的,预计算单元又是如何解决该问题的:
以第一步为例,i=0时,我们需要产生部分积a0b0、m0n0并累加;i=1时,我们需要产生部分积a0b1、m0n1、a1b0、m1n0并累加;i=2时,我们需要产生部分积a0b2、m0n2、a1b1、m1n1、a2b0、m2n0并累加;i=3时,我们需要产生部分积a0b3、m0n3、a1b2、m1n2、a2b1、m2n1、a3b0、m3n0并累加。
其中ai、bi、ni都是输入数据,随时能进入乘法器用以生成相应的部分积,不会引起流水线的停顿,而mi为中间运算的结果,如果其在计算的过程当中时被乘法器调用就会导致流水线输入数据的中断。如在i=0的循环中,a0、b0进入乘法器计算部分积a0b0,此时应同时输入m0和n0,但m0是S(即部分积a0b0)乘n’0得到的,显然此时还没有就绪。不难看出在i=0的循环中,流水线乘法器停顿了三次,第一次等待S=a0*b0的计算;第二次是等待m1=S*n’0的计算;第三次是等待m1*n0的计算,每一次等待7个时钟周期(流水线深度)。可见普通的没有预计算单元的数据通路在i=0的循环内会浪费21个时钟周期。实际上这样的浪费不止发生在i=0的循环内,而是发生在每一个循环内,所以光第一步的4个循环就要浪费84个时钟周期。
为了解决这个问题,更高效地利用流水线乘法器,节省时钟周期的开销,我们在第一次等待时提前将i=1时的循环内与前一级运算结果无关的数据,包括a0、b1、a1、b0等送入乘法器,产生相应的部分积在状态机的控制下进入预计算单元累加并寄存在寄存器I中;在第二次等待时将i=2时的循环内的数据a0、b2、a1、b1、a2、b0送入乘法器,产生相应的部分积送入预计算单元累加并寄存在寄存器II中;同理在第三次等待时将i=3时的循环内的数据a0、b3、m0、n3、a1、b2、a2、b1、a3、b0送入乘法器,产生相应的部分积送入预计算单元累加并寄存在寄存器III中。当算法真正进入i=1、i=2或i=3循环体时,寄存器I、寄存器II、寄存器III中的部分积可以直接送入输出单元进行累加而不必临时计算。当然,在i=1、i=2或i=3循环中,也会遇到流水线停顿的情况,此时就可以预先计算步骤2中各个循环中的数据,以此类推。
这种机制的核心在于不让流水线乘法器停顿下来,而是不断地使后续循环中的不相关数据进入乘法器,提前计算以后将用到的部分积送到预计算单元累加然后寄存起来,在需要的时候就可以将寄存的数据直接送到输出单元的加法器中进行累加,从而节约了大量的时钟周期。
Claims (1)
1.基于改进的蒙哥马利算法的模乘器,其特征在于,该模乘器是一种在外部状态机的控制下对输入数据按改进的蒙哥马利算法操作的,位长233位的模乘器,该算法把位长很长的大数分解为相对较小的数来分别进行计算,即
把n位2进制的被乘数A视为s位的r进制数,表示为:A=as-1as-2…a1a0,ai为r进制数,
把n位2进制的乘数B视为s位的r进制数,表示为:B=bs-1bs-2…b1b0,bi为r进制数,
把n位2进制的模N视为s位的r进制数,表示为:N=ns-1ns-2…n1n0,ni为r进制数,
其中s=4,r=264,i=0,1,2,3,
所述基于改进的蒙哥马利算法的模乘器含有:输入单元、中间单元、预计算单元、输出单元和一个多路选择器,其中:
输入单元,含有:
第一采用7级流水的64位乘法器,输入数据为a和b;
第二采用7级流水的64位乘法器,输入数据为n和中间结果m:
第一128位寄存器,该寄存器的输入端与所述的第一采用7级流水的64位乘法器的输出端相连;
第二128位寄存器,该寄存器的输入端与所述的第二采用7级流水的64位乘法器的输出端相连;
中间单元,含有:
一个128位加法器,该加法器的两个输入端分别与所述第一128位寄存器和第二128位寄存器的输出端相连;
一个129位寄存器,该寄存器的输入端与所述128位加法器的输出端相连;
预计算单元,含有:
133位加法器I、133位加法器II、133位加法器III,所述各133位加法器的一个输入端分别和所述129位寄存器的输出端相连;
133位寄存器I、133位寄存器II、133位寄存器III,所述各133位寄存器的输入端分别依次与所对应133位加法器的输出端相连,所述各133位寄存器的输出端分别依次与所述个133位加法器的另一个输入端相连,
多路选择器,该选择器的各输入端分别同时与所述个133位寄存器的输出端相连;输出单元,含有:
一个133位加法器IV,该加法器IV的两个输入端分别于所述多路选择器、129位寄存器的输出端相连;
一个133位寄存器IV,该寄存器IV的输入端与所述133位加法器的输出端相连,该寄存器的输出端在输出数据的同时又与所述第二采用7级流水的64位乘法器的输入中间结果m用的输入端相连;
在外部状态机的控制下,在i=0的循环内,所述第一采用7级流水的64位乘法器被依次按以下步骤输入数据:
在第一次等待计算结果S=a0b0的时钟周期内,被提前输入i=1时循环内用的与前一级运算结果无关的包括a0、b1、a1、b0在内的数据,产生相应的部分积a0b1、a1b0,在外部状态机的控制下送入所述预计算单元累加并寄存在寄存器I中;
在第二次等待计算结果m1=sn’0时钟周期内,被提前输入i=2时的循环内的数据a0、b2、a1、b1、a2、b0,产生相应的部分积a0b2、a1b1、a2b0,在外部状态机的控制下送入预计算单元累加并寄存在寄存器II中,n’0为只与N有关常数且满足n0n0’modr=1;
在第三次等待计算结果m1n0时钟周期内,被提前输入i=2时的循环内的数据a0、b3、a1、b2、a2、b1、a3、b0,产生相应的部分积a0b3、a1b2、a2b1、a3b0,在外部状态机的控制下送入预计算单元累加并寄存在寄存器III中;
在所述外部状态机的控制下,在i=1、i=2、i=3的循环内,同样按i=0循环内所属的步骤依次进行;
所述的129位寄存器和多路选择器,按照i=0,1,2,3各个不同的循环周期,把所寄存的各相应数据送往所述133位加法器IV累加后送往所述133位寄存器IV寄存,该寄存器IV把中间结果m送往第二采用7级流水的64位加法器,直到所有各循环结束,输出最终运算结果,
以上所述的基于改进的蒙哥马利模乘器是在数字集成电路上实现的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101167031A CN100470464C (zh) | 2005-10-28 | 2005-10-28 | 基于改进的蒙哥马利算法的模乘器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101167031A CN100470464C (zh) | 2005-10-28 | 2005-10-28 | 基于改进的蒙哥马利算法的模乘器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1786900A true CN1786900A (zh) | 2006-06-14 |
CN100470464C CN100470464C (zh) | 2009-03-18 |
Family
ID=36784382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101167031A Expired - Fee Related CN100470464C (zh) | 2005-10-28 | 2005-10-28 | 基于改进的蒙哥马利算法的模乘器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100470464C (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008028400A1 (fr) * | 2006-08-11 | 2008-03-13 | Fortune Spring Technology (Shenzhen) Corporation | Procédé pour traiter simultanément plusieurs groupes de données au moyen d'un seul circuit ecc |
CN101764787B (zh) * | 2008-12-24 | 2012-12-05 | 上海华虹集成电路有限责任公司 | 基于ucps协议中ecc素数特殊性的快速模乘方法 |
CN103176768A (zh) * | 2013-03-27 | 2013-06-26 | 清华大学 | 计算经典模乘的模乘方法以及可扩展模乘器 |
CN103226461A (zh) * | 2013-03-26 | 2013-07-31 | 中山大学 | 一种蒙哥马利模乘方法及其电路 |
CN103888246A (zh) * | 2014-03-10 | 2014-06-25 | 深圳华视微电子有限公司 | 低功耗小面积的数据处理方法及其数据处理装置 |
CN104683094A (zh) * | 2013-11-29 | 2015-06-03 | 上海华虹集成电路有限责任公司 | 用于rsa密码的蒙哥马利阶梯算法 |
CN104951279A (zh) * | 2015-05-27 | 2015-09-30 | 四川卫士通信息安全平台技术有限公司 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
CN105068784A (zh) * | 2015-07-16 | 2015-11-18 | 清华大学 | 基于蒙哥马利模乘的Tate对算法及其硬件结构 |
CN105099652A (zh) * | 2014-05-04 | 2015-11-25 | 博雅网络游戏开发(深圳)有限公司 | 数据加密、解密方法和装置 |
CN105099684A (zh) * | 2014-05-08 | 2015-11-25 | 国民技术股份有限公司 | 一种模幂运算的处理方法、装置及密码设备 |
CN109284085A (zh) * | 2018-09-25 | 2019-01-29 | 国网湖南省电力有限公司 | 一种基于fpga的高速模乘和模幂运算方法及模型 |
CN112286496A (zh) * | 2020-12-25 | 2021-01-29 | 九州华兴集成电路设计(北京)有限公司 | 蒙哥马利算法的模乘器和电子设备 |
CN112286490A (zh) * | 2020-11-11 | 2021-01-29 | 南京大学 | 一种循环迭代乘加运算的硬件架构及方法 |
CN112685003A (zh) * | 2021-01-05 | 2021-04-20 | 南京大学 | 一种用于获取同源密码的模乘结果的运算装置 |
CN114840174A (zh) * | 2022-05-18 | 2022-08-02 | 广州万协通信息技术有限公司 | 一种使用多乘法器快速实现蒙哥马利模乘的系统及方法 |
CN115344237A (zh) * | 2022-10-19 | 2022-11-15 | 无锡沐创集成电路设计有限公司 | 结合Karatsuba和蒙哥马利模乘的数据处理方法 |
-
2005
- 2005-10-28 CN CNB2005101167031A patent/CN100470464C/zh not_active Expired - Fee Related
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008028400A1 (fr) * | 2006-08-11 | 2008-03-13 | Fortune Spring Technology (Shenzhen) Corporation | Procédé pour traiter simultanément plusieurs groupes de données au moyen d'un seul circuit ecc |
CN101764787B (zh) * | 2008-12-24 | 2012-12-05 | 上海华虹集成电路有限责任公司 | 基于ucps协议中ecc素数特殊性的快速模乘方法 |
CN103226461A (zh) * | 2013-03-26 | 2013-07-31 | 中山大学 | 一种蒙哥马利模乘方法及其电路 |
CN103226461B (zh) * | 2013-03-26 | 2016-07-06 | 中山大学 | 一种用于电路的蒙哥马利模乘方法及其电路 |
CN103176768A (zh) * | 2013-03-27 | 2013-06-26 | 清华大学 | 计算经典模乘的模乘方法以及可扩展模乘器 |
CN103176768B (zh) * | 2013-03-27 | 2016-07-13 | 清华大学 | 计算经典模乘的模乘方法以及可扩展模乘器 |
CN104683094B (zh) * | 2013-11-29 | 2018-10-26 | 上海华虹集成电路有限责任公司 | 用于rsa密码的蒙哥马利阶梯算法 |
CN104683094A (zh) * | 2013-11-29 | 2015-06-03 | 上海华虹集成电路有限责任公司 | 用于rsa密码的蒙哥马利阶梯算法 |
CN103888246A (zh) * | 2014-03-10 | 2014-06-25 | 深圳华视微电子有限公司 | 低功耗小面积的数据处理方法及其数据处理装置 |
CN105099652A (zh) * | 2014-05-04 | 2015-11-25 | 博雅网络游戏开发(深圳)有限公司 | 数据加密、解密方法和装置 |
CN105099652B (zh) * | 2014-05-04 | 2018-01-16 | 博雅网络游戏开发(深圳)有限公司 | 数据加密、解密方法和装置 |
CN105099684B (zh) * | 2014-05-08 | 2019-08-16 | 国民技术股份有限公司 | 一种模幂运算的处理方法、装置及密码设备 |
CN105099684A (zh) * | 2014-05-08 | 2015-11-25 | 国民技术股份有限公司 | 一种模幂运算的处理方法、装置及密码设备 |
CN104951279A (zh) * | 2015-05-27 | 2015-09-30 | 四川卫士通信息安全平台技术有限公司 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
CN104951279B (zh) * | 2015-05-27 | 2018-03-20 | 四川卫士通信息安全平台技术有限公司 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
CN105068784B (zh) * | 2015-07-16 | 2018-02-16 | 清华大学 | 实现基于蒙哥马利模乘的Tate对算法的电路 |
CN105068784A (zh) * | 2015-07-16 | 2015-11-18 | 清华大学 | 基于蒙哥马利模乘的Tate对算法及其硬件结构 |
CN109284085A (zh) * | 2018-09-25 | 2019-01-29 | 国网湖南省电力有限公司 | 一种基于fpga的高速模乘和模幂运算方法及模型 |
CN109284085B (zh) * | 2018-09-25 | 2023-03-31 | 国网湖南省电力有限公司 | 一种基于fpga的高速模乘和模幂运算方法及装置 |
CN112286490A (zh) * | 2020-11-11 | 2021-01-29 | 南京大学 | 一种循环迭代乘加运算的硬件架构及方法 |
CN112286490B (zh) * | 2020-11-11 | 2024-04-02 | 南京大学 | 一种循环迭代乘加运算的硬件架构及方法 |
CN112286496A (zh) * | 2020-12-25 | 2021-01-29 | 九州华兴集成电路设计(北京)有限公司 | 蒙哥马利算法的模乘器和电子设备 |
CN112685003A (zh) * | 2021-01-05 | 2021-04-20 | 南京大学 | 一种用于获取同源密码的模乘结果的运算装置 |
CN112685003B (zh) * | 2021-01-05 | 2024-05-28 | 南京大学 | 一种用于获取同源密码的模乘结果的运算装置 |
CN114840174A (zh) * | 2022-05-18 | 2022-08-02 | 广州万协通信息技术有限公司 | 一种使用多乘法器快速实现蒙哥马利模乘的系统及方法 |
CN115344237A (zh) * | 2022-10-19 | 2022-11-15 | 无锡沐创集成电路设计有限公司 | 结合Karatsuba和蒙哥马利模乘的数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100470464C (zh) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1786900A (zh) | 基于改进的蒙哥马利算法的模乘器 | |
CN101782845B (zh) | 一种椭圆曲线密码的高速运算装置和方法 | |
Großschädl et al. | Instruction set extensions for fast arithmetic in finite fields GF (p) and GF (2 m) | |
CN100435090C (zh) | 可扩展高基蒙哥马利模乘算法及其电路结构 | |
CN1700637A (zh) | 一种新型的椭圆曲线密码协处理器 | |
CN1735881A (zh) | 用于执行计算操作的方法和系统以及一种设备 | |
CN104579656A (zh) | 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器 | |
Kudithi | An efficient hardware implementation of the elliptic curve cryptographic processor over prime field | |
Olivieri | Design of synchronous and asynchronous variable-latency pipelined multipliers | |
CN101630244B (zh) | 一种流水线型椭圆曲线双标量乘法系统及方法 | |
CN101304312B (zh) | 一种适用于精简指令集处理器的加密单元 | |
Zeghid et al. | Speed/area-efficient ECC processor implementation over GF (2 m) on FPGA via novel algorithm-architecture co-design | |
Aigner et al. | A low-cost ECC coprocessor for smartcards | |
Liu et al. | A regular parallel RSA processor | |
CN200990078Y (zh) | 快速rsa密码和大数模指数运算的电路 | |
CN205721742U (zh) | 适用于模除算法的新架构及非交织一维脉动架构 | |
Großschädl | High-speed RSA hardware based on Barret’s modular reduction method | |
CN1811698A (zh) | 大数模幂系统的硬件高基实现方法 | |
CN1234065C (zh) | 微控制器ip核的处理方法 | |
Hani et al. | FPGA implementation of RSA public-key cryptographic coprocessor | |
CN2507064Y (zh) | 一种蒙哥马利模乘器 | |
US20020161810A1 (en) | Method and apparatus for multiplication and/or modular reduction processing | |
CN1085862C (zh) | 高速模乘法装置 | |
CN1122024A (zh) | 一种任意字长、任意精度的乘法运算方法及乘法器 | |
Rezai et al. | Algorithm design and theoretical analysis of a novel CMM modular exponentiation algorithm for large integers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090318 Termination date: 20101028 |