当前位置: 首页 > 专利查询>清华大学专利>正文

免除Toom-Cook的处理装置和基于其的模乘获取方法制造方法及图纸

技术编号:27058708 阅读:34 留言:0更新日期:2021-01-15 14:37
本发明专利技术提出一种免除Toom‑Cook的处理装置和基于其的模乘获取方法,其中,装置包括:第一预处理器,第一预处理器用于对输入的第一操作数进行预处理,以获取至少一个第一乘数因子;第二预处理器,第二预处理器用于对输入的第二操作数进行预处理,以获取至少一个第二乘数因子;乘法器,乘法器的输入端分别与第一预处理器和第二预处理器相连,乘法器用于对至少一个第一乘数因子和至少一个第二乘数因子进行乘积运算,以获取至少一个部分积;插值器,插值器的输入端与乘法器的输出端相连,插值器用于对至少一个部分积进行处理,以获取第一操作数、第二操作数和预设系数的乘积,实现Toom‑Cook算法的免除运算以提高整体效率。

【技术实现步骤摘要】
免除Toom-Cook的处理装置和基于其的模乘获取方法
本专利技术涉及信息安全
,尤其涉及一种免除Toom-Cook的处理装置和基于其的模乘获取方法。
技术介绍
随着信息安全的快速发展,基于数学难题的公钥密码体制得到了广泛应用。大数模乘算法广泛地应用于信息安全密码算法的运算,它的性能直接决定着RSA和ECC(ErrorCorrectingCode,错误检查和纠正)等公钥密码算法芯片的性能。相关技术中,蒙哥马利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模乘运算的复杂性,其运算效率会较大程度影响到密码算法本身的性能。而传统的服务于蒙哥马利M本文档来自技高网...

【技术保护点】
1.一种免除Toom-Cook的处理装置,其特征在于,包括:/n第一预处理器,所述第一预处理器用于对输入的第一操作数进行预处理,以获取至少一个第一乘数因子;/n第二预处理器,所述第二预处理器用于对输入的第二操作数进行预处理,以获取至少一个第二乘数因子;/n乘法器,所述乘法器的输入端分别与所述第一预处理器和第二预处理器相连,所述乘法器用于对所述至少一个第一乘数因子和所述至少一个第二乘数因子进行乘积运算,以获取至少一个部分积;/n插值器,所述插值器的输入端与所述乘法器的输出端相连,所述插值器用于对所述至少一个部分积进行处理,以获取所述第一操作数、所述第二操作数和预设系数的乘积。/n

【技术特征摘要】
1.一种免除Toom-Cook的处理装置,其特征在于,包括:
第一预处理器,所述第一预处理器用于对输入的第一操作数进行预处理,以获取至少一个第一乘数因子;
第二预处理器,所述第二预处理器用于对输入的第二操作数进行预处理,以获取至少一个第二乘数因子;
乘法器,所述乘法器的输入端分别与所述第一预处理器和第二预处理器相连,所述乘法器用于对所述至少一个第一乘数因子和所述至少一个第二乘数因子进行乘积运算,以获取至少一个部分积;
插值器,所述插值器的输入端与所述乘法器的输出端相连,所述插值器用于对所述至少一个部分积进行处理,以获取所述第一操作数、所述第二操作数和预设系数的乘积。


2.根据权利要求1所述的免除Toom-Cook的处理装置,其特征在于,所述第一预处理器和所述第二预处理器分别包括四个算术位移与取反模块和第一求和模块,其中,所述四个算术位移与取反模块并联后与所述第一求和模块串联。


3.根据权利要求2所述的免除Toom-Cook的处理装置,其特征在于,在将所述第一操作数和所述第二操作数分别输入至所述第一预处理器和所述第二预处理器之前,对所述第一操作数和所述第二操作数分别按照二进制位从低到高等分为4段。


4.根据权利要求1所述的免除Toom-Cook的处理装置,其特征在于,所述插值器包括:七个因子乘法模块、七个移位模块和第二求和模块,
其中,每个所述因子乘法模块与一个所述移位模块串联后与所述第二求和模块相连。


5.根据权利要求1所述的免除Toom-Cook的处理装置,其特征在于,还包括:
寄存器,所述寄存器分别设置于所述第一预处理器和所述乘法器之间、所述第二预处理器和所述乘法器之间、所述乘法器和所述插值器之间和所述插值器之后。


6.一种基于免除Toom-Cook处理装置的模乘获取方法,其特征在于,所述处理方法利用如权利要求1-5中任一所述的免除Toom-Cook的处理装置,所述处理方法,包括:
获取第一原始操作数和第二原始操作数,分别将所述第一原始操作数和所述...

【专利技术属性】
技术研发人员:李树国顾振
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1