CN106681690A - 基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置 - Google Patents

基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置 Download PDF

Info

Publication number
CN106681690A
CN106681690A CN201510753005.6A CN201510753005A CN106681690A CN 106681690 A CN106681690 A CN 106681690A CN 201510753005 A CN201510753005 A CN 201510753005A CN 106681690 A CN106681690 A CN 106681690A
Authority
CN
China
Prior art keywords
value
modular multiplication
montgomery
result
multiplication
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
CN201510753005.6A
Other languages
English (en)
Other versions
CN106681690B (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 Fudan Microelectronics Group Co Ltd
Original Assignee
Shanghai Fudan Microelectronics Group 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 Shanghai Fudan Microelectronics Group Co Ltd filed Critical Shanghai Fudan Microelectronics Group Co Ltd
Priority to CN201510753005.6A priority Critical patent/CN106681690B/zh
Publication of CN106681690A publication Critical patent/CN106681690A/zh
Application granted granted Critical
Publication of CN106681690B publication Critical patent/CN106681690B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/722Modular multiplication

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

一种基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置。所述基于蒙哥马利模乘的数据处理方法包括:采用如下步骤计算所述第一值s2:将所述模数N左移n-c位,获得N1;计算R对N1取模后的值,得到计算结果s1,并将所述s1写入至第一存储器;对所述第一存储器的值s1执行一次模加运算后,得到计算结果s21,将所述计算结果s21作为第二存储器的初始值写入至所述第二存储器;调用所述蒙哥马利模乘器对所述第二存储器的初始值s21执行n-1次模乘运算,并将第n-1次模乘运算的结果R2mod N作为所述第一值s2输出。应用所述方法可以有效减少计算量,提高计算效率,并且可以实现任意长度的蒙哥马利模乘运算。

Description

基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置
技术领域
本发明涉及数据加密的技术领域,具体涉及一种基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置。
背景技术
RSA、ECC和SM2是目前广泛使用的公钥密码算法。其中,RSA算法中的模幂运算、ECC和SM2算法中的点乘运算,都会大量使用到大数模乘。可以说,大数模乘是上述公钥加密算法中的核心运算,直接决定了上述公钥加密算法的性能。
蒙哥马利模乘是目前主流的大数模乘实现方法。相对于对输入数据直接进行模乘运算,蒙哥马利模乘不仅可以节省一倍的存储空间,还可以避免除法运算,通过移位的方式达到取模的效果,有效提高数据的处理效率。
然而,目前在实现任意长度的蒙哥马利模乘运算时,计算量较大,且计算效率较低。
发明内容
本发明解决的技术问题是如何降低蒙哥马利模乘器运算的计算量,提高计算效率。
为解决上述技术问题,本发明实施例提供一种基于蒙哥马利模乘的数据处理方法,所述方法包括:
当接收到模数N时,计算得到第一值s2,以根据所述第一值s2,调用蒙哥马利模乘器,对待处理的数据执行模乘运算;采用如下步骤计算所述第一值s2:
将所述模数N左移n-c位,获得N1;计算R对N1取模后的值,得到计算结果s1,并将所述s1写入至第一存储器,其中,R=2n,w为所述蒙哥马利模乘器的位长,k为满足k*w≥c的最小整数,n=k*w,c为所述模数N的位长,k及N均为正整数;
对所述第一存储器的值s1执行一次模加运算后,得到计算结果s21,将所述计算结果s21作为第二存储器的初始值写入至所述第二存储器;调用所述蒙哥马利模乘器对所述第二存储器的初始值s21执行n-1次模乘运算,并将第n-1次模乘运算的结果R2mod N作为所述第一值s2输出。
本发明实施例还提供了一种模乘运算方法,所述方法包括:
按照上述的基于蒙哥马利模乘的数据处理方法计算获得第一值s2;
当接收到待处理的数据A及B时,根据所述第一值s2,对所述待处理的数据A与R2执行蒙哥马利模乘运算,获得运算结果y1,以及计算所述待处理的数据B与R2执行蒙哥马利模乘运算,获得运算结果y2;
对运算结果y1和y2执行蒙哥马利模乘运算,获得运算结果y3;
对运算结果y3与数值1执行蒙哥马利模乘运算,获得所述待处理的数据A及B的模乘运算结果y。
本发明实施例还提供了一种基于蒙哥马利模乘的数据处理装置,所述装置包括:
第一计算单元,适于当接收到模数N时,计算得到第一值s2,以根据所述第一值s2,调用蒙哥马利模乘器,对待处理的数据执行模乘运算;所述第一计算单元包括:
第一计算子单元,适于将所述模数N左移n-c位,获得N1;计算R对N1取模后的值,得到计算结果s1,并将所述s1写入至第一存储器,其中,R=2n,w为所述蒙哥马利模乘器的位长,k为满足k*w≥c的最小整数,n=k*w,c为所述模数N的位长,k及N均为正整数;
第二计算子单元,适于对所述第一存储器的值s1执行一次模加运算后,得到计算结果s21,将所述计算结果s21作为第二存储器的初始值写入至所述第二存储器;调用所述蒙哥马利模乘器对所述第二存储器的初始值s21执行n-1次模乘运算,并将第n-1次模乘运算的结果R2mod N作为所述第一值s2输出。
本发明实施例还提供了一种模乘运算装置,所述装置包括:
上述的基于蒙哥马利模乘的数据处理装置,通过所述数据处理装置获得所述第一值s2;
第二计算单元,适于当接收到待处理的数据A及B时,根据所述第一值s2,对所述待处理的数据A与R2执行蒙哥马利模乘运算,获得运算结果y1,以及计算所述待处理的数据B与R2执行蒙哥马利模乘运算,获得运算结果y2;
第三计算单元,适于对运算结果y1和y2执行蒙哥马利模乘运算,获得运算结果y3;
第四计算单元,适于对运算结果y3与数值1执行蒙哥马利模乘运算,获得所述待处理的数据A及B的模乘运算结果y。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在基于蒙哥马利模乘计算中间值s1时,通过将位长为c的模数N左移n-c位,可以获得位长为n的N1,仅需要n-c次模加运算即可获得位长为n的s1的值,因此相对于现有技术中的方案,在获得s1的值的过程中,可以有效减少计算量,提高计算效率。并且由于c为任意值,因此,应用所述方法可以实现任意长度的蒙哥马利模乘运算。
附图说明
图1是本发明实施中一种模乘运算方法的流程图;
图2是本发明实施例中一种基于蒙哥马利模乘的数据处理方法的流程图;
图3是本发明实施中一种基于蒙哥马利模乘的数据处理装置的结构示意图;
图4是本发明实施中一种模乘运算装置的结构示意图。
具体实施方式
目前,在基于蒙哥马利模乘计算s1时,通常令s1=0xFF…F-N+1,其中,0xFF…F的位长为n,n为机器字长的整数倍,N为模数,进而可以通过0xFF…F与模数N之间的模减运算来获得s1的值,此时s1的位长为n。因此,上述方法仅能实现机器字长整数倍的蒙哥马利模乘运算。
并且,由于硬件实现模减运算时,如果两数相减的结果超过硬件的位长即溢出,则需要对两数相减的结果再与模数N相减,直至与模数相减后的结果没有溢出,并将此时与模数相减后的结果作为两数模减运算的结果,因此,在基于蒙哥马利模乘计算s1时,通常需要进行2n-c次减法运算,才能获得s1的值,导致模乘运算的计算量仍然较大,计算效率较低。
针对上述问题,本发明实施例提供了一种基于蒙哥马利模乘的数据处理方法,所述方法在基于蒙哥马利模乘计算s1时,通过将位长为c的模数N左移n-c位,可以获得位长为n的N1,进而可以通过n-c次模加运算来获得位长为n的s1的值。相对于现有技术中的方案,在获得s1的值的过程中,可以有效减少计算量,提高计算效率。并且由于c为任意值,因此,应用所述方法可以帮助实现任意长度的蒙哥马利模乘运算。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
如图1所示,本发明实施例提供了一种模乘运算方法,所述方法可以包括如下步骤:
步骤11,计算第一值s2。
在具体实施中,所述第一值s2的值为R2mod N,位长为c。其中,R=2n,w通常为机器字长的蒙哥马利模乘器的位长,例如,w的值通常为8bit,16bit或32bit等。k为满足k*w≥c的最小整数,n=k*w,c为所述模数N的位长,c、k及N均为正整数。
需要说明的是,在接收到模数N的值时,即可计算第一值s2。这样,在接收到待处理的数据时,即可根据所述第一值s2将待处理的数据由实数域转换为蒙哥马利域,以对待处理的数据进行模乘运算。
步骤12,当接收到待处理的数据A及B时,根据所述第一值s2,对所述待处理的数据A与R2执行蒙哥马利模乘运算,获得运算结果y1,以及计算所述待处理的数据B与R2执行蒙哥马利模乘运算,获得运算结果y2。
在具体实施中,所述待处理的数据A及B的位长为任意值。当接收到待处理的数据A时,对所述待处理的数据A与R2执行蒙哥马利模乘运算,即计算M(A,R2,R,N),获得运算结果y1=A*R2*R-1mod N=A*R mod N。当接收到待处理的数据B时,对所述待处理的数据B与R2执行蒙哥马利模乘运算,即计算M(B,R2,R,N),获得运算结果y2=B*R2*R-1mod N=B*R modN。
步骤13,对运算结果y1和y2执行蒙哥马利模乘运算,获得运算结果y3。
在具体实施中,对运算结果y1和y2执行蒙哥马利模乘运算,即计算M(A*R,B*R,R,N),获得运算结果y3=(A*R)*(B*R)*R-1mod N=A*B*R mod N。
步骤14,对运算结果y3与数值1执行蒙哥马利模乘运算,获得所述待处理的数据A及B的模乘运算结果y。
在具体实施中,对运算结果y3执行蒙哥马利模乘运算,即计算M(A*B*R,1,R,N)mod N,获得运算结果y=A*B*R*1*R-1mod N=A*B mod N,且y的位长为c。
通常情况下,当所述第一值s2的位长为c时,调用蒙哥马利模乘器可以获得位长为c的运算结果。而当所述第一值s2的位长为n时,c≠n,调用蒙哥马利模乘器仍然可以获得位长为c的运算结果。以下结合对蒙哥马利模乘运算的具体过程对运算结果的位长证明如下:
以蒙哥马利模乘器的输入数据为A及B为例,A及B的位长为k*w,w为所述蒙哥马利模乘器的位长。模数N的低w位为N[0],N[0]*N[0]’mod r=1,r=2w。令m=r-N[0]’,C’的初始值为0。
所述蒙哥马利模乘器每次对输入数据A及B的w位进行处理。所述蒙哥马利模乘器对输入数据A及B的第i个w位进行处理时,i为整数,依次执行以下步骤,直至获得对输入数据A及B的第i个w位进行处理的运算结果C’[i]:q=(C’[0]+A[i]*B[0])*m mod r;C’[i]=(C’[i-1]+A[i]*B+q*N)/r;当C’[i]≥N时,将C’[i]-N的结果作为所述C’[i]的值。当i在0至k-1内依次取值时,可以获得C’[k-1]。
因此,当A<N,B<N或者A>N,B>N时,均可以得出C’[k-1]-N<(r*N+r*N)/r–N=2N-N=N,进而得到C’[k-1]<2N,由此可以得出,所述蒙哥马利模乘器每次对输入数据A及B进行模乘运算的处理结果位长小于c。
在具体实施中,可以采用多种方法计算第一值s2,以根据所述第一值s2,调用蒙哥马利模乘器,对待处理的数据执行模乘运算。为了降低计算量,在本发明的一实施例中,可以采用如图2所示的方法计算第一值s2。具体地,所述方法可以包括如下步骤:
步骤21,将所述模数N左移n-c位,获得N1;计算R对N1取模后的值,得到计算结果s1,并将所述s1写入至第一存储器。
也就是说,当获得n以及模数N的位长c后,根据所述n及c的值,将所述模数N左移n-c位,即N<<<n-c,获得N1。此时N的位长为n位。再计算R mod N1,获得位长为n的s1。
步骤22,对所述第一存储器的值s1执行一次模加运算,获得计算结果s21,并将所述计算结果s21作为第二存储器的初始值写入至所述第二存储器;调用所述蒙哥马利模乘器对所述第二存储器的初始值执行n-1次模乘运算,并将第n-1次模乘运算的结果R2mod N作为所述第一值s2输出。
在具体实施中,令s21=(s1+s1)mod N,并将s21作为第二存储器的初始值。
调用蒙哥马利模乘器对s21执行1次模乘运算,获得计算结果s22=M(s21,s21,R,N);
调用蒙哥马利模乘器对s22执行1次模乘运算,获得计算结果s23=M(s22,s22,R,N);
调用蒙哥马利模乘器对s23执行1次模乘运算,获得计算结果s24=M(s23,s23,R,N);
……
依此类推,直至执行蒙哥马利模乘运算的次数为n-1次,获得计算结果s2=s2n=M(s2n-1,s2n-1,R,N)。=R2mod N,即获得第一值。此时可以将所述第一值s2输出。
由于所述s1的位长为n,因此s2的位长也为n。
由上述内容可知,采用图2中所示实施例的方法计算s1时,通过将位长为c的模数N左移n-c位,可以获得位长为n的N1,进而可以通过n-c次模加运算能获得位长为n的s1的值,而非执行2n-c次模加运算才能获得s1的值,因此可以有效减少计算量,尤其在n>c时,效果更加明显。并且,由于c为任意值,因此应用上述方法可以实现任意位长的蒙哥马利模乘运算。
为了使本领域技术人员更好地理解和实现本发明,以下对上述方法对应的装置进行详细描述。
如图3所示,本发明实施例提供了一种基于蒙哥马利模乘的数据处理装置,所述装置可以包括:第一计算单元31。其中,所述第一计算单元31适于当接收到模数N时,计算第一值s2,以根据所述第一值s2,调用蒙哥马利模乘器,对待处理的数据执行模乘运算。
在具体实施中,所述第一计算单元31可以包括:第一计算子单元311,以及第二计算子单元312。其中:
所述第一计算子单元311适于将所述模数N左移n-c位,获得N1;计算R对N1取模后的值,得到计算结果s1,并将所述s1写入至第一存储器,其中,R=2n,w为所述蒙哥马利模乘器的位长,k为满足k*w≥c的最小整数,n=k*w,c为所述模数N的位长,k及N均为正整数。
所述第二计算子单元312适于对所述第一存储器的值s1执行一次模加运算后,得到计算结果s21,将所述计算结果s21作为第二存储器的初始值写入至所述第二存储器;调用所述蒙哥马利模乘器对所述第二存储器的初始值s21执行n-1次模乘运算,并将第n-1次模乘运算的结果=R2mod N,即获得第一值。此时可以将所述第一值s2输出。
如图4所示,本发明实施例还提供了一种模乘运算装置40,所述装置40可以包括上述基于蒙哥马利模乘的数据处理装置,第二计算单元41,第三计算单元42,第四计算单元43。其中:
通过所述第一计算单元31获得所述第一值s2后,所述第二计算单元41当接收到待处理的数据A及B时,根据所述第一值s2,对所述待处理的数据A与R2执行蒙哥马利模乘运算,获得运算结果y1,以及计算所述待处理的数据B与R2执行蒙哥马利模乘运算,获得运算结果y2。
所述第三计算单元42适于对运算结果y1和y2执行蒙哥马利模乘运算,获得运算结果y3。
所述第四计算单元43适于对运算结果y3与数值1执行蒙哥马利模乘运算,获得所述待处理的数据A及B的模乘运算结果y。
由上述内容可以看出,通过本发明实施例中基于蒙哥马利模乘的数据处理装置,可以在实现任意位长的蒙哥马利模乘运算的同时,有效降低计算量,提高计算效率。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (4)

1.一种基于蒙哥马利模乘的数据处理方法,其特征在于,包括:
当接收到模数N时,计算得到第一值s2,以根据所述第一值s2,调用蒙哥马利模乘器,对待处理的数据执行模乘运算;采用如下步骤计算所述第一值s2:
将所述模数N左移n-c位,获得N1;计算R对N1取模后的值,得到计算结果s1,并将所述s1写入至第一存储器,其中,R=2n,w为所述蒙哥马利模乘器的位长,k为满足k*w≥c的最小整数,n=k*w,c为所述模数N的位长,k及N均为正整数;
对所述第一存储器的值s1执行一次模加运算后,得到计算结果s21,将所述计算结果s21作为第二存储器的初始值写入至所述第二存储器;调用所述蒙哥马利模乘器对所述第二存储器的初始值s21执行n-1次模乘运算,并将第n-1次模乘运算的结果R2mod N作为所述第一值s2输出。
2.一种模乘运算方法,其特征在于,包括:
按照权利要求1所述的基于蒙哥马利模乘的数据处理方法计算获得第一值s2;
当接收到待处理的数据A及B时,根据所述第一值s2,对所述待处理的数据A与R2执行蒙哥马利模乘运算,获得运算结果y1,以及计算所述待处理的数据B与R2执行蒙哥马利模乘运算,获得运算结果y2;
对运算结果y1和y2执行蒙哥马利模乘运算,获得运算结果y3;
对运算结果y3与数值1执行蒙哥马利模乘运算,获得所述待处理的数据A及B的模乘运算结果y。
3.一种基于蒙哥马利模乘的数据处理装置,其特征在于,包括:
第一计算单元,适于当接收到模数N时,计算得到第一值s2,以根据所述第一值s2,调用蒙哥马利模乘器,对待处理的数据执行模乘运算;所述第一计算单元包括:
第一计算子单元,适于将所述模数N左移n-c位,获得N1;计算R对N1取模后的值,得到计算结果s1,并将所述s1写入至第一存储器,其中,R=2n,w为所述蒙哥马利模乘器的位长,k为满足k*w≥c的最小整数,n=k*w,c为所述模数N的位长,k及N均为正整数;
第二计算子单元,适于对所述第一存储器的值s1执行一次模加运算后,得到计算结果s21,将所述计算结果s21作为第二存储器的初始值写入至所述第二存储器;调用所述蒙哥马利模乘器对所述第二存储器的初始值s21执行n-1次模乘运算,并将第n-1次模乘运算的结果R2mod N作为所述第二值s2输出。
4.一种模乘运算装置,其特征在于,包括:
如权利要求3所述的基于蒙哥马利模乘的数据处理装置,通过所述数据处理装置获得所述第一值s2;
第二计算单元,适于当接收到待处理的数据A及B时,根据所述第一值s2,对所述待处理的数据A与R2执行蒙哥马利模乘运算,获得运算结果y1,以及计算所述待处理的数据B与R2执行蒙哥马利模乘运算,获得运算结果y2;
第三计算单元,适于对运算结果y1和y2执行蒙哥马利模乘运算,获得运算结果y3;
第四计算单元,适于对运算结果y3与数值1执行蒙哥马利模乘运算,获得所述待处理的数据A及B的模乘运算结果y。
CN201510753005.6A 2015-11-07 2015-11-07 基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置 Active CN106681690B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510753005.6A CN106681690B (zh) 2015-11-07 2015-11-07 基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510753005.6A CN106681690B (zh) 2015-11-07 2015-11-07 基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置

Publications (2)

Publication Number Publication Date
CN106681690A true CN106681690A (zh) 2017-05-17
CN106681690B CN106681690B (zh) 2019-02-26

Family

ID=58862893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510753005.6A Active CN106681690B (zh) 2015-11-07 2015-11-07 基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置

Country Status (1)

Country Link
CN (1) CN106681690B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669670A (zh) * 2018-12-26 2019-04-23 贵州华芯通半导体技术有限公司 用于蒙哥马利模乘中的不均等分块的数据处理方法及装置
CN112685003A (zh) * 2021-01-05 2021-04-20 南京大学 一种用于获取同源密码的模乘结果的运算装置
CN113032845A (zh) * 2021-03-31 2021-06-25 郑州信大捷安信息技术股份有限公司 一种用于资源受限芯片的EdDSA签名实现方法和装置
CN114510450A (zh) * 2021-05-25 2022-05-17 无锡沐创集成电路设计有限公司 加密算法的加速计算方法、装置和阵列单元算子系统
CN114706557A (zh) * 2022-04-01 2022-07-05 华控清交信息科技(北京)有限公司 一种asic芯片及蒙哥马利模乘的实现方法和装置
CN114895870A (zh) * 2022-04-29 2022-08-12 中国人民解放军93216部队 基于fpga实现的高效可重构sm2点乘方法及系统
CN115113848A (zh) * 2022-08-30 2022-09-27 北京象帝先计算技术有限公司 签名/验签电路、装置、设备、方法及坐标还原电路

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0656709A2 (en) * 1993-11-30 1995-06-07 Canon Kabushiki Kaisha Encryption device and apparatus for encryption/decryption based on the Montgomery method using efficient modular multiplication
EP0712072A1 (fr) * 1994-11-08 1996-05-15 STMicroelectronics S.A. Procédé de mise en oeuvre de réduction modulaire selon la méthode de Montgomery
CN1731345A (zh) * 2005-08-18 2006-02-08 上海微科集成电路有限公司 可扩展高基蒙哥马利模乘算法及其电路结构
CN102999313A (zh) * 2012-12-24 2013-03-27 飞天诚信科技股份有限公司 一种基于蒙哥马利模乘的数据处理方法
CN104750455A (zh) * 2013-12-31 2015-07-01 上海复旦微电子集团股份有限公司 一种基于蒙哥马利模乘的数据处理方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0656709A2 (en) * 1993-11-30 1995-06-07 Canon Kabushiki Kaisha Encryption device and apparatus for encryption/decryption based on the Montgomery method using efficient modular multiplication
EP0712072A1 (fr) * 1994-11-08 1996-05-15 STMicroelectronics S.A. Procédé de mise en oeuvre de réduction modulaire selon la méthode de Montgomery
CN1731345A (zh) * 2005-08-18 2006-02-08 上海微科集成电路有限公司 可扩展高基蒙哥马利模乘算法及其电路结构
CN102999313A (zh) * 2012-12-24 2013-03-27 飞天诚信科技股份有限公司 一种基于蒙哥马利模乘的数据处理方法
CN104750455A (zh) * 2013-12-31 2015-07-01 上海复旦微电子集团股份有限公司 一种基于蒙哥马利模乘的数据处理方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PETER L. MONTGOMERY ET AL.: "Modular Multiplication Without Trial Division", 《MATHEMATICS OF COMPUTATION》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669670A (zh) * 2018-12-26 2019-04-23 贵州华芯通半导体技术有限公司 用于蒙哥马利模乘中的不均等分块的数据处理方法及装置
CN112685003A (zh) * 2021-01-05 2021-04-20 南京大学 一种用于获取同源密码的模乘结果的运算装置
CN112685003B (zh) * 2021-01-05 2024-05-28 南京大学 一种用于获取同源密码的模乘结果的运算装置
CN113032845A (zh) * 2021-03-31 2021-06-25 郑州信大捷安信息技术股份有限公司 一种用于资源受限芯片的EdDSA签名实现方法和装置
CN113032845B (zh) * 2021-03-31 2022-02-11 郑州信大捷安信息技术股份有限公司 一种用于资源受限芯片的EdDSA签名实现方法和装置
CN114510450A (zh) * 2021-05-25 2022-05-17 无锡沐创集成电路设计有限公司 加密算法的加速计算方法、装置和阵列单元算子系统
CN114706557A (zh) * 2022-04-01 2022-07-05 华控清交信息科技(北京)有限公司 一种asic芯片及蒙哥马利模乘的实现方法和装置
CN114706557B (zh) * 2022-04-01 2023-03-10 华控清交信息科技(北京)有限公司 一种asic芯片及蒙哥马利模乘的实现方法和装置
CN114895870A (zh) * 2022-04-29 2022-08-12 中国人民解放军93216部队 基于fpga实现的高效可重构sm2点乘方法及系统
CN114895870B (zh) * 2022-04-29 2022-11-25 中国人民解放军93216部队 基于fpga实现的高效可重构sm2点乘方法及系统
CN115113848A (zh) * 2022-08-30 2022-09-27 北京象帝先计算技术有限公司 签名/验签电路、装置、设备、方法及坐标还原电路
CN115113848B (zh) * 2022-08-30 2022-12-13 北京象帝先计算技术有限公司 签名/验签电路、装置、设备、方法及坐标还原电路

Also Published As

Publication number Publication date
CN106681690B (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
CN106681690A (zh) 基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置
US8229109B2 (en) Modular reduction using folding
TWI796286B (zh) 一種機器學習系統的訓練方法和訓練系統
CN102999313B (zh) 一种基于蒙哥马利模乘的数据处理方法
CN106681691B (zh) 基于蒙哥马利模乘的数据处理方法、模乘运算方法和装置
Kudithi An efficient hardware implementation of the elliptic curve cryptographic processor over prime field
US10534576B2 (en) Optimization apparatus and control method thereof
WO2008002822A2 (en) Mulptiplying two numbers
CN104065478A (zh) 基于格密码体系的多项式模乘协处理器
KR20120077164A (ko) Simd 구조를 사용하는 복소수 연산을 위한 사용하는 장치 및 방법
Ding et al. Broken-Karatsuba multiplication and its application to Montgomery modular multiplication
CN110088777A (zh) 反卷积实现方法及相关产品
WO2017012351A1 (zh) 一种并行计算的方法及终端
CN104750455A (zh) 一种基于蒙哥马利模乘的数据处理方法和装置
CN104731551B (zh) 基于fpga进行除法操作的方法及装置
RU2666303C1 (ru) Способ и устройство для вычисления хэш-функции
CN104750457B (zh) 一种基于模幂运算的数据处理方法和装置
CN108228138A (zh) 一种sidh中特殊域快速模乘的方法
CN103389965A (zh) 一种实现sm2密码体制的大整数求乘逆方法
KR20000000770A (ko) 모듈러 곱셈장치
US20150026535A1 (en) Apparatus and method for generating interleaver index
CN110970008A (zh) 一种嵌入式混音方法、装置、嵌入式设备及存储介质
CN109992242A (zh) 基于乘法器的运算方法及装置
JP4850884B2 (ja) べき乗剰余演算器
CN108243002A (zh) 模约减方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant