CN103761068A - 优化的蒙哥马利模乘方法、模平方方法和模乘硬件 - Google Patents

优化的蒙哥马利模乘方法、模平方方法和模乘硬件 Download PDF

Info

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
Application number
CN201410037782.6A
Other languages
English (en)
Other versions
CN103761068B (zh
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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201410037782.6A priority Critical patent/CN103761068B/zh
Publication of CN103761068A publication Critical patent/CN103761068A/zh
Application granted granted Critical
Publication of CN103761068B publication Critical patent/CN103761068B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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算法描述
Figure BDA0000462306760000011
目前,大多数的模乘器都是基于蒙哥马利算法及其变形算法设计的,没有很好的考虑性能与面积的平衡,要么性能很好,但是面积很大,要么相反。
发明内容
基于上述问题,本发明提供一种优化的蒙哥马利模乘方法、模平方方法和模乘硬件,在减少面积的同时又提高了模乘的性能,。
为实现上述目的,本发明的技术解决方案如下:
一种优化的蒙哥马利模乘方法,其特点在于,乘数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)。
5.根据权利要求3所述的优化的蒙哥马利模乘硬件,其特征在于,操作数都是32位二进制数,所述的4-2压缩器的具体操作步骤如下:
步骤1、
Figure FDA0000462306750000031
步骤2、
Figure FDA0000462306750000032
步骤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压缩器的两个输出数据。
CN201410037782.6A 2014-01-26 2014-01-26 优化的蒙哥马利模乘硬件 Expired - Fee Related CN103761068B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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加密算法及协处理器

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
MIAOQING HUANG ET AL.: "New Hardware Architectures for Montgomery Modular Multiplication Algorithm", 《IEEE TRANSACTIONS ON COMPUTERS》 *
王红霞 等: "Montgomery模乘算法的改进及其应用", 《计算机工程与应用》 *
蒋晓娜 等: "改进的蒙哥马利算法及其模乘法器实现", 《计算机工程》 *

Cited By (16)

* Cited by examiner, † Cited by third party
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) 优化的蒙哥马利模乘硬件
Shantz From Euclid's GCD to Montgomery multiplication to the great divide
CN100527072C (zh) 用于执行蒙哥马利型模乘法的装置及方法
CN103793199B (zh) 一种支持双域的快速rsa密码协处理器
CN102122241A (zh) 一种适用于素域和多项式域的模乘模除器
CN101021777B (zh) 基于除数(2n-1)的有效求模操作运算
CN108875416B (zh) 椭圆曲线多倍点运算方法和装置
Lee et al. Subquadratic Space-Complexity Digit-Serial Multipliers Over $ GF (2^{m}) $ Using Generalized $(a, b) $-Way Karatsuba Algorithm
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) 求商和余数的高速除法器
Seo et al. Optimized SIKE Round 2 on 64-bit ARM
CN109144472B (zh) 一种二元扩域椭圆曲线的标量乘法及其实现电路
CN101304312B (zh) 一种适用于精简指令集处理器的加密单元
CN108259179A (zh) 一种基于sm9标识密码算法的加解密协处理器及其运算方法
Lee et al. Area-Delay Efficient Digit-Serial Multiplier Based on $ k $-Partitioning Scheme Combined With TMVP Block Recombination Approach
KR20230141045A (ko) 암호 프로세서 장치 및 이를 채용하는 데이터 처리 장치
CN106775575B (zh) 基于二次剩余的低成本rfid认证协议的乘法器
CN101349967B (zh) 加减法无差异并行计算的cbsa硬件加法器及设计方法
Parashar et al. Fast combinational architecture for a vedic divider
Urbano-Molano et al. Design of an elliptic curve cryptoprocessor using optimal normal basis over gf (2 233)
CN107463354A (zh) 一种面向ECC的双域并行度可变的Montgomery模乘电路
Lee Super Digit-Serial Systolic Multiplier over GF (2^ m)
CN113032797A (zh) 在处理设备中执行加密操作的方法
CN114510217A (zh) 处理数据的方法、装置和设备

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