CN101986261A - 基为16的高速Montgomery模乘法器VLSI - Google Patents

基为16的高速Montgomery模乘法器VLSI Download PDF

Info

Publication number
CN101986261A
CN101986261A CN2010105634537A CN201010563453A CN101986261A CN 101986261 A CN101986261 A CN 101986261A CN 2010105634537 A CN2010105634537 A CN 2010105634537A CN 201010563453 A CN201010563453 A CN 201010563453A CN 101986261 A CN101986261 A CN 101986261A
Authority
CN
China
Prior art keywords
input end
arithmetic element
vlsi
montgomery
multiplier
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
CN2010105634537A
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.)
WUXI GAOZHEN S&T CO Ltd
Original Assignee
WUXI GAOZHEN S&T 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 WUXI GAOZHEN S&T CO Ltd filed Critical WUXI GAOZHEN S&T CO Ltd
Priority to CN2010105634537A priority Critical patent/CN101986261A/zh
Publication of CN101986261A publication Critical patent/CN101986261A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了基为16的高速Montgomery模乘法器VLSI,包括N个MMCell运算单元、FIFO存储单元与2选1的数据选择单元。本发明所述基为16的高速Montgomery模乘法器VLSI,可以克服现有技术中平均性能低、时钟频率低、硬件开销大与实用性差等缺陷,以实现平均性能高、时钟频率高、硬件开销小与实用性好的优点。

Description

基为16的高速Montgomery模乘法器VLSI
技术领域
本发明涉及电子电路,具体地,涉及基为16的高速蒙哥马利(Montgomery)模乘法器超大规模集成电路(VLSI)。
背景技术
目前,互联网的快速发展,使得信息安全技术显得尤为重要,诸如在线购物、网上银行、数据下载等方面都需要一套身份认证系统。在现代密码学中,公钥制密码体制被用来完成这一任务,它能够提供如数字签名、身份认证、数据完整性和抗抵赖性等一系列的安全保障。
在公钥制密码体制中,应用最为广泛的当属RSA密码算法(RSA密码算法是一种非对称密码算法)。RSA密码算法简单有效,但是却非常耗时,因为RSA的基本运算是幂运算,它的操作数长度一般在256~2048bit或者更长,用软件来做1024bit的RSA加密运算,每秒大概只能完成4~8次模幂运算,无法满足实时性的需求。所以,硬件实现RSA加密算法成为未来密码产品的主流,也是当前密码学的研究热点。
蒙哥马利(Montgomery)模乘算法是目前应用最为广泛的也最为高效的模乘算法,它将模乘运算中的除法运算替换成移位操作,大大加快了模乘运算的速度和效率。基于Montgomery模乘算法的硬件超大规模集成电路(VeryLarge Scale Integrated circuits,简称VLSI)设计种类比较多,在这些设计中,时钟数开销最少的是高基Montgomery模乘运算,可扩展性最好的是基于字的Montgomery模乘算法。这里,Montgomery模乘算法,具体可参见下面的算法1。
算法1:Montgomery模乘算法
Input:N、X、Y、M、r(r=2N)
Output:S=MM(X,Y)=XYr-1 mod M
1.S-1=0
2.For i=0 to N-1
3.Si=Si-1+xi×Y
4.Si=Si+s0×M
5.Si=Si/2
6.End For
7.If SN-1>=M Then SN-1=SN-1M
Return SN-1
这里的X是乘数,Y是被乘数,M是模数,r是一个等于2N的常数,X、Y、M都是位长为N的整数。如算法1所示,Montgomery算法采用一系列的移位运算来替代除法,最终的运算结果是XYr-1 mod M而不是真正的模乘运算结果:XY mod M。为了实现模乘运算,需要对初始输入数据进行域转换。Montgomery模乘运算使用一种称为M域的表示形式来表示整数。比如,将x(0<x<M)转化成M域的表示形式就成了:
Figure BDA0000034658990000021
这样,M域中的
Figure BDA0000034658990000022
等于Xr mod M,M域的等于Yr mod M,M域中的Montgomery模乘运算就成了
Z ‾ = X ‾ Y ‾ r - 1 mod M
= XrYr r - 1 mod M
= XYr mod M - - - ( 1 )
可见,对于M域中的数来说,它们模乘的结果仍然在M域之中,在整数和M域之间的转换也非常简单,也可以通过Montgomery模乘运算来实现;
X ‾ = MM ( X , r 2 ) = X r 2 r - 1 mod M = Xr mod M - - - ( 2 )
X = MM ( X ‾ , 1 ) = X rr - 1 mod M = X mod M - - - ( 3 )
这里的r2 mod M是预先计算好的。RSA的加密过程就是求模幂运算过程,而模幂运算需要大量的模乘运算。在做RSA加密之前需要将操作数先转化到M域,然后再做模幂,在做完模幂之后再将结果转化到整数域,这样就完成了一次RSA加密。
从算法1所示的Montgomery模乘算法中可以看出,做一次N位Montgomery模乘运算需要N+1个时钟周期。在开始的N个时钟周期中,每个时钟周期都需要做两次N位的加法和一次右移操作;在最后一个时钟周期,需要做N位的减法和N位的比较判断。可见,Montgomery乘法器每次运算的操作数都是固定长度的,对于N位的Montgomery乘法器,它只能支持N位的RSA加密运算;同时乘法器每个周期需要处理两次N位的加法,数据通路的延迟非常大。
通过对Montgomery原始算法的分析研究,Montgomery乘法器操作数长度固定,不能任意扩展操作数长度;乘法器的数据通路延迟达到了2级N位加法器的延迟,极大地限制了系统时钟频率;同时乘法运算仍然非常消耗时钟周期数。Tenca-Todorov-提出了一种更为有效的Montgomery模乘算法,首先,它采用了基于字的运算,使得Montgomery模乘运算能扩展到支持任意位长的乘法;其次它采用了carry-save结构的加法器,使得关键路径延迟大大降低;最后采用了高基算法,大大节省了做一次加密的时钟周期数目。Tenca-Todorov-
Figure BDA0000034658990000034
的改进算法,具体可参见下面的算法2。
算法2:Tenca-Todorov-
Figure BDA0000034658990000041
的改进算法
Input:N、X、Y、M、r(r=2N)
Output:S=MM(X,Y)=XYr-1 mod M
1.S=0、x-1=0
2.For j=0 to N-1 Step k
3.qYj=Booth(xj+k-1…j-1)
4.(Ca,S(0))=S(0)+(qYj×Y)(0)
5.qMj=S(0) k-1…0×(2k-M(0)-1 k-1…0)mod 2k
6.(Cb,S(0))=S(0)+(qMj×M)(0)
7.For i=1 to NW-1
8.(Ca,S(i))=Ca+S(i)+(qYj×Y)(i)
9.(Cb,S(i))=Cb+S(i)+(qMj×M)(i)
10.S(i-1)=(S(i) k-1..0,S(i-1) BPW-1….k)
End For
11.Ca=Ca or Cb
12.S(NW-1)=sign ext(Ca,S(NW-1) BPW-1…k)
End For
13.If S>=M Then S=S-M
如算法2所示,k表示基,每次循环读入乘数X的k位,通过Booth编码得到qY,被乘数Y和模M按字读取(Y(i)表示Y的第i个字,如算法2),故该算法非常容易组织成流水线的结构。图1给出了Tenca-Todorov-提出的基为8的可扩展Montgomery乘法器结构。它包括了n个MM Cell运算单元,每个MM Cell运算单元做两次一个字长的加法(分别加Y(i)和M(i)),加法器采用carry-save的结构,运算结果传给下一级MM Cell运算单元。为了使数据通路能支持更高位数的模乘运算,可以通过加入2个N位的FIFO来实现,分别存储SS’和SC’。在第一个周期,S初始化为0,在模乘运算过程中如果不需要暂存中间结果,则将输出数据旁路给输入,如果需要暂存数据,则将输出数据输入到FIFO中。
如图1和图2所示,Tenca-Todorov-
Figure BDA0000034658990000051
提出的基为8,是按字运算的Montgomery乘法器,并不能应用于各种长度的模乘运算和RSA加密。
具体地,在图1中,包括了N个MM Cell运算单元,每个MM Cell运算单元做两次一个字长的加法(分别加Y(i)和M(i)),加法器采用carry-save的结构,运算结果传给下一级MM Cell运算单元。为了使数据通路能支持更高位数的模乘运算,可以通过加入2个N位的FIFO来实现,分别存储SS’和SC’。在第一个周期,S初始化为0,在模乘运算过程中如果不需要暂存中间结果,则将输出数据旁路给输入,如果需要暂存数据,则将输出数据输入到FIFO中。在图1中,包含了2个N位的FIFO,如果N的数值非常大则FIFO会占用很大的面积。从算法2中可以发现,FIFO的作用是保存中间运算结果SS’和SC’的,所以可以通过预先计算SS’和SC’的和来压缩输入FIFO的数据。
在图2中,以w比特作为一个字长为例,它包含了2个w位的4-to-2加法器,一个普通加法器,3个6选1选择器,两个解码器及不少于8个w位的寄存器。qY解码器和qM解码器分别生成系数qY和qM。对于基为8的设计来说,做一次Montgomery模乘需要的时钟数为:
在公式(4)中,NS表示图1中的流水线级数,NW表示Y、M所包含的字的个数,N是所有操作数的长度。
Tenca-Todorov-
Figure BDA0000034658990000061
的改进型Montgomery乘法器采用的基为8,并支持密钥长度可扩展,同时采用按字读取操作数和carry-save加法器,提高了整体的系统性能。可是,Tenca-Todorov-
Figure BDA0000034658990000062
的设计也存在很多不足的方面。首先,采用的基不够合理;其次,MM Cell运算单元的结构没有达到最优化,从图2中可以发现,关键路径(图2中用较长的粗黑线标识)仍然很长,并且硬件开销比较大;最后,在FIFO设计上,为了存储临时数据SS’和SC’,需要采用2个存储单元(如图1),增加了存储器的开销。
综上所述,在实现本发明的过程中,发明人发现,现有技术中至少存在平均性能低、时钟频率低、硬件开销大与实用性差等缺陷。
发明内容
本发明的目的在于,针对上述问题,提出基为16的高速Montgomery模乘法器VLSI,以实现平均性能高、时钟频率高、硬件开销小与实用性好的优点。
为实现上述目的,本发明采用的技术方案是:基为16的高速Montgomery模乘法器VLSI,包括N个MM Cell运算单元、FIFO存储单元与2选1的数据选择单元,其中:在所述N个MM Cell运算单元中,每个MM Cell运算单元的乘数输入端均与乘数X(i)连接,第一MM Cell运算单元的控制信号输入端与控制信号连接、被乘数输入端与被乘数Y(i)连接、模数输入端与模数M(i)连接,N个MM Cell运算单元依次串接;第N MM Cell运算单元的输出端,依次经FIFO存储单元与2选1的数据选择单元后,反馈输入至第一MMCell运算单元;所述2选1的数据选择单元的控制信号输入端,与N个MMCell运算单元的控制信号连接;N与i均为整数,X、Y与M都是位长为N的整数。
进一步地,所述FIFO存储单元包括W位的加法器、2选1的选择器、1位的进位寄存器与N位的FIFO存储模块,其中:所述W位的加法器的第一输入端及第二输入端,分别与2选1的选择器的第一输入端及第二输入端连接;第一输出端与N位的FIFO存储模块的输入端连接,第二输出端经1位的进位寄存器、与W位的加法器的第三输入端连接;所述N位的FIFO存储模块的输出端,与2选1的选择器的第三输入端连接;2选1的选择器的第四输入端置0。
进一步地,在所述N个MM Cell运算单元中,每个MM Cell运算单元包括四个6选1数据选择器、两个4-to-2加法器、两个解码器与八个寄存器,其中:一个解码器、两个6选1数据选择器、一个4-to-2加法器与一个寄存器顺序设置。
进一步地,所述两个4-to-2加法器均为W位的4-to-2加法器,两个W位的4-to-2加法器设置在寄存器的两边,用以平衡路径延迟。
本发明各实施例的基为16的高速Montgomery模乘法器VLSI,由于包括N个MM Cell运算单元、FIFO存储单元与2选1的数据选择单元,可以在数据需要输入到FIFO存储单元的时候,先将输入数据相加,然后输入到FIFO存储单元中;若不需要暂存数据,则将数据直接旁路给输出。相比现有技术,有利于节省存储开销;从而可以克服现有技术中平均性能低、时钟频率低、硬件开销大与实用性差的缺陷,以实现平均性能高、时钟频率高、硬件开销小与实用性好的优点。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为现有技术中Tenca-Todorov-
Figure BDA0000034658990000081
提出的基为8的可扩展Montgomery乘法器的结构示意图;
图2为现有技术中Tenca-Todorov-
Figure BDA0000034658990000082
提出的基为8的可扩展Montgomery乘法器中MM Cell运算单元的结构示意图;
图3为根据本发明基为16的高速Montgomery模乘法器VLSI中FIFO模块的结构示意图;
图4为根据本发明基为16的高速Montgomery模乘法器VLSI中MM Cell运算单元的结构示意图;
图5为根据本发明基为16的高速Montgomery模乘法器VLSI中RSA协处理器的结构示意图;
图6a为根据本发明基为16的高速Montgomery模乘法器VLSI的测试芯片的外部结构示意图;
图6b为根据本发明基为16的高速Montgomery模乘法器VLSI的测试芯片的参数指标示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
根据本发明实施例,提供了基为16的高速Montgomery模乘法器VLSI。如图3-图6b所示,本实施例包括N个MM Cell运算单元、FIFO存储单元与2选1的数据选择单元,其中:在N个MM Cell运算单元中,每个MM Cell运算单元的乘数输入端均与乘数X(i)连接,第一MM Cell运算单元的控制信号输入端与控制信号连接、被乘数输入端与被乘数Y(i)连接、模数输入端与模数M(i)连接,N个MM Cell运算单元依次串接;第N MM Cell运算单元的输出端,依次经FIFO存储单元与2选1的数据选择单元后,反馈输入至第一MM Cell运算单元;2选1的数据选择单元的控制信号输入端,与N个MM Cell运算单元的控制信号连接;N与i均为整数,X、Y与M都是位长为N的整数。
进一步地,在上述实施例中,FIFO存储单元包括W位的加法器、2选1的选择器、1位的进位寄存器与N位的FIFO存储模块,其中:W位的加法器的第一输入端及第二输入端,分别与2选1的选择器的第一输入端及第二输入端连接;第一输出端与N位的FIFO存储模块的输入端连接,第二输出端经1位的进位寄存器、与W位的加法器的第三输入端连接;N位的FIFO存储模块的输出端,与2选1的选择器的第三输入端连接;2选1的选择器的第四输入端置0。
具体地,如图3所示,FIFO存储单元包含一个W位的加法器、一个2选1的选择器、一个1位的进位寄存器和一个N位的FIFO存储模块,在数据需要输入到FIFO存储模块的时候,先将输入数据相加,然后输入到FIFO存储模块中;若不需要暂存数据,则将数据直接旁路给输出。与图1所示的现有技术相比,这样可以节省近一半的存储开销。
进一步地,在上述实施例中,在N个MM Cell运算单元中,如图4所示,每个MM Cell运算单元包括四个6选1数据选择器、两个4-to-2加法器、两个解码器与八个寄存器,其中:一个解码器、两个6选1数据选择器、一个4-to-2加法器与一个寄存器顺序设置。
这里,与图2所示的现有技术不同的是,两个4-to-2加法器均为W位的4-to-2加法器,两个W位的4-to-2加法器设置在寄存器的两边,用以平衡路径延迟。对于基为16的高速Montgomery模乘法器VLSI来说,乘数X每次扫描4位,经Booth编码后得到5位的输入数据,被乘数Y和模M每次输入一个字。乘数X的Booth编码如公式(5)所示:
X(i)=(xi+3,xi+2,xi+1,xi,xi-1)        (5)
在公式(5)中,xi-1是前一次扫描的数据最高位。乘数X(i)通过qY解码器得到qY的值,其值等于公式(6):
qY=-8xi+3+4xi+2+2xi+1+xi+xi-1          (6)
可以发现,qY在[-8,8]范围内,为了方便计算S(0)+(qYj×Y)(0)(算法2中第4步),可以将其分解为两个2的幂级数来实现,如图4中Y(i) P和Y(i) N所示。举例来说,假如qY等于3,可以将其分解为2和1,或者4和-1,这样3Y就可以通过2Y+Y或者4Y-Y来实现,而2Y、4Y不需要通过做乘法得到,可以由Y的移位来得到。对于4-to-2加法器来说,其输入是两个carry-save形式的操作数,其输出是一个carry-save形式的加法结果,所以可以将2Y、Y或者4Y、-Y直接输入到4-to-2加法器,而不需要去真正做一次加法或者减法。这样,可以通过对qY建立一张查找表来简化计算。qY查找表如表1所示。
表1:q Y 解码表
Figure BDA0000034658990000111
在表1中,qY是Booth编码结果(参见公式3),qY1是数据选择信号,它决定Y(i) p的值(如图4所示),Y(i) p可以等于[0,Y,2Y,4Y,8Y,-Y];Y(i) n由qY2决定,它可以等于[0,-Y,-2Y,-4Y,-8Y,Y]。cin用来处理数据取补码时的最低位,若数据是正数,则cin等于0,输出数据不变;若数据是负数,则cin等于1,同时将数据取反输出。
对于qM来说,它取决于S和M的最低4位的值,如算法2中所示:
qM=S(0) k-1…0×(2k-M(0)-1 k-1…0)mod 2k         (7)
在基为16的高速Montgomery模乘法器VLSI中,k等于4,qM的值在[0,15]。经分析,[0,15]中的数据11和13不能拆分为两个2的幂级数之和,这样就不能采用4-to-2的加法器来计算了,而需要另外再加上一级加法器来计算,这样会导致关键路径延迟大大增加,所以这里需要对qM做相应的处理以简化硬件设计。如算法2中第6步所示,系数qM的目的是确保S的低4位的值变为0,使得算法第10步能进行移位。经过研究分析发现,当qM在[-8,+8]范围内时,同样也能使得S的低4位的值变为0。系数qM([0,15])转化为系数qM([-8,8])如表2所示。qM’类似于qY,都可以通过表1用相应的数据选择器实现,如图4中所示。
表2:q M [0,15]到q M ’[-8,+8]转换表
Figure BDA0000034658990000121
对于基为16的高速Montgomery模乘法器VLSI来说,它完成一次模乘运算所需要的时钟周期数目为:
在下面的表3中,将现有技术中Tenca-Todorov-
Figure BDA0000034658990000123
提出的基为8的可扩展Montgomery乘法器同本实施例的基为16的高速Montgomery模乘法器VLSI进行比较,可以发现,在各种条件下,本实施例的基为16的高速Montgomery模乘法器VLSI在平均性能上可以比Tenca-Todorov-
Figure BDA0000034658990000124
提出的基为8的可扩展Montgomery乘法器提高近26%;同时,通过调整数据通路结构,使得路径延迟得到极大地优化,并且相比图2所示的Tenca-Todorov-提出的基为8的可扩展Montgomery乘法器中MM Cell运算单元,可以省去很多的冗余逻辑,有利于节省硬件开销。
表3:基为16的高速Montgomery模乘法器VLSI和基为8的可扩展Montgomery 乘法器在不同的流水线级数(NS)和字长(NW)下的性能比较
Figure BDA0000034658990000126
为了测试本实施例的基为16的高速Montgomery模乘法器VLSI,可以采用如图5所示的2048bit的RSA协处理器芯片。在图5中,该RSA协处理器芯片包含一个Montgomery模乘运算部件(如图5中的MM乘法器)、一个32bit的控制寄存器、一个32bit的状态寄存器与4个2048bits的操作数存储器器,该RSA协处理器芯片的接口可以采用AMBA总线AHB接口。
在MM运算单元中,采用32级流水线,每字32bit。这样,NS=32,NW=2048/32=64,通过公式(8)可以发现,该MM运算单元不需要采用额外的FIFO存储单元来暂存数据。
本实施例的验证系统,可以采用基于ARM7的SOC验证平台来实现。在FPGA验证过程中,将本实施例作为一个IP模块嵌入到SOC平台中,采用的FPGA器件是Altera的Stratix系列器件(EP1S80956C6);芯片级验证方案采用类似FPGA的验证方法,将SOC平台用FPGA来实现,同时引出协处理器接口,以实现验证平台和待验证芯片的连接。
RSA协处理器芯片,可以采用华虹NEC 0.25μm CMOS标准单元库进行流片,采用Synopsys的EDA工具进行物理设计;该RSA协处理器芯片的外部结构和参数指标可以参见图6。在下面的表4中,列出了近年来国际上的同类研究与本实施例的比较。
表4:近年来国际上同类研究与本实施例的比较
Figure BDA0000034658990000131
在表4中,文献[4]是在32bit ARM处理器上的结果,文献[8]是台湾清华大学2004年的研究成果,采用基为2的可扩展设计,文献[9]是美国HarveyMudd学院和Intel电路研究实验室2005年的研究成果。
上述实施例的基为16的高速Montgomery模乘法器VLSI,是针对Tenca-Todorov-
Figure BDA0000034658990000141
提出的基为8的可扩展Montgomery乘法器提出的改进方案。相比Tenca-Todorov-
Figure BDA0000034658990000142
提出的基为8的可扩展Montgomery乘法器,在高性能上,一方面,通过采用基为16的高速Montgomery模乘法器VLSI,在没有增加硬件开销的基础上,达到了近26%的性能提升;另一方面,在MM Cell运算单元上,上述实施例采用更为优化的结构,使得关键路径延迟大大降低;在低成本设计上,上述实施例提出的FIFO存储单元的结构,可以节省近一半的存储器开销,同时还在MM Cell运算单元中降低了硬件冗余度。
另外,还通过RSA协处理器芯片,对上述实施例的基为16的高速Montgomery模乘法器VLSI进行验证,综合各个方面的技术指标并与国际上同类研究成果做比较,上述实施例的基为16的高速Montgomery模乘法器VLSI所达到的性能是领先的。
综上所述,本发明各实施例的基为16的高速Montgomery模乘法器VLSI,由于包括N个MM Cell运算单元、FIFO存储单元与2选1的数据选择单元,可以在数据需要输入到FIFO存储单元的时候,先将输入数据相加,然后输入到FIFO存储单元中;若不需要暂存数据,则将数据直接旁路给输出。相比现有技术,有利于节省存储开销;从而可以克服现有技术中平均性能低、时钟频率低、硬件开销大与实用性差的缺陷,以实现平均性能高、时钟频率高、硬件开销小与实用性好的优点。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.基为16的高速Montgomery模乘法器VLSI,其特征在于,包括N个MM Cell运算单元、FIFO存储单元与2选1的数据选择单元,其中:
在所述N个MM Cell运算单元中,每个MM Cell运算单元的乘数输入端均与乘数X(i)连接,第一MM Cell运算单元的控制信号输入端与控制信号连接、被乘数输入端与被乘数Y(i)连接、模数输入端与模数M(i)连接,N个MM Cell运算单元依次串接;第N MM Cell运算单元的输出端,依次经FIFO存储单元与2选1的数据选择单元后,反馈输入至第一MM Cell运算单元;
所述2选1的数据选择单元的控制信号输入端,与N个MM Cell运算单元的控制信号连接;
N与i均为整数,X、Y与M都是位长为N的整数。
2.根据权利要求1所述的基为16的高速Montgomery模乘法器VLSI,其特征在于,所述FIFO存储单元包括W位的加法器、2选1的选择器、1位的进位寄存器与N位的FIFO存储模块,其中:
所述W位的加法器的第一输入端及第二输入端,分别与2选1的选择器的第一输入端及第二输入端连接;第一输出端与N位的FIFO存储模块的输入端连接,第二输出端经1位的进位寄存器、与W位的加法器的第三输入端连接;
所述N位的FIFO存储模块的输出端,与2选1的选择器的第三输入端连接;2选1的选择器的第四输入端置0。
3.根据权利要求1或2所述的基为16的高速Montgomery模乘法器VLSI,其特征在于,在所述N个MM Cell运算单元中,每个MM Cell运算单元包括四个6选1数据选择器、两个4-to-2加法器、两个解码器与八个寄存器,其中:一个解码器、两个6选1数据选择器、一个4-to-2加法器与一个寄存器顺序设置。
4.根据权利要求3所述的基为16的高速Montgomery模乘法器VLSI,其特征在于,所述两个4-to-2加法器均为W位的4-to-2加法器,两个W位的4-to-2加法器设置在寄存器的两边,用以平衡路径延迟。
CN2010105634537A 2010-11-27 2010-11-27 基为16的高速Montgomery模乘法器VLSI Pending CN101986261A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105634537A CN101986261A (zh) 2010-11-27 2010-11-27 基为16的高速Montgomery模乘法器VLSI

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105634537A CN101986261A (zh) 2010-11-27 2010-11-27 基为16的高速Montgomery模乘法器VLSI

Publications (1)

Publication Number Publication Date
CN101986261A true CN101986261A (zh) 2011-03-16

Family

ID=43710610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105634537A Pending CN101986261A (zh) 2010-11-27 2010-11-27 基为16的高速Montgomery模乘法器VLSI

Country Status (1)

Country Link
CN (1) CN101986261A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102207847A (zh) * 2011-05-06 2011-10-05 广州杰赛科技股份有限公司 基于蒙哥马利模乘运算的数据加解密处理方法及装置
CN109117114A (zh) * 2018-08-16 2019-01-01 电子科技大学 一种基于查找表的低复杂度近似乘法器
CN109271137A (zh) * 2018-09-11 2019-01-25 网御安全技术(深圳)有限公司 一种基于公钥加密算法的模乘装置及协处理器
CN109284085A (zh) * 2018-09-25 2019-01-29 国网湖南省电力有限公司 一种基于fpga的高速模乘和模幂运算方法及模型

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470598A (zh) * 2007-12-28 2009-07-01 航天信息股份有限公司 提高大整数Montgomery模乘运算速度的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470598A (zh) * 2007-12-28 2009-07-01 航天信息股份有限公司 提高大整数Montgomery模乘运算速度的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
范益波等: "基为16的高速Montgomery模乘法器VLSI设计", 《通信学报》, vol. 27, no. 4, 30 April 2006 (2006-04-30), pages 107 - 113 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102207847A (zh) * 2011-05-06 2011-10-05 广州杰赛科技股份有限公司 基于蒙哥马利模乘运算的数据加解密处理方法及装置
CN102207847B (zh) * 2011-05-06 2013-12-04 广州杰赛科技股份有限公司 基于蒙哥马利模乘运算的数据加解密处理方法及装置
CN109117114A (zh) * 2018-08-16 2019-01-01 电子科技大学 一种基于查找表的低复杂度近似乘法器
CN109271137A (zh) * 2018-09-11 2019-01-25 网御安全技术(深圳)有限公司 一种基于公钥加密算法的模乘装置及协处理器
CN109284085A (zh) * 2018-09-25 2019-01-29 国网湖南省电力有限公司 一种基于fpga的高速模乘和模幂运算方法及模型
CN109284085B (zh) * 2018-09-25 2023-03-31 国网湖南省电力有限公司 一种基于fpga的高速模乘和模幂运算方法及装置

Similar Documents

Publication Publication Date Title
CN100552620C (zh) 基于二次Booth编码的大数乘法器
CN100435090C (zh) 可扩展高基蒙哥马利模乘算法及其电路结构
CN100470464C (zh) 基于改进的蒙哥马利算法的模乘器
CN106951211B (zh) 一种可重构定浮点通用乘法器
CN103761068A (zh) 优化的蒙哥马利模乘方法、模平方方法和模乘硬件
CN101986261A (zh) 基为16的高速Montgomery模乘法器VLSI
Lin et al. Scalable montgomery modular multiplication architecture with low-latency and low-memory bandwidth requirement
Pan et al. Efficient digit‐serial modular multiplication algorithm on FPGA
Bosmans et al. A tiny coprocessor for elliptic curve cryptography over the 256-bit NIST prime field
Patel et al. Novel power-delay-area-efficient approach to generic modular addition
CN101295237A (zh) 求商和余数的高速除法器
Zeghid et al. Speed/area-efficient ECC processor implementation over GF (2 m) on FPGA via novel algorithm-architecture co-design
Haritha et al. Design of an enhanced array based approximate arithmetic computing model for multipliers and squarers
Namin et al. A Fully Serial-In Parallel-Out Digit-Level Finite Field Multiplier in $\mathbb {F} _ {2^{m}} $ Using Redundant Representation
CN102646033B (zh) 提供了加密和签名功能的rsa算法的实现方法和装置
Mahapatra et al. RSA cryptosystem with modified Montgomery modular multiplier
CN115658005A (zh) 一种基于冗余的高精度低延时大整数除法加速装置
Thampi et al. Montgomery multiplier for faster cryptosystems
Wu et al. Efficient High-Radix GF (p) Montgomery Modular Multiplication Via Deep Use Of Multipliers
Timarchi et al. Area-time-power efficient maximally redundant signed-digit modulo 2 n− 1 adder and multiplier
Murugeswari et al. An area efficient and low power multiplier using modified carry save adder for parallel multipliers
CN106775575B (zh) 基于二次剩余的低成本rfid认证协议的乘法器
Praveena et al. Bus encoded LUT multiplier for portable biomedical therapeutic devices
Devika et al. Efficient hardware prototype of ECDSA modules for blockchain applications
PRIYA T A Review and Analysis on Decoder Based Approximate Multiplier (DeBAM)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110316