CN112230886B - 免除Toom-Cook的处理装置和基于其的模乘获取方法 - Google Patents

免除Toom-Cook的处理装置和基于其的模乘获取方法 Download PDF

Info

Publication number
CN112230886B
CN112230886B CN202010953133.6A CN202010953133A CN112230886B CN 112230886 B CN112230886 B CN 112230886B CN 202010953133 A CN202010953133 A CN 202010953133A CN 112230886 B CN112230886 B CN 112230886B
Authority
CN
China
Prior art keywords
operand
cook
preprocessor
original
processing device
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.)
Active
Application number
CN202010953133.6A
Other languages
English (en)
Other versions
CN112230886A (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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN202010953133.6A priority Critical patent/CN112230886B/zh
Publication of CN112230886A publication Critical patent/CN112230886A/zh
Application granted granted Critical
Publication of CN112230886B publication Critical patent/CN112230886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Advance Control (AREA)

Abstract

本发明提出一种免除Toom‑Cook的处理装置和基于其的模乘获取方法,其中,装置包括:第一预处理器,第一预处理器用于对输入的第一操作数进行预处理,以获取至少一个第一乘数因子;第二预处理器,第二预处理器用于对输入的第二操作数进行预处理,以获取至少一个第二乘数因子;乘法器,乘法器的输入端分别与第一预处理器和第二预处理器相连,乘法器用于对至少一个第一乘数因子和至少一个第二乘数因子进行乘积运算,以获取至少一个部分积;插值器,插值器的输入端与乘法器的输出端相连,插值器用于对至少一个部分积进行处理,以获取第一操作数、第二操作数和预设系数的乘积,实现Toom‑Cook算法的免除运算以提高整体效率。

Description

免除Toom-Cook的处理装置和基于其的模乘获取方法
技术领域
本发明涉及信息安全技术领域,尤其涉及一种免除Toom-Cook的处理装置和基于其的模乘获取方法。
背景技术
随着信息安全的快速发展,基于数学难题的公钥密码体制得到了广泛应用。大数模乘算法广泛地应用于信息安全密码算法的运算,它的性能直接决定着RSA和ECC(ErrorCorrecting Code,错误检查和纠正)等公钥密码算法芯片的性能。
相关技术中,蒙哥马利Montgomery模乘算法的加速会在乘法单元的设计中采用Karatsuba算法,对采用256为单元乘法器的设计而言,1024位的乘法器在Karatsuba算法中需要9个单元乘法器,而Toom-Cook算法需要7个;4096位的乘法器在Karatsuba算法中需要81个单元乘法器,而Toom-Cook算法仅需要49个单元乘法器。但是,Toom-Cook算法本身需要一个固定除数的除法,限制了并行度与整体效率。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种免除Toom-Cook的处理装置,实现Toom-Cook算法的免除运算以提高整体效率。
本发明的第二个目的在于提出一种基于免除Toom-Cook处理装置的模乘获取方法。
本发明的第三个目的在于提出一种计算机设备。
为达上述目的,本发明第一方面实施例提出了一种方法免除Toom-Cook的处理装置,包括:第一预处理器,所述第一预处理器用于对输入的第一操作数进行预处理,以获取至少一个第一乘数因子;第二预处理器,所述第二预处理器用于对输入的第二操作数进行预处理,以获取至少一个第二乘数因子;乘法器,所述乘法器的输入端分别与所述第一预处理器和第二预处理器相连,所述乘法器用于对所述至少一个第一乘数因子和所述至少一个第二乘数因子进行乘积运算,以获取至少一个部分积;插值器,所述插值器的输入端与所述乘法器的输出端相连,所述插值器用于对所述至少一个部分积进行处理,以获取所述第一操作数、所述第二操作数和预设系数的乘积。
根据本申请的一个实施例,所述第一预处理器和所述第二预处理器分别包括四个算术位移与取反模块和一个求和模块,其中,所述四个算术位移与取反模块并联后与所述求和模块串联。
根据本申请的一个实施例,在将所述第一操作数和所述第二操作数分别输入至所述第一预处理器和所述第二预处理器之前,对所述第一操作数和所述第二操作数分别按照二进制位从低到高等分为4段。
根据本申请的一个实施例,所述插值器包括:七个因子乘法模块、七个移位模块和一个求和模块,其中,每个所述因子乘法模块与一个所述移位模块串联后与所述求和模块相连。
根据本申请的一个实施例,还包括:寄存器,所述寄存器分别设置于所述第一预处理器和所述乘法器之间、所述第二预处理器和所述乘法器之间、所述乘法器和所述插值器之间和所述插值器之后。
根据本申请通过免除Toom-Cook的处理装置,使得利用免除Toom-Cook的处理装置的大整数进行乘积计算,且在计算过程中无需执行除法运算,大大提升了运算效率。
为达上述目的,本发明第二方面实施例提出了一种免除Toom-Cook处理装置的模乘获取方法,包括:所述处理方法利用所述的免除Toom-Cook的处理装置,所述处理方法,包括:获取第一原始操作数和第二原始操作数,分别将所述第一原始操作数和所述第二原始操作数输入至第一免除Toom-Cook的处理装置的第一预处理器和所述第二预处理器中,以通过所述第一免除Toom-Cook的处理装置获取第一中间操作数;获取第三原始操作数和第四原始操作数,根据所述第三原始操作数、所述第四原始操作数和所述第一中间操作数,利用第二免除Toom-Cook的处理装置获取第二中间操作数;根据所述第二中间操作数、所述第三原始操作数和所述第四原始操作数,利用第三免除Toom-Cook的处理装置获取第三中间操作数;利用所述第一中间操作数、所述第三中间操作数和所述第四原始操作数,获取目标结果。
根据本申请的一个实施例,所述获取第三原始操作数和第四原始操作数,根据所述第三原始操作数、所述第四原始操作数和所述第一中间操作数,利用第二免除Toom-Cook的处理装置获取第二中间操作数,包括:获取所述第一中间操作数和所述第四原始操作数的第一余数,并将所述第一余数输入至所述第二免除Toom-Cook的处理装置的第一预处理器;获取所述第三原始操作数的倒数的相反数和所述第四原始操作数的第二余数,并将所述第二余数输入至所述第二免除Toom-Cook的处理装置的第二预处理器。
根据本申请的一个实施例,所述根据所述第二中间操作数、所述第三原始操作数和所述第四原始操作数,利用第三免除Toom-Cook的处理装置获取第三中间操作数,包括:获取所述第二中间操作数与所述第四原始操作数的第三余数,并将所述第三余数输入至所述点免除Toom-Cook的处理装置的第一预处理器;将所述第三原始操作数输入至所述第三免除Toom-Cook的处理装置的第二预处理器。
为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现所述的基于免除Toom-Cook处理装置的模乘获取方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例所提供的一种免除Toom-Cook的处理装置的结构示意图;
图2为本申请实施例所提出的第一预处理器或第二预处理器的结构示意图;
图3为本申请实施例所提出的插值器的结构示意图;
图4为本发明实施例所提供的另一种免除Toom-Cook的处理装置的结构示意图;
图5为本申请实施例提出的一种基于免除Toom-Cook处理装置的模乘获取方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
RSA公钥密码体制在信息安全领域中被广泛使用,因为RSA公钥密码的安全性是基于分解大整数的困难,所以为了确保系统的安全,RSA中的模数N(N=p*q)取1024比特以上的整数,其中,大素数p、q取512比特以上的整数,RSA算法的核心是模乘,而大整数的算法又独立地存在与磨成中,为了提高RSA算法的速度,即,提高密码计算的速度,必须要实现快速的大整数乘法。
在如今广泛使用的公钥密码算法中,蒙哥马利Montgomery模乘运算是重要的核心运算之一。由于蒙哥马利Montgomery模乘运算的复杂性,其运算效率会较大程度影响到密码算法本身的性能。而传统的服务于蒙哥马利Montgomery模乘运算的Karatsuba算法,相较于Toom-Cook算法需要较多的乘法器,严重影响了计算效率和生产成本,而传统的Toom-Cook算法因为本身需要一个固定除数的除法,也限制了并行度与整体效率。因此,本申请提出了一种免除Toom-Cook算法的处理装置,以通过该装置实现免除Toom-Cook算法,其中,免除Toom-Cook与原算法相比,利用模乘特性避免了Toom-Cook本身固有的除法,使得并行度与整体效率得到了提高,更使得利用免除Toom-Cook算法的蒙哥马利Montgomery模乘运算的装置结构中的乘法器数量大大减少,运算速度得到了极大的提高。
下面参考附图描述本发明实施例的免除Toom-Cook的处理装置和基于其的模乘处理方法。
图1为本发明实施例所提供的一种免除Toom-Cook的处理装置的结构示意图。如图1所示,免除Toom-Cook的处理装置100,包括:第一预处理器10、第二预处理器20、乘法器30和插值器40。
其中,第一预处理器10用于对输入的第一操作数进行预处理,以获取至少一个第一乘数因子,第二预处理器20用于对输入的第二操作数进行预处理,以获取至少一个第二乘数因子,乘法器30的输入端分别与第一预处理器10和第二预处理20相连,乘法器30用于对至少一个第一乘数因子和至少一个第二乘数因子进行乘积运算,以获取至少一个部分积,插值器40的输入端与乘法器40的输出端相连,插值器40用于对至少一个部分积进行处理,以获取第一操作数、第二操作数和预设系数的乘积。
具体地,如图2所示,第一预处理器10和第二预处理器20分别包括四个算术位移与取反模块11和第一求和模块12,其中,四个算术位移与取反模块11并联后与第一求和模块12串联。其中,第一求和模块12可为加法器。
进一步地,在将第一操作数和第二操作数分别输入至第一预处理器10和第二预处理器20之前,对第一操作数和第二操作数分别按照从低到高等分为4段。
如图3所示,插值器40包括因子乘法模块41、移位模块42和第二求和模块43。
其中,因子乘法模块41和移位模块42各为七个,每个因子乘法模块41与一个移位模块42串联后与第二求和模块43相连。其中,第二求和模块43可为加法器。
如图4所示,免除Toom-Cook的处理装置100还包括寄存器50,寄存器50包括多个,分别设置于第一预处理器10和乘法器30之间、第二预处理器20和乘法器30之间、乘法器30和插值器40之间和插值器40之后。
由此,本申请通过免除Toom-Cook的处理装置,使得利用免除Toom-Cook的处理装置的大整数进行乘积计算,且在计算过程中无需执行除法运算,大大提升了运算效率。
举例来说,在将任意两个大整数a,b作为输入值输入至免除Toom-Cook的处理装置时,可先将两个大整数按二进制位从低到高等分4段,例如如a分为a0,a1,a2,a3四个n比特的段,数学上的关系为a=a323n+a222n+a12n+a0,b类似地划分。然后,两个大整数分别利用预处理器中的算术位移与取反模块11和求和模块12,以获取到大整数对应的乘数因子并存储在相应的寄存器50中,例如,a对应的第一乘数因子则包括a0、(a3+a2+a1+a0)、(a3-a2+a1-a0)、(8a3+4a2+2a1+a0)、(8a3-4a2+2a1-a0)、(a3+2a2+4a1+8a0)和a3,而b对应的第一乘数因子则包括b0、(b3+b2+b1+b0)、(b3-b2+b1-b0)、(8b3+4b2+2b1+b0)、(8b3-4b2+2b1-b0)、(b3+2b2+4b1+8b0)和b3。然后,乘法器50通过调用第一预处理器10和第二预处理器20后端的寄存器50中的乘数因子,通过乘积运算得到相应的部分积并存储在乘法器30后端的寄存器50中:
p0=a0b0
p1=(a3+a2+a1+a0)(b3+b2+b1+b0)
p2=(a3-a2+a1-a0)(b3-b2+b1-b0)
p3=(8a3+4a2+2a1+a0)(8b3+4b2+2b1+b0)
p4=(8a3-4a2+2a1-a0)(8b3-4b2+2b1-b0)
p5=(a3+2a2+4a1+8a0)(b3+2b2+4b1+8b0)
p6=a3b3
插值器40利用因子乘法模块41、移位模块42对部分积进行移位操作,以使多个移位后的部分积的和满足c=DT4(a,b)=45ab,具体地:
c=(45-720·2n-3-450·22n-3+900·23n-3+90·24n-3-180·25n-3)p0+(-240·2n-3+240·22n-3+540·23n-3-60·24n-3-120·25n-3)p1+(-80·2n-3+240·22n-3-140·23n-3-60·24n-3+40·25n-3)p2+(10·2n-3-15·22n-3-20·23n-3+15·24n-3+10·25n-3)p3+(6·2n-3-15·22n-3+15·24n-3-6·25n-3)p4+(16·2n-3-20·23n-3+4·25n-3)p5+(-720·2n-3+1440.22n-3+900·23n-3-1800.24n-3-180·25n-3+360.26n-3)p6
由此,本申请通过免除Toom-Cook的处理装置能够快速计算大整数的乘法运算,同时,避免了Toom-Cook本身固有的除法使得并行度与整体效率得到了提高。
图5为本申请实施例提出的一种基于免除Toom-Cook处理装置的模乘获取方法的流程图。如图5所示,基于免除Toom-Cook处理装置的模乘获取方法,包括如下步骤:
步骤101:获取第一原始操作数和第二原始操作数,分别将第一原始操作数和第二原始操作数输入至第一免除Toom-Cook的处理装置的第一预处理器和第二预处理器中,以通过第一免除Toom-Cook的处理装置获取第一中间操作数。
其中,第一原始操作数x和第二原始操作数y,满足x,y∈[0,90N),经过第一免除Toom-Cook的处理装置对第一原始操作数x和第二原始操作数y的数据处理,以得到第一中间操作数T=45xy。
步骤102,获取第三原始操作数和第四原始操作数,根据第三原始操作数、第四原始操作数和第一中间操作数,利用第二免除Toom-Cook的处理装置获取第二中间操作数。
其中,第三原始操作数N为模,第四原始操作数R为选定参数,满足R≥4·454N。
具体地,在将第三原始操作数N和第四原始操作数R输入至第二免除Toom-Cook的处理装置之前,还包括:获取第一中间操作数T和第四原始操作数R的第一余数(T mod R),并将第一余数(T mod R)输入至第二免除Toom-Cook的处理装置的第一预处理器;获取第三原始操作数N的倒数的相反数-N-1和第四原始操作数R的第二余数(-N-1mod R),并将第二余数(-N-1mod R)输入至第二免除Toom-Cook的处理装置的第二预处理器。
由此,通过第二免除Toom-Cook的处理装置的处理,可得到第二中间操作数s=DT4(T mod R,-N-1 mod R)。
步骤103:根据第二中间操作数、第三原始操作数和第四原始操作数,利用第三免除Toom-Cook的处理装置获取第三中间操作数。
具体地,获取第二中间操作数s与第四原始操作数R的第三余数(s mod R),并将第三余数(s mod R)输入至第三免除Toom-Cook的处理装置的第一预处理器;将第三原始操作数N输入至第三免除Toom-Cook的处理装置的第二预处理器,由此,通过第三免除Toom-Cook的处理装置的处理,可得到第三中间操作数t=DT4(s mod R,N)。
步骤104,利用第一中间操作数、第三中间操作数和第四原始操作数,获取目标结果。
其中,目标结果可为z,z=(452T+t)/R,目标结果z可用于在公钥解码或编码过程中进行使用。
需要说明的是,第一免除Toom-Cook的处理装置、第二免除Toom-Cook的处理装置和第三免除Toom-Cook的处理装置,在利用单乘法器多周期实现模乘算法的系统下为同一个免除Toom-Cook的处理装置,使得实现蒙哥马利Montgomery模乘算法的周期被大大减小,在利用多乘法器的单周期实现模乘算法的系统下,可仅使用三个乘法器实现计算目的,大大减少了乘法器的使用数量,降低了生产成本。
为了实现上述实施例,本发明还提出一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现所述的基于免除Toom-Cook处理装置的模乘获取方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (7)

1.一种免除Toom-Cook的处理装置,其特征在于,包括:
第一预处理器,所述第一预处理器用于对输入的第一操作数进行预处理,以获取至少一个第一乘数因子;
第二预处理器,所述第二预处理器用于对输入的第二操作数进行预处理,以获取至少一个第二乘数因子;
乘法器,所述乘法器的输入端分别与所述第一预处理器和第二预处理器相连,所述乘法器用于对所述至少一个第一乘数因子和所述至少一个第二乘数因子进行乘积运算,以获取至少一个部分积;
插值器,所述插值器的输入端与所述乘法器的输出端相连,所述插值器用于对所述至少一个部分积进行处理,以获取所述第一操作数、所述第二操作数和预设系数的乘积,所述插值器包括:七个因子乘法模块、七个移位模块和第二求和模块,每个所述因子乘法模块与一个所述移位模块串联后与所述第二求和模块相连;其中,
所述第一预处理器和所述第二预处理器分别包括四个算术位移与取反模块和第一求和模块,其中,所述四个算术位移与取反模块并联后与所述第一求和模块串联。
2.根据权利要求1所述的免除Toom-Cook的处理装置,其特征在于,在将所述第一操作数和所述第二操作数分别输入至所述第一预处理器和所述第二预处理器之前,对所述第一操作数和所述第二操作数分别按照二进制位从低到高等分为4段。
3.根据权利要求1所述的免除Toom-Cook的处理装置,其特征在于,还包括:
寄存器,所述寄存器分别设置于所述第一预处理器和所述乘法器之间、所述第二预处理器和所述乘法器之间、所述乘法器和所述插值器之间和所述插值器之后。
4.一种基于免除Toom-Cook处理装置的模乘获取方法,其特征在于,处理方法利用如权利要求1-3中任一所述的免除Toom-Cook的处理装置,所述处理方法,包括:
获取第一原始操作数和第二原始操作数,分别将所述第一原始操作数和所述第二原始操作数输入至第一免除Toom-Cook的处理装置的第一预处理器和所述第二预处理器中,以通过所述第一免除Toom-Cook的处理装置获取第一中间操作数;
获取第三原始操作数和第四原始操作数,根据所述第三原始操作数、所述第四原始操作数和所述第一中间操作数,利用第二免除Toom-Cook的处理装置获取第二中间操作数;
根据所述第二中间操作数、所述第三原始操作数和所述第四原始操作数,利用第三免除Toom-Cook的处理装置获取第三中间操作数;
利用所述第一中间操作数、所述第三中间操作数和所述第四原始操作数,获取目标结果。
5.根据权利要求4所述的基于免除Toom-Cook处理装置的模乘获取方法,其特征在于,所述获取第三原始操作数和第四原始操作数,根据所述第三原始操作数、所述第四原始操作数和所述第一中间操作数,利用第二免除Toom-Cook的处理装置获取第二中间操作数,包括:
获取所述第一中间操作数和所述第四原始操作数的第一余数,并将所述第一余数输入至所述第二免除Toom-Cook的处理装置的第一预处理器;
获取所述第三原始操作数的倒数的相反数和所述第四原始操作数的第二余数,并将所述第二余数输入至所述第二免除Toom-Cook的处理装置的第二预处理器。
6.根据权利要求4所述的基于免除Toom-Cook处理装置的模乘获取方法,其特征在于,所述根据所述第二中间操作数、所述第三原始操作数和所述第四原始操作数,利用第三免除Toom-Cook的处理装置获取第三中间操作数,包括:
获取所述第二中间操作数与所述第四原始操作数的第三余数,并将所述第三余数输入至所述免除Toom-Cook的处理装置的第一预处理器;
将所述第三原始操作数输入至所述第三免除Toom-Cook的处理装置的第二预处理器。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如权利要求4-6中任一所述的基于免除Toom-Cook处理装置的模乘获取方法。
CN202010953133.6A 2020-09-11 2020-09-11 免除Toom-Cook的处理装置和基于其的模乘获取方法 Active CN112230886B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010953133.6A CN112230886B (zh) 2020-09-11 2020-09-11 免除Toom-Cook的处理装置和基于其的模乘获取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010953133.6A CN112230886B (zh) 2020-09-11 2020-09-11 免除Toom-Cook的处理装置和基于其的模乘获取方法

Publications (2)

Publication Number Publication Date
CN112230886A CN112230886A (zh) 2021-01-15
CN112230886B true CN112230886B (zh) 2022-11-08

Family

ID=74115639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010953133.6A Active CN112230886B (zh) 2020-09-11 2020-09-11 免除Toom-Cook的处理装置和基于其的模乘获取方法

Country Status (1)

Country Link
CN (1) CN112230886B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534458A (zh) * 1995-08-31 2004-10-06 ض� 能够使用分组数据指令来执行快速变换操作的方法和装置
CN104375802A (zh) * 2014-09-23 2015-02-25 上海晟矽微电子股份有限公司 一种乘除法器及运算方法
CN104731563A (zh) * 2015-04-03 2015-06-24 中国科学院软件研究所 基于fft的大整数乘法ssa算法多核并行化实现方法
CN104750455A (zh) * 2013-12-31 2015-07-01 上海复旦微电子集团股份有限公司 一种基于蒙哥马利模乘的数据处理方法和装置
CN106339204A (zh) * 2015-07-09 2017-01-18 华邦电子股份有限公司 加密计算方法以及装置
CN109271133A (zh) * 2018-08-01 2019-01-25 南京中感微电子有限公司 一种数据处理方法及系统
CN110647309A (zh) * 2019-09-29 2020-01-03 浙江大学 一种高速大位宽乘法器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263115A1 (en) * 2007-04-17 2008-10-23 Horizon Semiconductors Ltd. Very long arithmetic logic unit for security processor

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534458A (zh) * 1995-08-31 2004-10-06 ض� 能够使用分组数据指令来执行快速变换操作的方法和装置
CN104750455A (zh) * 2013-12-31 2015-07-01 上海复旦微电子集团股份有限公司 一种基于蒙哥马利模乘的数据处理方法和装置
CN104375802A (zh) * 2014-09-23 2015-02-25 上海晟矽微电子股份有限公司 一种乘除法器及运算方法
CN104731563A (zh) * 2015-04-03 2015-06-24 中国科学院软件研究所 基于fft的大整数乘法ssa算法多核并行化实现方法
CN106339204A (zh) * 2015-07-09 2017-01-18 华邦电子股份有限公司 加密计算方法以及装置
CN109271133A (zh) * 2018-08-01 2019-01-25 南京中感微电子有限公司 一种数据处理方法及系统
CN110647309A (zh) * 2019-09-29 2020-01-03 浙江大学 一种高速大位宽乘法器

Also Published As

Publication number Publication date
CN112230886A (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
Liu et al. Efficient Ring-LWE encryption on 8-bit AVR processors
Knezevic et al. Faster interleaved modular multiplication based on Barrett and Montgomery reduction methods
Fan et al. Faster-arithmetic for cryptographic pairings on Barreto-Naehrig curves
Yao et al. Faster pairing coprocessor architecture
US8380777B2 (en) Normal-basis to canonical-basis transformation for binary galois-fields GF(2m)
Karakoyunlu et al. Efficient and side-channel-aware implementations of elliptic curve cryptosystems over prime fields
Bos et al. Montgomery arithmetic from a software perspective
Großschädl A bit-serial unified multiplier architecture for finite fields GF (p) and GF (2 m)
KR101925868B1 (ko) 모듈러 계산 유닛 및 그것을 포함하는 보안 시스템
FR2849512A1 (fr) Multiplieur modulaire de montgomery et procede de multiplication correspondant
JPH0580985A (ja) Mを法として長い整数を乗算するための算術ユニツト及びそのような乗算デバイスを具えるr.s.a.変換器
WO1999004332A1 (en) Composite field multiplicative inverse calculation for elliptic curve cryptography
CN112230886B (zh) 免除Toom-Cook的处理装置和基于其的模乘获取方法
Rashidi et al. Efficient lightweight hardware structures of point multiplication on binary edwards curves for elliptic curve cryptosystems
Knežević et al. Modular Reduction in GF (2 n) without Pre-computational Phase
Phillips et al. Implementing 1,024-bit RSA exponentiation on a 32-bit processor core
Zhang et al. A high-performance low-power barrett modular multiplier for cryptosystems
Batina et al. Balanced point operations for side-channel protection of elliptic curve cryptography
Chang et al. A non-redundant and efficient architecture for Karatsuba-Ofman algorithm
Bos et al. Efficient Modular Multiplication
KR20070062901A (ko) 중국인 나머지 정리(crt)와 캐리 저장 가산 기반의모듈러 곱셈 장치 및 방법
Wang Speed and area optimized parallel higher-radix modular multipliers
Zutter et al. Acceleration of RSA cryptographic operations using FPGA technology
Arunachalamani et al. High Radix Design for Montgomery Multiplier in FPGA platform
Buell Mathematics, computing, and arithmetic

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