一种蒙哥马利模乘器制造技术

技术编号:2901834 阅读:267 留言:1更新日期:2012-04-11 18:40
本实用新型专利技术公开了一种由m+3个结构相同的处理单元PE连接而成的蒙哥马利模乘器,所述处理单元包括运算电路、用于计算蒙哥马利模乘运算预计算因子并对运算电路链的最终计算结果进行后处理的预计算/后处理电路;所述运算电路的输入端与所述预计算/后处理电路的输出端相连接,运算电路的输出端与预计算/后处理电路的输入端相连接;其中m=[n/k],[n/k]表示不小于n/k的最小整数,n为模数的二进制表示位长度(简称为模数长度),k为基b的二进制表示位数,通常基b≥1。本实用新型专利技术缩短了蒙哥马利模乘运算所需的运算时间,并提高运算性能。(*该技术在2011年保护过期,可自由使用*)

【技术实现步骤摘要】
一种蒙哥马利模乘器
本技术涉及一种模乘器,更具体地说,涉及一种一维的具有多级处理单元PE(Processing Element)的可以实现蒙哥马利模乘运算的蒙哥马利模乘器。
技术介绍
随着通讯技术的发展,信息的传输量越来越大,信息的安全问题也越来越重要,尤其在商业领域,信息传输的安全性、完整性和不可抵赖性直接影响到商家的运作模式和经济利益。在信息时代,高速计算机和全球化的因特网发展,使世界不同地区的人们可以相互交换信息,信息访问的合法性显得日益重要。不断发展的各种信息加密、解密技术适应了时代的要求,良好的加密算法使信息传输更可靠、更安全,其中公钥加密算法能更好的满足用户的要求。到目前为止,RSA加密算法是被广泛应用的公钥加密算法,可用作信息加密和数字签名。RSA加密算法是由R.L.Riverst、A.Shamir和L.Adleman提出并用三个人名命名的算法。在使用该加密算法的系统中,对于每个用户而言对应着三个很大的整数:模数M、加密指数e和解密指数d,一般其二进制表示的位数为512位或1024位,位数越大所加密的信息越难破解。这三个二进制整数之间有着特殊的关系,其中模数M和加密指数e是公开的,d是保密的,由用户保存,M是模数,加密指数e和模数M是加密密钥对,解密指数d和模数M是解密密钥对。当向某用户发送信息C时,利用对应该用户的加密密钥e,对信息C加密再发向该用户,这里C为明文,E为密文,加密过程可表示为:E=CemodM;当用户接到密文信息E后,用对应该用户的解密密钥d对其解密可恢复明文信息C:C=EdmodM。可见,加密/解密过程涉及大数的模幂运算。按照指数扫描算法模幂运算可分解为多次模乘运算。大数模乘可以由蒙哥马利模乘来实现,所以蒙哥马利-->模乘是RSA加密算法的核心运算。这种运算很复杂,用软件实现速度慢,难于满足应用时的速度要求,采用硬件方法实现RSA加密运算可大大降低运算时间,提高运算性能。美国专利US6,061,706提出了一种蒙哥特马利模乘运算硬件电路,由基本处理单元连接而成,在时钟信号控制下进行迭代运算,该电路完成模数长度为n位的蒙哥马利模乘运算需要2n+11个时钟周期,虽然相对而言运算时间有所减少,但该电路完成模长为n位的蒙哥马利模乘运算需要2n+11个时钟周期,运算时间仍比较长。
技术实现思路
针对以上问题,本技术提供一种模数长度为n,基为b的蒙哥马利模乘器,以缩短蒙哥马利模乘运算所需的运算时间,并提高运算性能。本技术所要解决的问题可以通过以下技术方案来解决:算法I是一种蒙哥马利算法的变形,是所述蒙哥马利模乘器的实现基础。算法I如下:输入:基b=2k;模数M,n位的模数,在基b下的表示为操作数A,n位的操作数,在基b下的表示为操作数B,n位的操作数,在基b下的表示为M<R=2km,R为预计算因子;M’=-M-1mod2k,gcd(2k,M)=1;输出:Sm=ABR-1modM;计算步骤如下:1、SO=02、FOR i=0 to m-1 DO3、qi=(((Si+aiB)mod 2k)M’)mod 2k4、Si+1=(Si+qiM+aiB)/2k5、END FOR-->6、IF Sm≥M RETURN(Sm-M)ELSE RETURN Sm其中n为模数的二进制表示位长度(简称为模数长度),k为基b的二进制表示位数,通常基b≥1,m=[n/k],[n/k]表示不小于n/k的最小整数。一种蒙哥马利模乘器,由m+3个结构相同的处理单元PE连接而成,其特征在于:所述处理单元包括运算电路、用于计算蒙哥马利模乘运算预计算因子并对运算电路链的最终计算结果进行后处理的预计算/后处理电路;所述运算电路的输入端与所述预计算/后处理电路的输出端相连接,运算电路的输出端与预计算/后处理电路的输入端相连接;其中m=[n/k],[n/k]表示不小于n/k的最小整数,n为模数的二进制表示位长度(简称为模数长度),k为基b的二进制表示位数,通常基b≥1。总线信号M_Bus同时输入所有处理单元PE0、PE1、……、PEm+2,模数的相应数据位通过该总线输入到各处理单元中。第1个处理单元PEO的输入信号包括ai[0]、qi[0]、r[0]、s[0]、M[0]、A[0]、B[0]、C[0]、D[0],其中输入信号A[0]、B[0]、C[0]、D[0]、M[0]都被设置为0;信号r、信号s为第1个处理单元PE0的输出信号。第1个处理单元PE0的输出信号ai[1]、qi[1]、A[1]、B[1]、C[1]、D[1]、M[1]以及第3个处理单元的输出信号r[1]、s[1]作为第2个处理单元PE1的输入信号;第2个处理单元PE1的输出信号r[0]、s[0]作为第1处理单元PE0的输入信号,第2个处理单元PE1的输出信号ai[2]、qi[2]、A[2]、B[2]、C[2]、D[2]、M[2]作为第3个处理单元PE2的输入信号。第j个处理单元PEj-1的输出信号ai[j]、qi[j]、A[j]、B[j]、C[j]、D[j]、M[j]以及第j+2个处理单元PEj+1的输出信号r[j]、s[j]作为第j+1个处理单元PEj的输入信号;第j+1个处理单元PEj的输出信号r[j-1]、s[j-1]作为第j个处理单元PEj-1的输入信号,第j+1个处理单元PEj的输出信号ai[j+1]、qi[j+1]、A[j+1]、B[j+1]、C[j+1]、D[j+1]、M[j+1]作为第j+2个处理单元PEj+1的输入信号;其中j=1,2,3,……,m+1。第m+3个处理单元PEm+2的输入信号r[m+2]、s[m+2]设置为0,输出信号M[m+2]的输出端口不与其它端口连接。构成蒙哥马利模乘器的所有处理单元的预计算/后处理电路构成一个预计算/后处理电路链,所有处理单元的运算电路构成一个运算电路链;预计算/后-->处理电路链用于计算蒙哥马利模乘运算的预计算因子并对运算电路链的最终计算结果进行后处理。所述处理单元的预计算/后处理电路包括:预计算因子寄存器,用于保存预计算因子计算过程的中间值或最终的预计算因子;多路选择器,用于选择是进行预计算过程还是后处理过程;减法电路,作为预计算/后处理过程的运算单元;预计算因子寄存器的输出端与多路选择器的输入端相连接,预计算因子寄存器的输出端与运算电路相连接,多路选择器的输出端与减法电路的输入端相连接,减法电路的输出端与预计算因子寄存器的输入端相连接,运算电路的输出端与多路选择器的输入端相连接。所述处理单元运算电路包括6个寄存器、3个加法器、2个乘法器、2个多路选择器、3个对数据进行拆分的拆分器;运算电路的寄存器包括:操作数寄存器A_reg、B_reg、Q_reg、模数寄存器M_reg、输出寄存器Res_reg、结果寄存器S_reg。预计算/后处理电路的输出端与第一多路选择器的输入端相连接;第一多路选择器的输出端与操作数寄存器B_reg的输入端相连接;操作数寄存器B_reg的输出信号分别输入到预计算/后处理电路、第一乘法器、第二多路选择器;第一乘法器的输出端与第一拆分器的输入端相连接;第一拆分器将输入数据的数据位平均拆分为高位和低位,第一拆分器的高位输出信号本文档来自技高网
...

【技术保护点】
一种蒙哥马利模乘器,由m+3个结构相同的处理单元PE(Processing Element)连接而成,其特征在于:所述处理单元包括运算电路、用于计算蒙哥马利模乘运算的预计算因子并对运算电路链的最终计算结果进行后处理的预计算/后处理电路;所述运算电路的输入端与所述预计算/后处理电路的输出端相连接,运算电路的输出端与预计算/后处理电路的输入端相连接;其中m=[n/k],[n/k]表示不小于n/k的最小整数,n为模数的二进制表示位长度,简称为模数长度,k为基b的二进制表示位数,通常基b≥1。

【技术特征摘要】
1.一种蒙哥马利模乘器,由m+3个结构相同的处理单元PE(ProcessingElement)连接而成,其特征在于:所述处理单元包括运算电路、用于计算蒙哥马利模乘运算的预计算因子并对运算电路链的最终计算结果进行后处理的预计算/后处理电路;所述运算电路的输入端与所述预计算/后处理电路的输出端相连接,运算电路的输出端与预计算/后处理电路的输入端相连接;其中m=[n/k],[n/k]表示不小于n/k的最小整数,n为模数的二进制表示位长度,简称为模数长度,k为基b的二进制表示位数,通常基b≥1。2.如权利要求1所述的蒙哥马利模乘器,其特征在于:构成蒙哥马利模乘器的所有处理单元的预计算/后处理电路构成一个预计算/后处理电路链,所有处理单元的运算电路构成一个运算电路链;预计算/后处理电路链用于计算蒙哥马利模乘运算的预计算因子并对运算电路链的最终计算结果进行后处理。3.如权利要求1所述的蒙哥马利模乘器,其特征在于,所述预计算/后处理电路包括:预计算因子寄存器,用于保存预计算因子计算过程的中间值或最终的预计算因子;多路选择器,用于选择是进行预计算过程还是后处理过程;减法电路,作为预计算/后处理过程的运算单元;预计算因子寄存器的输出端与多路选择器的输入端相连接,多路选择器的输出端与减法电路的输入端相连接,减法电路的输出端与预计算因子寄存器的输入端相连接。4.如权利要求3所述的蒙哥马利模乘器,其特征在于:所述预计算因子寄存器的输出端与运算电路相连接,所述多路选择器的输入端与运算电路的输出端相连接。5.如权利要求1所述的蒙哥马利模乘器,其特征在于:所述运算电路包括6个寄存器、3个加法器、2个乘法器、2个多路选择器、3个对数据进行拆分的拆分器;运算电路的寄存器包括:操作数寄存器A_reg、B_reg、Q_reg、模数寄存器M_reg、输出寄存器Res_reg、结果寄存器S_reg;预计算/后处理电路的输出端与第一多路选择器的输入端相连接;第一多路选择器的输出端与操作数寄存器B_reg的输入端相连接;操作数寄存器B_reg的输出信号分别输入到预计算/后处理电路、第一乘法器、第二多路选择器;第一乘法器的输出端与第一拆分器的输入端相连接;第一拆分器的高位输出信号A[j+1]输入到处理单元PEj+1(其中j=1,2,……,m+1),第一拆分器的低位输出端与第一加法器的输入端相连接;处理单元PEj-1的输出信号A[j]输入到第一加法器,第一加法器的输出端与第三加法器的输入端相连接;第三...

【专利技术属性】
技术研发人员:康小刚
申请(专利权)人:深圳市中兴集成电路设计有限责任公司
类型:实用新型
国别省市:94[中国|深圳]

网友询问留言 已有1条评论
  • 来自[北京市电信互联网数据中心] 2015年01月17日 19:37
    马利,女,1954年出生,安徽滁县人,汉族,中共党员。硕士研究生,高级编辑。1976年5月加入中国共产党。
    0
1