一种模运算电路及模运算方法技术

技术编号:38592117 阅读:11 留言:0更新日期:2023-08-26 23:30
本申请公开了一种模运算电路及模运算方法,模运算电路中包含有两个模减法器、一个模加法器和一个模乘法器等硬件资源,通过配置所述模运算电路的三个信号输入端的输入信号(例如:第一待处理数据、第二待处理数据和旋转因子),而后利用模运算电路对三个信号输入端的输入信号进行处理,能够实现NTT变换的核心操作,即蝶形变换。并且,通过配置模运算电路的两个控制信号输入端的控制信号,能够对第一数据选择器和第二数据选择器的输出数据进行控制,以便实现模运算电路的重构,借由一套硬件资源实现了多种形式的模运算处理,示例如CT蝶形变换和GS蝶形变换,对各硬件资源进行了复用,节约了硬件资源的布设成本。约了硬件资源的布设成本。约了硬件资源的布设成本。

【技术实现步骤摘要】
一种模运算电路及模运算方法


[0001]本申请涉及格密码
,更具体的说,是涉及一种模运算电路及模运算方法。

技术介绍

[0002]量子计算机的快速发展,提高了对特定复杂科学问题的求解能力,同时,也对公钥密码算法RSA、基于椭圆曲线数学的公钥加密算法(Ellipse Curve Ctyptography,ECC)等传统的公开密钥算法的安全性造成了威胁。
[0003]为了抵御量子计算机对密码学和信息安全的威胁,需要研究在量子环境下仍能高效运行的密码算法,即后量子密码算法,也可以称作抗量子密码算法。
[0004]在现有的后量子密码算法中,格密码算法处于主导地位。格密码算法是一种基于格(lattice)的数学结构的密码算法。在格密码算法的实现过程中,多项式乘法是格密码算法最核心的底层运算方式,优化多项式乘法的计算过程有助于提高格密码算法的计算效率。
[0005]当前,通常使用快速数论变换(Number Theoretic Transform,NTT),来优化多项式乘法,基于NTT的多项式乘法能够将计算的时间复杂度从O(n2)降低到线性复杂度O(nlogn)。并且在进行NTT变换时,使用的都是模运算方式,因此,需要设计一种适用于NTT变换的模运算电路。

技术实现思路

[0006]鉴于上述问题,提出了本申请以便提供一种适用于NTT变换的模运算电路及模运算方法。
[0007]具体方案如下:
[0008]第一方面,提供了一种模运算电路,所述电路包括:第一信号输入端、第二信号输入端、第三信号输入端、第一模减法器、第二模减法器、模乘法器、模加法器、第一信号输出端、第二信号输出端、第三信号输出端、第一数据选择器、第一控制信号输入端、第二数据选择器以及第二控制信号输入端;
[0009]所述第一模减法器的第一输入端连接所述第一信号输入端,所述第一模减法器的第二输入端连接所述第二信号输入端,所述第一模减法器的输出端连接所述第一数据选择器的第一输入端;
[0010]所述第一数据选择器的第二输入端连接所述第二信号输入端,所述第一数据选择器的输出端连接所述模乘法器的第一输入端,所述第一数据选择器的控制端连接所述第一控制信号输入端;
[0011]所述模乘法器的第二输入端连接所述第三信号输入端,所述模乘法器的输出端连接所述第二信号输出端,并且连接所述第二模减法器的第二输入端;
[0012]所述第二模减法器的第一输入端连接所述第一信号输入端,所述第二模减法器的输出端连接所述第一信号输出端;
[0013]所述模乘法器的输出端连接所述第二数据选择器的第一输入端,所述第二数据选择器的第二输入端连接所述第二信号输入端,所述第二数据选择器的输出端连接所述模加法器的第一输入端,所述第二数据选择器的控制端连接所述第二控制信号输入端;
[0014]所述模加法器的第二输入端连接所述第一信号输入端,所述模加法器的输出端连接所述第三信号输出端。
[0015]第二方面,提供了一种模运算方法,应用于上述的模运算电路,所述方法包括:
[0016]配置所述第一信号输入端的输入信号为第一待处理数据;
[0017]配置所述第二信号输入端的输入信号为第二待处理数据;
[0018]配置所述第三信号输入端的输入信号为旋转因子;
[0019]根据预设的运算目标,配置所述第一控制信号输入端的控制信号和所述第二控制信号输入端的控制信号;
[0020]从所述运算目标对应的信号输出端,获取目标运算结果。
[0021]借由上述技术方案,本申请提供了一种模运算电路,其中包含有两个模减法器、一个模加法器和一个模乘法器等硬件资源,通过配置所述模运算电路的三个信号输入端的输入信号、利用所述模运算电路对三个信号输入端提供的输入信号(例如,第一待处理数据、第二待处理数据和旋转因子)进行处理,可以实现NTT变换的核心操作,即蝶形变换。
[0022]并且,通过配置所述模运算电路的两个控制信号输入端的控制信号,能够对第一数据选择器和第二数据选择器的输出数据进行控制。由于控制信号不同,数据选择器的输出数据不同,也就是说,通过数据选择器,能够实现模运算电路的重构,因此,所述模运算电路能够在不同的控制信号的作用下,实现至少两种运算,示例如CT蝶形变换和GS蝶形变换这两种结构的蝶形变换。
[0023]本申请提供的模运算电路,借由一套硬件资源实现了多种形式的模运算处理,对各硬件资源进行了复用,节约了硬件资源的布设成本。
附图说明
[0024]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0025]图1示例了按时间抽取的CT蝶形变换的过程示意图;
[0026]图2示例了按频率抽取的GS蝶形变换的过程示意图;
[0027]图3为本申请实施例提供的一种模运算电路的结构示意图;
[0028]图4为本申请实施例提供的一种模运算方法的流程示意图;
[0029]图5为本申请实施例提供的另一种模运算电路的结构示意图;
[0030]图6为本申请实施例提供的又一种模运算电路的结构示意图;
[0031]图7为本申请实施例提供的又一种模运算电路的结构示意图;
[0032]图8为本申请实施例提供的又一种模运算电路的结构示意图;
[0033]图9为本申请实施例提供的又一种模运算电路的结构示意图。
具体实施方式
[0034]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0035]NTT变换是快速傅里叶变换(Fast Fourier Transform,FFT)在有限域上的推广,NTT继承了FFT的思想,并使用有限域上的原单位根来取代FFT中的复平面上的单位根,以便在多项式环上实现多项式乘法的快速计算。
[0036]NTT变换的核心运算部件是蝶形变换,蝶形变换有两种基本结构:一种是按时间抽取的Cooley

Tukey(CT)蝶形变换,图1示出了CT蝶形变换的过程示意图,在CT蝶形变换中,先进行模乘运算(w
×
B),再进行模加/模减运算;另一种是按频率抽取的Gentleman

Sande(GS)蝶形变换,图2示出了GS蝶形变换的过程示意图,在GS蝶形变换中,先进行模加/模减运算,再进行模乘运算((A-B)
×
w),其中,参数A、参数B为待处理数据,参数w是NTT变换中的旋转因子。
[0037]通过比较两种蝶形变换,得知:两种蝶形变换的数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模运算电路,其特征在于,所述电路包括:第一信号输入端、第二信号输入端、第三信号输入端、第一模减法器、第二模减法器、模乘法器、模加法器、第一信号输出端、第二信号输出端、第三信号输出端、第一数据选择器、第一控制信号输入端、第二数据选择器以及第二控制信号输入端;所述第一模减法器的第一输入端连接所述第一信号输入端,所述第一模减法器的第二输入端连接所述第二信号输入端,所述第一模减法器的输出端连接所述第一数据选择器的第一输入端;所述第一数据选择器的第二输入端连接所述第二信号输入端,所述第一数据选择器的输出端连接所述模乘法器的第一输入端,所述第一数据选择器的控制端连接所述第一控制信号输入端;所述模乘法器的第二输入端连接所述第三信号输入端,所述模乘法器的输出端连接所述第二信号输出端,并且连接所述第二模减法器的第二输入端;所述第二模减法器的第一输入端连接所述第一信号输入端,所述第二模减法器的输出端连接所述第一信号输出端;所述模乘法器的输出端连接所述第二数据选择器的第一输入端,所述第二数据选择器的第二输入端连接所述第二信号输入端,所述第二数据选择器的输出端连接所述模加法器的第一输入端,所述第二数据选择器的控制端连接所述第二控制信号输入端;所述模加法器的第二输入端连接所述第一信号输入端,所述模加法器的输出端连接所述第三信号输出端。2.根据权利要求1所述的电路,其特征在于,所述电路还包括第四信号输入端、第三数据选择器和第三控制信号输入端;所述第三数据选择器设置在所述模乘法器的第二输入端和所述第三信号输入端的连接线路上,所述第三数据选择器的第一输入端连接所述第三信号输入端,所述第三数据选择器的输出端连接所述模乘法器的第二输入端,所述第三数据选择器的第二输入端连接所述第四信号输入端,所述第三数据选择器的控制端连接所述第三控制信号输入端。3.根据权利要求2所述的电路,其特征在于,所述电路还包括:所述第一数据选择器的第三输入端连接所述第一信号输入端,所述第一数据选择器的第四输入端连接所述第三信号输入端;所述第三数据选择器的第三输入端和第四输入端均连接所述第二信号输入端。4.根据权利要求1所述的电路,其特征在于,所述电路还包括第四数据选择器和第四控制信号输入端;所述第四数据选择器设置在所述模乘法器的输出端和所述第二模减法器的第二输入端的连接线路上,所述第四数据选择器的第二输入端连接所述模乘法器的输出端,所述第四数据选择器的输出端连接所述第二模减法器的第二输入端,所述第四数据选择器的第一输入端连接所述第二信号输入端,所述第四数据选择器的控制端连接所述第四控制信号输入端。5.根据权利要求1

4中任一项所述的电路,其特征在于,所述模乘法器为蒙哥马利模乘法器,或,巴雷特模乘法器。6.一种模运算方法,其特征在于,应用于如权利要求1所述的模运算电路,所述方法包
括:配置所述第一信号输入端的输入信号为第一待处理数据;配置所述第二信号输入端的输入信号为第二待处理数据;配置所述第三信号输入端的输入信号为旋转因子;根据预设的运算目标,配置所述第一控制信号输入端的控制信号和所述第二控制信号输入端的控制信号;从所述运算目标对应的信号输出端,获取目标运算结果。7.根据权利要求6所述的方法,其特征在于,所述根据预设的运算目标,配置所述第一控制信号输入端的控制信号和所述第二控制信号输入端的控制信号,包括:在预设的所述运算目标为按频率抽取的GS蝶形变换的情况下,执行如下步骤:将所述第一控制信号输入端的控制信号配置为二进制数0,以供所述第一数据选择器输出所述第一待处理数据和所述第二待处理数据的模减运算结果;将所述第二控制信号输入端的控制信号配置为二进制数1,以供所述第二数据选择器输出所述第二待处理数据;所述从所述运算目标对应的信号输出端,获取目标运算结果,包括:将所述第二信号输出端和所述第三信号输出端,确定为所述GS蝶形变换对应的信号输出端;获取所述第二信号输出端的第一运算结果;获取所述第三信号输出端的第二运算结果;由所述第一运算结果和所述第二运算结果,构成所述目标运算结果。8.根据权利要求6所述的方法,其特征在于,所述根据预设的运算目标,配置所述第一控制信号输入端的控制信号和所述第二控制信号输入端的控制信号,包括:在预设的所述运算目标为按时间抽取的CT蝶形变换的情况下,执行如下步骤:将所述第一控制信号输入端的控制信号配置为二进制数1,以供所述第一数据选择器输出所述第二待处理数据;将所述第二控制信号输入端的控制信号配置为二进制数0,以供所述第二数据选择器输出所述第二待处理数据和所述旋转因子的模乘运算结果;所述从所述运算目标对应的信号输出端,获取目标运算结果,包括:将所述第一信号输出端和所述第三信号输出端,确定为所述CT蝶形变换对应的信号输出端...

【专利技术属性】
技术研发人员:朱春生张立朝钟晶鑫郭朋飞严迎建李军伟
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:

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

1