大数取模的实现方法、装置、设备及存储介质制造方法及图纸

技术编号:33798756 阅读:170 留言:0更新日期:2022-06-16 10:02
本申请涉及一种大数取模的实现方法、装置、设备及存储介质。该方法包括,读取模数和被取模数;计算与模数和被取模数对应的完全平方差值;利用移位组合逻辑电路,确定存在完全平方差值对被取模数的商值,并估算完全平方差值对被取模数的商值;利用商值和被取模数,得到与模数和被取模数对应的取模结果。由于可以采用移位组合逻辑电路,确定存在完全平方差值对被取模数的商值,并估算完全平方差值对被取模数的商值,即通过硬件电路实现了商值的确定以及估算,以此节省了对软件资源的消耗。以此节省了对软件资源的消耗。以此节省了对软件资源的消耗。

【技术实现步骤摘要】
大数取模的实现方法、装置、设备及存储介质


[0001]本申请涉及计算机领域,尤其涉及一种大数取模的实现方法、装置、设备及存储介质。

技术介绍

[0002]在公钥算法实现过程中,大数取模运算是其中一种常见的运算方式。其中模数和被取模数都是大数,通常模数和被取模数的长度会超过1024比特,甚至为了满足安全强度的需求,模数和被取模数的长度被要求必须是超过3072比特。
[0003]对于如此长度的运算数据,基于CPU运算,会耗费大量CPU的乘法和减法资源以及占用CPU调度资源,因此不利于整体大数运算性能的提升。

技术实现思路

[0004]本申请提供了一种大数取模的实现方法、装置、设备及存储介质,用以解决采用软件算法实现大数取模运算时所导致的过度耗费CPU的资源的问题。
[0005]第一方面、提供一种大数取模的实现方法,包括:
[0006]读取模数和被取模数;
[0007]计算与所述模数和所述被取模数对应的完全平方差值;
[0008]利用移位组合逻辑电路,确定存在所述完全平方差值对所述被取模数的商值,并估算所述完全平方差值对所述被取模数的商值;
[0009]利用所述商值和所述被取模数,得到与所述模数和所述被取模数对应的取模结果。
[0010]可选地,计算与所述模数和所述被取模数对应的完全平方差值,包括:
[0011]调用大数减法电路,求取所述模数和所述被取模数的第一差值;
[0012]调用大数乘法电路,求取所述第一差值的平方值;
[0013]获取所述大数乘法电路返回的所述平方值,并将所述平方值作为所述完全平方差值。
[0014]可选地,所述移位组合逻辑电路包括移位逻辑电路和判断逻辑电路;
[0015]利用移位组合逻辑电路,确定存在所述完全平方差值对所述被取模数的商值,包括:
[0016]利用所述移位逻辑电路,将所述完全平方差值从最低比特位起右移第一比特位,得到右移结果数据,所述第一比特位与所述被取模数的比特位长度相同;
[0017]利用所述判断逻辑电路,确定所述右移结果数据不全为第一预设值,其中,当所述右移结果数据不全为所述第一预设值时,确定存在所述完全平方差值对所述被取模数的商值。
[0018]可选地,估算所述完全平方差值对所述被取模数的商值,包括:
[0019]获取所述移位逻辑电路返回的所述右移结果数据,并将所述右移结果数据作为所
述商值。
[0020]可选地,利用所述商值和所述被取模数,得到与所述模数和所述被取模数对应的取模结果,包括:
[0021]调用所述大数乘法电路,计算所述右移结果数据与所述被取模数的乘积值;
[0022]调用所述大数减法电路,计算所述完全平方差值和所述乘积值的第二差值;
[0023]获取所述大数减法电路返回的所述第二差值,并将所述第二差值作为所述取模结果。
[0024]可选地,确定存在所述完全平方差值对所述被取模数的商值之前,还包括:
[0025]确定所述完全平方差值大于所述被取模数。
[0026]可选地,确定所述完全平方差值大于所述被取模数,包括:
[0027]从所述完全平方差值中提取第二位数的第一数据,其中,所述第一数据为所述完全平方差值中,从高比特位到低比特位的第一组比特值;
[0028]调用所述大数减法电路,计算所述第一数据和第二数据的第三差值,第二数据为第二长度的所述第一预设值;
[0029]调用所述判断逻辑电路,确定所述第三差值的最高位比特位的数值为第二预设值,其中,当所述差值的最高位比特位的数值为所述第一预设值时,确定所述完全平方差值大于所述被取模数。
[0030]第二方面、提供一种大数取模的实现装置,包括:
[0031]读取单元,用于读取模数和被取模数;
[0032]计算单元,用于计算与所述模数和所述被取模数对应的完全平方差值;
[0033]第一确定单元,用于利用移位组合逻辑电路,确定存在所述完全平方差值对所述被取模数的商值,并估算所述完全平方差值对所述被取模数的商值;
[0034]第二确定单元,用于利用所述商值和所述被取模数,得到与所述模数和所述被取模数对应的取模结果。
[0035]第三方面、提供一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
[0036]所述存储器,用于存储计算机程序;
[0037]所述处理器,用于执行所述存储器中所存储的程序,实现第一方面中所述的大数取模的实现方法。
[0038]第四方面、提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中所述的大数取模的实现方法。
[0039]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
[0040]本实施例提供的技术方案,由于可以采用移位组合逻辑电路,确定存在完全平方差值对被取模数的商值,并估算完全平方差值对被取模数的商值,即通过硬件电路实现了商值的确定以及估算,以此节省了对软件资源的消耗。
附图说明
[0041]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0042]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0043]图1为本申请实施例中一种大数取模的实现方法的流程示意图;
[0044]图2为本申请实施例中又一种大数取模的实现方法的流程示意图;
[0045]图3为本申请实施例中又一种大数取模的实现方法的流程示意图;
[0046]图4为本申请实施例中又一种大数取模的实现方法的流程示意图;
[0047]图5为本申请实施例中又一种大数取模的实现方法的流程示意图;
[0048]图6为本申请实施例中大数取模的实现系统的结构示意图;
[0049]图7为本申请实施例中大数取模的实现装置的流程示意图;
[0050]图8为本申请实施例中电子设备的结构示意图。
具体实施方式
[0051]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0052]本申请实施例提供一种大数取模的实现方法,该方法可以应用于硬件可编程器件中。
[0053]该硬件可编程器件包括但不限于:可以实现有限状态机的FPGA(Field Programmabl本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种大数取模的实现方法,其特征在于,包括:读取模数和被取模数;计算与所述模数和所述被取模数对应的完全平方差值;利用移位组合逻辑电路,确定存在所述完全平方差值对所述被取模数的商值,并估算所述完全平方差值对所述被取模数的商值;利用所述商值和所述被取模数,得到与所述模数和所述被取模数对应的取模结果。2.根据权利要求1所述的方法,其特征在于,计算与所述模数和所述被取模数对应的完全平方差值,包括:调用大数减法电路,求取所述模数和所述被取模数的第一差值;调用大数乘法电路,求取所述第一差值的平方值;获取所述大数乘法电路返回的所述平方值,并将所述平方值作为所述完全平方差值。3.根据权利要求2所述的方法,其特征在于,所述移位组合逻辑电路包括移位逻辑电路和判断逻辑电路;利用移位组合逻辑电路,确定存在所述完全平方差值对所述被取模数的商值,包括:利用所述移位逻辑电路,将所述完全平方差值从最低比特位起右移第一位数,得到右移结果数据,所述第一位数与所述被取模数的比特位长度相同;利用所述判断逻辑电路,确定所述右移结果数据不全为第一预设值,其中,当所述右移结果数据不全为所述第一预设值时,确定存在所述完全平方差值对所述被取模数的商值。4.根据权利要求3所述的方法,其特征在于,估算所述完全平方差值对所述被取模数的商值,包括:获取所述移位逻辑电路返回的所述右移结果数据,并将所述右移结果数据作为所述商值。5.根据权利要求4所述的方法,其特征在于,利用所述商值和所述被取模数,得到与所述模数和所述被取模数对应的取模结果,包括:调用所述大数乘法电路,计算所述右移结果数据与所述被取模数的乘积值;调用所述大数减法电路,计算所述完全平方差值和所述乘积值的第二差值;获取所述大数减法电路返回的所述第二差值,并...

【专利技术属性】
技术研发人员:谭鑫温浪明聂玉庆
申请(专利权)人:珠海零边界集成电路有限公司
类型:发明
国别省市:

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

1