一种应用于标量乘的素数域模乘方法技术

技术编号:38994991 阅读:12 留言:0更新日期:2023-10-07 10:26
本发明专利技术提出一种应用于标量乘的素数域模乘模乘方法,属于硬件信息安全技术领域。包括以下步骤:S1.对输入的操作数进行预计算,将位宽为261位的操作数X,Y转入Toom

【技术实现步骤摘要】
一种应用于标量乘的素数域模乘方法


[0001]本申请涉及素数域模乘模乘方法,尤其涉及一种应用于标量乘的素数域模乘方法,属于硬件信息安全


技术介绍

[0002]随着网络技术的飞速发展以及智能终端的大规模普及,信息安全问题也逐渐引起人们的重视,网络安全主要是信息安全,而密码学是信息安全领域的核心研究问题,公钥密码体制是现代密码学研究的一个重要分支,它能有效地解决公共信道上的数字签名,身份认证等问题,广泛应用于保密通信、电子政务、电子商务、电子金融等领域。公钥密码系统主要包括RSA体制、椭圆曲线密码(ECC)体制。椭圆曲线密码体制基于椭圆曲线的离散对数问题的困难性基础,与RSA密码体制相比较,椭圆曲线密码体制的安全性高于RSA密码体制,达到相同的安全强度,椭圆曲线加密体制需要的密钥长度远小于RSA,被认为是当前最安全,用途最广的公钥密码体制。
[0003]素数域是标量乘运算过程中常用的运算域,标量乘算法是椭圆曲线密码系统的核心,模乘算法是标量乘运算中既特别耗时又计算密集性的任务,提高模乘的计算速度往往是打破加密系统瓶颈的关键。使用基本的模乘算法会使得关键路径延迟变长、计算效率降低。
[0004]因此,需要设计一种用于素数域的模乘算法来提高标量乘运算的效率。

技术实现思路

[0005]在下文中给出了关于本专利技术的简要概述,以便提供关于本专利技术的某些方面的基本理解。应当理解,这个概述并不是关于本专利技术的穷举性概述。它并不是意图确定本专利技术的关键或重要部分,也不是意图限定本专利技术的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
[0006]鉴于此,为解决现有技术的技术问题,本专利技术提供一种应用于标量乘的素数域模乘模乘方法。本专利技术通过优化原素数域乘法中所需的大整数乘法,通过使用冗余有符号数来代替一般二进制参与运算,利用冗余有符号数能够在进行加法或减法运算时不需要转换成补码进行运算,而且可以进行无进位加法;利用递归的Toom

Cook

3算法将原本需要81计算的大整数乘法减少至25次,降低了整体二次扩域模乘的计算次数,同时将原来的261位的乘法位宽减少至29位,减少了乘法运算的位数;提出改进后的素数域模乘算法:将其中一些流水线结构转换成并行的结构,减少了乘法运算的时钟周期,可以更短时间内完成标量乘中的模乘运算模块,最终快速实现标量乘运算;
[0007]方案一、一种应用于标量乘的素数域模乘模乘方法,包括以下步骤:
[0008]S1.对输入的操作数进行预计算,将位宽为261位的操作数X,Y转入Toom

Cook域中,将操作数X和Y转换成Toom

Cook域中操作数A,B,当位宽不足时,进行高位补零;
[0009]S2.将操作数A,B转换成冗余有符号数,冗余有符号数包括0,1,

1;
[0010]S3.将261位的操作数A,B进行分解,分解为9段位宽为29位的子操作数,使用Toom

Cook乘法计算单元积,将单元积与矩阵M进行乘法运算得到中间积,通过先移位后异或得到531位Toom

Cook域下部分积Toom(A,B);
[0011]S4.将得到的531位Toom

Cook域下部分积Toom(A,B)转出Toom

Cook域,得到素数域下的531位部分积TC(A,B);
[0012]S5.将素数域的部分积TC(A,B)进行模约减,约减结果为最终的模乘结果。
[0013]优选的,冗余有符号数0使用二进制数00表示,冗余有符号数1使用二进制数10表示,冗余有符号数

1使用二进制数01表示。
[0014]优选的,单元积包括第一部分单元积T0、T1、T2、T3和T4;第二部分单元积R0、R1、R2、R3和R4;第三部分单元积W0、W1、W2、W3和W4;第四部分单元积U0、U1、U2、U3和U4;第五部分单元积V0、V1、V2、V3和V4。
[0015]优选的,矩阵M的值为:
[0016][0017]优选的,中间积包括G0、G1、G2、G3和G4。
[0018]优选的,约减结果包括T、S1、S2、S3、S4、S5、S6、S7、S8和S9。
[0019]方案三、一种电子设备,包括存储器和处理器,存储器存储有计算机程序,所述的处理器执行所述计算机程序时实现方案一所述的一种应用于标量乘的素数域模乘模乘方法的步骤。
[0020]方案四、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现方案一所述的一种应用于标量乘的素数域模乘模乘方法。
[0021]本专利技术的有益效果如下:本专利技术了模乘算法的灵活性和高性能。其最大频率可达1.0Ghz,并且计算以此只需30个周期。总耗时30ns即可完成一次素数域下的大数模乘运算,提高了模乘的运算速率。
附图说明
[0022]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0023]图1为一种应用于标量乘的素数域模乘模乘方法流程示意图;
[0024]图2为快速模约减算法结构示意图。
具体实施方式
[0025]为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施
例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0026]实施例1、参照图1说明本实施方式,一种应用于标量乘的素数域模乘模乘方法,包括以下步骤:
[0027]S1.对输入的操作数进行预计算,将位宽为261位的操作数X,Y转入Toom

Cook域中,将操作数X和Y转换成Toom

Cook域中操作数A,B,当位宽不足时,进行高位补零;
[0028]S2.将操作数A,B转换成冗余有符号数,冗余有符号数包括0,1,

1;
[0029]冗余有符号数0使用二进制数00表示,冗余有符号数1使用二进制数10表示,冗余有符号数

1使用二进制数01表示,使用冗余有符号数进行后续的运算;
[0030]具体的,本专利技术基于冗余有符号数的Toom

Cook

3模乘运算使用冗余有符号数对加法运算进行改进,原有的加法模块是将两个加数直接相加或者转换成补码的形式进行加法运算,冗余有符号数是使用两个整数来表示一个整数,用无符号数来表示有符号数,其具有在进行加法或减法运算时不需要转换成补码再进行运算的特性,冗余有符号数还可以实现无进位加法,不需要在进行加法运算时逐项进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于标量乘的素数域模乘方法,其特征在于,包括以下步骤:S1.对输入的操作数进行预计算,将位宽为261位的操作数X,Y转入Toom

Cook域中,将操作数X和Y转换成Toom

Cook域中操作数A,B,当位宽不足时,进行高位补零;S2.将操作数A,B转换成冗余有符号数,冗余有符号数包括0,1,

1;S3.将261位的操作数A,B进行分解,分解为9段位宽为29位的子操作数,使用Toom

Cook乘法计算单元积,将单元积与矩阵M进行乘法运算得到中间积,通过先移位再异或得到531位Toom

Cook域下部分积Toom(A,B);S4.将得到的531位Toom

Cook域下部分积Toom(A,B)转出Toom

Cook域,得到素数域的531位部分积TC(A,B);S5.将素数域的部分积TC(A,B)进行模约减,约减结果为最终的模乘结果。2.根据权利要求1所述一种应用于标量乘的素数域模乘模乘方法,其特征在于,冗余有符号数0使用二进制数00表示,冗余有符号数1使用二进制数10表示,冗余有符号数<...

【专利技术属性】
技术研发人员:赵石磊庞英健黄海刘志伟于斌马超吴英东
申请(专利权)人:中数深圳时代科技有限公司
类型:发明
国别省市:

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

1