【技术实现步骤摘要】
一种模运算电路及模运算方法
[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]第一方面,提供了一种模运算电路,所述电路包括:第一信号输入端、第二信 ...
【技术保护点】
【技术特征摘要】
1.一种模运算电路,其特征在于,所述电路包括:第一信号输入端、第二信号输入端、第三信号输入端、第一模减法器、第二模减法器、模乘法器、模加法器、第一信号输出端、第二信号输出端、第三信号输出端、第一数据选择器、第一控制信号输入端、第二数据选择器以及第二控制信号输入端;所述第一模减法器的第一输入端连接所述第一信号输入端,所述第一模减法器的第二输入端连接所述第二信号输入端,所述第一模减法器的输出端连接所述第一数据选择器的第一输入端;所述第一数据选择器的第二输入端连接所述第二信号输入端,所述第一数据选择器的输出端连接所述模乘法器的第一输入端,所述第一数据选择器的控制端连接所述第一控制信号输入端;所述模乘法器的第二输入端连接所述第三信号输入端,所述模乘法器的输出端连接所述第二信号输出端,并且连接所述第二模减法器的第二输入端;所述第二模减法器的第一输入端连接所述第一信号输入端,所述第二模减法器的输出端连接所述第一信号输出端;所述模乘法器的输出端连接所述第二数据选择器的第一输入端,所述第二数据选择器的第二输入端连接所述第二信号输入端,所述第二数据选择器的输出端连接所述模加法器的第一输入端,所述第二数据选择器的控制端连接所述第二控制信号输入端;所述模加法器的第二输入端连接所述第一信号输入端,所述模加法器的输出端连接所述第三信号输出端。2.根据权利要求1所述的电路,其特征在于,所述电路还包括第四信号输入端、第三数据选择器和第三控制信号输入端;所述第三数据选择器设置在所述模乘法器的第二输入端和所述第三信号输入端的连接线路上,所述第三数据选择器的第一输入端连接所述第三信号输入端,所述第三数据选择器的输出端连接所述模乘法器的第二输入端,所述第三数据选择器的第二输入端连接所述第四信号输入端,所述第三数据选择器的控制端连接所述第三控制信号输入端。3.根据权利要求2所述的电路,其特征在于,所述电路还包括:所述第一数据选择器的第三输入端连接所述第一信号输入端,所述第一数据选择器的第四输入端连接所述第三信号输入端;所述第三数据选择器的第三输入端和第四输入端均连接所述第二信号输入端。4.根据权利要求1所述的电路,其特征在于,所述电路还包括第四数据选择器和第四控制信号输入端;所述第四数据选择器设置在所述模乘法器的输出端和所述第二模减法器的第二输入端的连接线路上,所述第四数据选择器的第二输入端连接所述模乘法器的输出端,所述第四数据选择器的输出端连接所述第二模减法器的第二输入端,所述第四数据选择器的第一输入端连接所述第二信号输入端,所述第四数据选择器的控制端连接所述第四控制信号输入端。5.根据权利要求1
‑
4中任一项所述的电路,其特征在于,所述模乘法器为蒙哥马利模乘法器,或,巴雷特模乘法器。6.一种模运算方法,其特征在于,应用于如权利要求1所述的模运算电路,所述方法包
括:配置所述第一信号输入端的输入信号为第一待处理数据;配置所述第二信号输入端的输入信号为第二待处理数据;配置所述第三信号输入端的输入信号为旋转因子;根据预设的运算目标,配置所述第一控制信号输入端的控制信号和所述第二控制信号输入端的控制信号;从所述运算目标对应的信号输出端,获取目标运算结果。7.根据权利要求6所述的方法,其特征在于,所述根据预设的运算目标,配置所述第一控制信号输入端的控制信号和所述第二控制信号输入端的控制信号,包括:在预设的所述运算目标为按频率抽取的GS蝶形变换的情况下,执行如下步骤:将所述第一控制信号输入端的控制信号配置为二进制数0,以供所述第一数据选择器输出所述第一待处理数据和所述第二待处理数据的模减运算结果;将所述第二控制信号输入端的控制信号配置为二进制数1,以供所述第二数据选择器输出所述第二待处理数据;所述从所述运算目标对应的信号输出端,获取目标运算结果,包括:将所述第二信号输出端和所述第三信号输出端,确定为所述GS蝶形变换对应的信号输出端;获取所述第二信号输出端的第一运算结果;获取所述第三信号输出端的第二运算结果;由所述第一运算结果和所述第二运算结果,构成所述目标运算结果。8.根据权利要求6所述的方法,其特征在于,所述根据预设的运算目标,配置所述第一控制信号输入端的控制信号和所述第二控制信号输入端的控制信号,包括:在预设的所述运算目标为按时间抽取的CT蝶形变换的情况下,执行如下步骤:将所述第一控制信号输入端的控制信号配置为二进制数1,以供所述第一数据选择器输出所述第二待处理数据;将所述第二控制信号输入端的控制信号配置为二进制数0,以供所述第二数据选择器输出所述第二待处理数据和所述旋转因子的模乘运算结果;所述从所述运算目标对应的信号输出端,获取目标运算结果,包括:将所述第一信号输出端和所述第三信号输出端,确定为所述CT蝶形变换对应的信号输出端...
【专利技术属性】
技术研发人员:朱春生,张立朝,钟晶鑫,郭朋飞,严迎建,李军伟,
申请(专利权)人:中国人民解放军战略支援部队信息工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。