CN103761068A - 优化的蒙哥马利模乘方法、模平方方法和模乘硬件 - Google Patents
优化的蒙哥马利模乘方法、模平方方法和模乘硬件 Download PDFInfo
- Publication number
- CN103761068A CN103761068A CN201410037782.6A CN201410037782A CN103761068A CN 103761068 A CN103761068 A CN 103761068A CN 201410037782 A CN201410037782 A CN 201410037782A CN 103761068 A CN103761068 A CN 103761068A
- Authority
- CN
- China
- Prior art keywords
- word
- assigned
- bit
- low
- result
- 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
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明公开了一种优化的蒙哥马利模乘方法、模平方方法和模乘硬件,在原始FIOS(Finely integrated operand scanning)算法基础上进行了优化,模乘硬件主要包括3个单端口SRAM和一个双端口SRAM,一个32位乘法器,一个34位加法器,一个4-2压缩器,一个64位寄存器以及6个32位寄存器。本发明采用两级并行流水线的高基模乘器,第一级32位乘法器完成AB操作,第二级加法器完成T+AB+C运算,实现32-2048位的模乘运算,不仅减少了芯片的面积,也提高了模乘运算性能。
Description
技术领域
本发明涉及公钥密码技术,具体涉及一种优化的蒙哥马利模乘方法、模平方方法和模乘硬件。
背景技术
随着信息技术的发展与应用,网上交易如网上银行、电子商务和电子政务也变得越来越普遍,其安全问题也越来越受到人们的重视。为了提高网上交易的安全性,传统的分组密码算法逐渐被公钥密码算法替代。公钥密码算法的优点是安全性高,缺点是加密速度比分组密码慢很多,所以人们一直在研究如何提升公钥密码算法的运算速度。目前,公钥密码算法主要有两种,一种是RSA,另外一种就是椭圆曲线密码ECC(Elliptic Curve Cryptography)。上述两种公钥密码算法都需要使用模乘计算(A*B mod N)。
实现模乘算法的方法有很多种,其中蒙哥马利算法是使用最广泛的方法。在1996年,Koc总结了蒙哥马利算法的五种实现方法,分别为SOS(Separatedoperand scanning),CIOS(Coarsely integrated operand scanning),FIOS(Finelyintegrated operand scanning),FIPS(Finely integrated product scanning),CIHS(Coarsely integrated hybrid scanning)。其中FIOS易于硬件实现而得到广泛应用。
原始FIOS算法描述
目前,大多数的模乘器都是基于蒙哥马利算法及其变形算法设计的,没有很好的考虑性能与面积的平衡,要么性能很好,但是面积很大,要么相反。
发明内容
基于上述问题,本发明提供一种优化的蒙哥马利模乘方法、模平方方法和模乘硬件,在减少面积的同时又提高了模乘的性能,。
为实现上述目的,本发明的技术解决方案如下:
一种优化的蒙哥马利模乘方法,其特点在于,乘数A、乘数B和模数N都是n位的二进制数,w为每次处理的字长,s为模数N的字长个数,n0为w位的常数,中间变量m、中间变量S均为w位的二进制数,中间变量C为(w+1)位的二进制数,最终结果T为n位的二进制数,i、j为循环变量,运算前,标量C、S、T均赋值0,该方法包括以下步骤:
步骤1、令i为0开始外循环;
步骤2、将A的第0个字与B的第0个字相乘,乘积结果再与T的第0个字相加,将相加结果的低w位赋给S,高(w+1)位赋给C;
步骤3、将S与n0相乘后,取低w位赋给m;
步骤4、将m与N的第0个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加后,低w位赋给S,高(w+1)位赋给C;
步骤5、令j为1开始内循环;
步骤6、将m与N的第j个字相乘,乘积结果与C的第j个字相加后,再与T的第j个字相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤7、将A的第j个字与B的第j个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加,相加结果的低w位赋给S,高(w+1)位赋给C,并将S赋给T的第(j-1)个字,循环变量j加1,重复内循环直至j等于(s-1),退出内循环;
步骤8、将T的第s个字与C进行相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤9、将s赋给T的第(s-1)个字,将C的低w位赋给T的第s个字,循环变量i加1,重复内循环直至i等于(s-1),退出外循环;
步骤10、如果T>N,则将T减N之后再赋值给T。
一种优化的蒙哥马利模平方方法,其特点在于,乘数A、乘数B和模数N都是n位的二进制数,w为每次处理的字长,s为模数N的字长个数,n0为w位的常数,中间变量m、中间变量S为w位的二进制数,中间变量C为(w+1)位的二进制数,最终结果T为n位的二进制数,i、j为循环变量,运算前,标量C、S、T均赋值0,该方法包括如下步骤:
步骤1、令i为0开始外循环;
步骤2、将A的第0个字与B的第0个字相乘,乘积结果再与T的第0个字相加,将相加结果的低w位赋给S,高(w+1)位赋给C;
步骤3、将S与n0相乘后,取低w位赋给m;
步骤4、将m与N的第0个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加后,低w位赋给S,高(w+1)位赋给C;
步骤5、令j为1开始内循环;
步骤6、将m与N的第j个字相乘,乘积结果与C的第j个字相加,再与T的第j个字相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤7、如果i等于0或者i等于j,则将A的第j个字与B的第j个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加,相加结果的低w位赋给S,高(w+1)位赋给C;
如果i小于j,则将A的第j个字与B的第j个字相乘,乘积结果的2倍再与(C,S)组成的(2w+1)位二进制数相加,相加结果的低w位赋给S,高(w+1)位赋给C,接下来将S赋给T的第(j-1)个字;
循环变量j加1,重复内循环直至j等于(s-1),退出内循环;
步骤8、将T的第s个字与C进行相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤9、将s赋给T的第(s-1)个字,将C的低w位赋给T的第s个字,循环变量i加1,重复内循环直至i等于(s-1),退出外循环;
步骤10、如果T>N,则将T减N之后再赋值给T。
本发明另一方面的目的在于一种优化的蒙哥马利模乘硬件,包括第一单端口SRAM、第二单端口SRAM、第三单端口SRAM、双端口SRAM、第一至第五32位寄存器、3位寄存器、32位乘法器、34位加法器、4-2压缩器和64位寄存器;
所述的第一单端口SRAM用来存放乘数A,所述的第二单端口SRAM用来存放乘数B,所述的第三单端口SRAM用来存放模数N,所述的双端口SRAM用来存放结果T;
所述的第一32位寄存器、第二32位寄存器用来存储需要运算的乘数和被乘数,该第一32寄存器的数据源在控制电路的控制下来分别来自第一单端口SRAM、第三32位寄存器和是第四32位寄存器,该第二32寄存器的数据源在控制电路的控制分别来自第二单端口SRAM和第三单端口SRAM;
所述的32位乘法器用来对所述的第一32位寄存器和第二32位寄存器的输入进行乘法处理,并将处理结果存储在64位寄存器。所述的第三32位寄存器存储中间结果m,在控制电路的控制下所述的64位寄存器的低32位数据存入该第三32位寄存器中;
所述的4-2压缩器用来处理在控制电路的控制下选择的4个输入数据,并将处理得到的两个34位数据结果经所述的34位加法器进行加法处理,将低32位存储在所述的第五32位寄存器中、高3位存储在所述的3位寄存器中,并在控制电路下将该第五32位寄存器中的数据分别写入所述的双端口SRAM和所述的第四32位寄存器。
所述的4个输入数据是:所述的64位寄存器的低32位、上一个时钟所述的64位寄存器的高32位、上一个时钟写入所述的双端口SRAM的结果T和所述的3位寄存器,或者是所述的64位寄存器的低32位、上一个时钟所述的64位寄存器的高32位、所述的第四32位寄存器和3位寄存器。
所述的4-2压缩器的具体操作步骤如下,其操作数都是32位二进制数:
步骤1、
步骤2、
步骤3、C=(TEMP&Co)|(TEMP)|(I0&I1|I2&I3);
步骤4、Co=(I0|I1)&(I2|I3);
其中I0,I1,I2,I3分别是所述的4-2压缩器的4个输入数据,SUM和C是所述的4-2压缩器的两个输出数据。
与现有技术相比本发明的技术效果是
(1)采用了两级并行流水线架构(第一级32位乘法器完成A*B操作,第二级加法器完成T+A*B+C运算),在减少了面积的同时也提高了模乘的运算性能。
(2)适合在智能卡,USBKey等嵌入式设备上应用,可以降低这些嵌入式设备的成本,并且提高了交易的速度,使得这些嵌入式设备得到大规模应用。
附图说明
图1为本发明FIOS模乘方法的流程图;
图2为本发明FIOS模平方方法的流程图;
图3为本发明模乘硬件的基本结构图;
图4为本发明4-2压缩器的基本结构图;
具体实施方式
以下结合附图说明对本发明的实施例作进一步详细描述,但本实施例并不用于限制本发明,凡是采用本发明的相似结构、方法及其相似变化,均应列入本发明的保护范围。
如图1所示,本发明公开了一种优化的FIOS模乘方法包含以下步骤:
步骤1、令i为0开始外循环;
步骤2、将A的第0个字与B的第0个字相乘,乘积结果再与T的第0个字相加,将相加结果的低w为赋给S,高(w+1)位赋给C;
步骤3、将S与n0相乘后,取低w位赋给m;
步骤4、将m与N的第0个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加后,低w位赋给S,高(w+1)位赋给C;
步骤5、令j为1开始内循环;
步骤6、将m与N的第j个字相乘,乘积结果与C的第j个字相加后,再与T的第j个字相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤7、将A的第j个字与B的第j个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加,相加结果的低w位赋给S,高(w+1)位赋给C,并将S赋给T的第(j-1)个字,循环变量j加1,重复内循环直至j等于(s-1),退出内循环;
步骤8、将T的第s个字与C进行相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤9、将s赋给T的第(s-1)个字,将C的低w位赋给T的第s个字,循环变量i加1,重复内循环直至i等于(s-1),退出外循环。
步骤10、如果T>N,则将T减N之后再赋值给T。
如图2所示,本发明公开了一种优化的FIOS模平方方法包含以下步骤:
步骤1、令i为0开始外循环;
步骤2、将A的第0个字与B的第0个字相乘,乘积结果再与T的第0个字相加,将相加结果的低w为赋给S,高(w+1)位赋给C;
步骤3、将S与n0相乘后,取低w位赋给m;
步骤4、将m与N的第0个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加后,低w位赋给S,高(w+1)位赋给C;
步骤5、令j为1开始内循环;
步骤6、将m与N的第j个字相乘,乘积结果与C的第j个字相加后,再与T的第j个字相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤7、如果i等于0或者i等于j则将A的第j个字与B的第j个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加,相加结果的低w位赋给S,高(w+1)位赋给C,如果i小于j则并将A的第j个字与B的第j个字相乘,乘积结果的2倍再与(C,S)组成的(2w+1)位二进制数相加,相加结果的低w位赋给S,高(w+1)位赋给C,接下来将S赋给T的第(j-1)个字,循环变量j加1,重复内循环直至j等于(s-1),退出内循环;
步骤8、将T的第s个字与C进行相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤9、将s赋给T的第(s-1)个字,将C的低w位赋给T的第s个字,循环变量i加1,重复内循环直至i等于(s-1),退出外循环。
步骤10、如果T>N,则将T减N之后再赋值给T。
如图3所示,一种优化的蒙哥马利模乘硬件,包括第一单端口SRAM1、第二单端口SRAM2、第三单端口SRAM3、双端口SRAM4、第一至第五32位寄存器5、6、7、8、9、,3位寄存器10、32位乘法器11、34位加法器12、4-2压缩器13和64位寄存器14;
所述的第一单端口SRAM1用来存放乘数A,所述的第二单端口SRAM2用来存放乘数B,所述的第三单端口SRAM3用来存放模数N,所述的双端口SRAM4用来存放结果T;
所述的第一32位寄存器5、第二32位寄存器6用来存储需要运算的乘数和被乘数,该第一32寄存器5的数据源在控制电路的控制下来分别来自第一单端口SRAM1、第三32位寄存器7和是第四32位寄存器8,该第二32寄存器6的数据源在控制电路的控制分别来自第二单端口SRAM2和第三单端口SRAM3;
所述的32位乘法器11用来对所述的第一32位寄存器5和第二32位寄存器6的输入进行乘法处理,并将处理结果存储在64位寄存器14。所述的第三32位寄存器7存储中间结果m,在控制电路的控制下所述的64位寄存器14的低32位数据存入该第三32位寄存器7中;
所述的4-2压缩器13用来处理在控制电路的控制下选择的4个输入数据,并将处理得到的两个34位数据结果经所述的34位加法器12进行加法处理,将低32位存储在所述的第五32位寄存器9中、高3位存储在所述的3位寄存器10中,并在控制电路下将该第五32位寄存器9中的数据分别写入所述的双端口SRAM4和所述的第四32位寄存器8;
所述的4个输入数据是:所述的64位寄存器14的低32位、上一个时钟所述的64位寄存器14的高32位、上一个时钟写入所述的双端口SRAM4的结果T和所述的3位寄存器10,或者是所述的64位寄存器14的低32位、上一个时钟所述的64位寄存器14的高32位、所述的第四32位寄存器8和3位寄存器10。
本发明公开的硬件架构采用两级并行流水线架构,第一级32位乘法器完成A*B操作,第二级加法器完成T+A*B+C运算(乘积的高32位应计入T的下一个字,所以要延迟一个周期送入加法器),其中加法器利用4-2压缩器和一个34位加法器实现。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (5)
1.一种优化的蒙哥马利模乘方法,其特征在于,乘数A、乘数B和模数N都是n位的二进制数,w为每次处理的字长,s为模数N的字长个数,n0为w位的常数,中间变量m、中间变量S均为w位的二进制数,中间变量C为(w+1)位的二进制数,最终结果T为n位的二进制数,i、j为循环变量,运算前,标量C、S、T均赋值0,该方法包括以下步骤:
步骤1、令i为0开始外循环;
步骤2、将A的第0个字与B的第0个字相乘,乘积结果再与T的第0个字相加,将相加结果的低w位赋给S,高(w+1)位赋给C;
步骤3、将S与n0相乘后,取低w位赋给m;
步骤4、将m与N的第0个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加后,低w位赋给S,高(w+1)位赋给C;
步骤5、令j为1开始内循环;
步骤6、将m与N的第j个字相乘,乘积结果与C的第j个字相加后,再与T的第j个字相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤7、将A的第j个字与B的第j个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加,相加结果的低w位赋给S,高(w+1)位赋给C,并将S赋给T的第(j-1)个字,循环变量j加1,重复内循环直至j等于(s-1),退出内循环;
步骤8、将T的第s个字与C进行相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤9、将s赋给T的第(s-1)个字,将C的低w位赋给T的第s个字,循环变量i加1,重复内循环直至i等于(s-1),退出外循环;
步骤10、如果T>N,则将T减N之后再赋值给T。
2.一种优化的蒙哥马利模平方方法,其特征在于,乘数A、乘数B和模数N都是n位的二进制数,w为每次处理的字长,s为模数N的字长个数,n0为w位的常数,中间变量m、中间变量S为w位的二进制数,中间变量C为(w+1)位的二进制数,最终结果T为n位的二进制数,i、j为循环变量,运算前,标量C、S、T均赋值0,该方法包括如下步骤:
步骤1、令i为0开始外循环;
步骤2、将A的第0个字与B的第0个字相乘,乘积结果再与T的第0个字相加,将相加结果的低w位赋给S,高(w+1)位赋给C;
步骤3、将S与n0相乘后,取低w位赋给m;
步骤4、将m与N的第0个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加后,低w位赋给S,高(w+1)位赋给C;
步骤5、令j为1开始内循环;
步骤6、将m与N的第j个字相乘,乘积结果与C的第j个字相加,再与T的第j个字相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤7、如果i等于0或者i等于j,则将A的第j个字与B的第j个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加,相加结果的低w位赋给S,高(w+1)位赋给C;
如果i小于j,则将A的第j个字与B的第j个字相乘,乘积结果的2倍再与(C,S)组成的(2w+1)位二进制数相加,相加结果的低w位赋给S,高(w+1)位赋给C,接下来将S赋给T的第(j-1)个字;
循环变量j加1,重复内循环直至j等于(s-1),退出内循环;
步骤8、将T的第s个字与C进行相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤9、将s赋给T的第(s-1)个字,将C的低w位赋给T的第s个字,循环变量i加1,重复内循环直至i等于(s-1),退出外循环;
步骤10、如果T>N,则将T减N之后再赋值给T。
3.一种优化的蒙哥马利模乘硬件,其特征在于,包括第一单端口SRAM(1)、第二单端口SRAM(2)、第三单端口SRAM(3)、双端口SRAM(4)、第一至第五32位寄存器(5、6、7、8、9)、3位寄存器(10)、32位乘法器(11)、34位加法器(12)、4-2压缩器(13)和64位寄存器(14);
所述的第一单端口SRAM(1)用来存放乘数A,所述的第二单端口SRAM(2)用来存放乘数B,所述的第三单端口SRAM(3)用来存放模数N,所述的双端口SRAM(4)用来存放结果T;
所述的第一32位寄存器(5)、第二32位寄存器(6)用来存储需要运算的乘数和被乘数,该第一32寄存器(5)的数据源在控制电路的控制下来分别来自第一单端口SRAM(1)、第三32位寄存器(7)和是第四32位寄存器(8),该第二32寄存器(6)的数据源在控制电路的控制分别来自第二单端口SRAM(2)和第三单端口SRAM(3);
所述的32位乘法器(11)用来对所述的第一32位寄存器(5)和第二32位寄存器(6)的输入进行乘法处理,并将处理结果存储在64位寄存器(14)。所述的第三32位寄存器(7)存储中间结果m,在控制电路的控制下所述的64位寄存器(14)的低32位数据存入该第三32位寄存器(7)中;
所述的4-2压缩器(13)用来处理在控制电路的控制下选择的4个输入数据,并将处理得到的两个34位数据结果经所述的34位加法器(12)进行加法处理,将低32位存储在所述的第五32位寄存器(9)中、高3位存储在所述的3位寄存器(10)中,并在控制电路下将该第五32位寄存器(9)中的数据分别写入所述的双端口SRAM(4)和所述的第四32位寄存器(8)。
4.根据权利要求3所述的优化的蒙哥马利模乘硬件,其特征在于,所述的4个输入数据是:所述的64位寄存器(14)的低32位、上一个时钟所述的64位寄存器(14)的高32位、上一个时钟写入所述的双端口SRAM(4)的结果T和所述的3位寄存器(10),或者是所述的64位寄存器(14)的低32位、上一个时钟所述的64位寄存器(14)的高32位、所述的第四32位寄存器(8)和3位寄存器(10)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410037782.6A CN103761068B (zh) | 2014-01-26 | 2014-01-26 | 优化的蒙哥马利模乘硬件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410037782.6A CN103761068B (zh) | 2014-01-26 | 2014-01-26 | 优化的蒙哥马利模乘硬件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103761068A true CN103761068A (zh) | 2014-04-30 |
CN103761068B CN103761068B (zh) | 2017-02-01 |
Family
ID=50528313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410037782.6A Expired - Fee Related CN103761068B (zh) | 2014-01-26 | 2014-01-26 | 优化的蒙哥马利模乘硬件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103761068B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104007953A (zh) * | 2014-05-30 | 2014-08-27 | 复旦大学 | 一种基于四操作数Montgomery模乘算法的模乘器电路结构 |
CN104598199A (zh) * | 2015-01-07 | 2015-05-06 | 大唐微电子技术有限公司 | 一种用于智能卡的Montgomery模乘器的数据处理方法及*** |
CN104765586A (zh) * | 2015-04-15 | 2015-07-08 | 深圳国微技术有限公司 | 一种嵌入式安全芯片及其的蒙哥马利模乘运算方法 |
CN104951279A (zh) * | 2015-05-27 | 2015-09-30 | 四川卫士通信息安全平台技术有限公司 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
WO2016165211A1 (zh) * | 2015-04-15 | 2016-10-20 | 深圳国微技术有限公司 | 一种蒙哥马利模乘装置及具有其的嵌入式安全芯片 |
CN106371803A (zh) * | 2015-07-22 | 2017-02-01 | 华邦电子股份有限公司 | 用于蒙哥马利域的计算方法和计算装置 |
TWI630545B (zh) * | 2016-03-30 | 2018-07-21 | 華邦電子股份有限公司 | 非模數乘法器、用於非模數乘法的方法及計算裝置 |
CN110365481A (zh) * | 2019-07-04 | 2019-10-22 | 上海交通大学 | 加速国密sm2算法的优化实现***及方法 |
CN112286496A (zh) * | 2020-12-25 | 2021-01-29 | 九州华兴集成电路设计(北京)有限公司 | 蒙哥马利算法的模乘器和电子设备 |
CN112486457A (zh) * | 2020-11-23 | 2021-03-12 | 杭州电子科技大学 | 一种实现改进的fios模乘算法的硬件*** |
CN117785129A (zh) * | 2024-02-23 | 2024-03-29 | 蓝象智联(杭州)科技有限公司 | 一种基于gpu的蒙哥马利模乘运算方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1530824A (zh) * | 2003-03-14 | 2004-09-22 | ���ǵ�����ʽ���� | 用于执行蒙哥马利型模乘法的装置及方法 |
CN1738238A (zh) * | 2005-09-08 | 2006-02-22 | 上海微科集成电路有限公司 | 高速可配置rsa加密算法及协处理器 |
-
2014
- 2014-01-26 CN CN201410037782.6A patent/CN103761068B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1530824A (zh) * | 2003-03-14 | 2004-09-22 | ���ǵ�����ʽ���� | 用于执行蒙哥马利型模乘法的装置及方法 |
CN1738238A (zh) * | 2005-09-08 | 2006-02-22 | 上海微科集成电路有限公司 | 高速可配置rsa加密算法及协处理器 |
Non-Patent Citations (3)
Title |
---|
MIAOQING HUANG ET AL.: "New Hardware Architectures for Montgomery Modular Multiplication Algorithm", 《IEEE TRANSACTIONS ON COMPUTERS》 * |
王红霞 等: "Montgomery模乘算法的改进及其应用", 《计算机工程与应用》 * |
蒋晓娜 等: "改进的蒙哥马利算法及其模乘法器实现", 《计算机工程》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104007953A (zh) * | 2014-05-30 | 2014-08-27 | 复旦大学 | 一种基于四操作数Montgomery模乘算法的模乘器电路结构 |
CN104598199A (zh) * | 2015-01-07 | 2015-05-06 | 大唐微电子技术有限公司 | 一种用于智能卡的Montgomery模乘器的数据处理方法及*** |
CN104765586B (zh) * | 2015-04-15 | 2018-09-28 | 深圳国微技术有限公司 | 一种嵌入式安全芯片及其的蒙哥马利模乘运算方法 |
CN104765586A (zh) * | 2015-04-15 | 2015-07-08 | 深圳国微技术有限公司 | 一种嵌入式安全芯片及其的蒙哥马利模乘运算方法 |
WO2016165211A1 (zh) * | 2015-04-15 | 2016-10-20 | 深圳国微技术有限公司 | 一种蒙哥马利模乘装置及具有其的嵌入式安全芯片 |
US10175950B2 (en) | 2015-04-15 | 2019-01-08 | Shenzhen State Micro Technology Co., Ltd. | Montgomery modular multiplication device and embedded security chip with same |
CN104951279B (zh) * | 2015-05-27 | 2018-03-20 | 四川卫士通信息安全平台技术有限公司 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
CN104951279A (zh) * | 2015-05-27 | 2015-09-30 | 四川卫士通信息安全平台技术有限公司 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
CN106371803B (zh) * | 2015-07-22 | 2018-12-25 | 华邦电子股份有限公司 | 用于蒙哥马利域的计算方法和计算装置 |
CN106371803A (zh) * | 2015-07-22 | 2017-02-01 | 华邦电子股份有限公司 | 用于蒙哥马利域的计算方法和计算装置 |
TWI630545B (zh) * | 2016-03-30 | 2018-07-21 | 華邦電子股份有限公司 | 非模數乘法器、用於非模數乘法的方法及計算裝置 |
CN110365481A (zh) * | 2019-07-04 | 2019-10-22 | 上海交通大学 | 加速国密sm2算法的优化实现***及方法 |
CN112486457A (zh) * | 2020-11-23 | 2021-03-12 | 杭州电子科技大学 | 一种实现改进的fios模乘算法的硬件*** |
CN112286496A (zh) * | 2020-12-25 | 2021-01-29 | 九州华兴集成电路设计(北京)有限公司 | 蒙哥马利算法的模乘器和电子设备 |
CN117785129A (zh) * | 2024-02-23 | 2024-03-29 | 蓝象智联(杭州)科技有限公司 | 一种基于gpu的蒙哥马利模乘运算方法 |
CN117785129B (zh) * | 2024-02-23 | 2024-05-07 | 蓝象智联(杭州)科技有限公司 | 一种基于gpu的蒙哥马利模乘运算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103761068B (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761068B (zh) | 优化的蒙哥马利模乘硬件 | |
US11416638B2 (en) | Configurable lattice cryptography processor for the quantum-secure internet of things and related techniques | |
CN100527072C (zh) | 用于执行蒙哥马利型模乘法的装置及方法 | |
CN104579656A (zh) | 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器 | |
CN102122241A (zh) | 一种适用于素域和多项式域的模乘模除器 | |
Lee et al. | Subquadratic Space-Complexity Digit-Serial Multipliers Over $ GF (2^{m}) $ Using Generalized $(a, b) $-Way Karatsuba Algorithm | |
CN108875416B (zh) | 椭圆曲线多倍点运算方法和装置 | |
Chen et al. | Scalable and systolic dual basis multiplier over GF (2m) | |
Tsmots et al. | Neural-like methods and hardware structures for real-time data encryption and decryption | |
CN101295237B (zh) | 求商和余数的高速除法器 | |
KR20230141045A (ko) | 암호 프로세서 장치 및 이를 채용하는 데이터 처리 장치 | |
Seo et al. | Optimized SIKE Round 2 on 64-bit ARM | |
CN109144472B (zh) | 一种二元扩域椭圆曲线的标量乘法及其实现电路 | |
Lee et al. | Area-Delay Efficient Digit-Serial Multiplier Based on $ k $-Partitioning Scheme Combined With TMVP Block Recombination Approach | |
CN117155572A (zh) | 一种基于gpu并行实现密码技术中大整数乘法的方法 | |
CN109284085B (zh) | 一种基于fpga的高速模乘和模幂运算方法及装置 | |
Lee et al. | Efficient $ M $-ary exponentiation over $ GF (2^{m}) $ using subquadratic KA-based three-operand Montgomery multiplier | |
CN113032797B (zh) | 在处理设备中执行加密操作的方法 | |
CN106775575B (zh) | 基于二次剩余的低成本rfid认证协议的乘法器 | |
CN101349967B (zh) | 加减法无差异并行计算的cbsa硬件加法器及设计方法 | |
Singh et al. | Report on Cryptographic Hardware Design using Vedic Mathematics | |
Parashar et al. | Fast combinational architecture for a vedic divider | |
CN107463354A (zh) | 一种面向ECC的双域并行度可变的Montgomery模乘电路 | |
Liu et al. | Multiprecision multiplication on armv8 | |
Prema et al. | Enhanced high speed modular multiplier using Karatsuba algorithm |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170201 Termination date: 20200126 |