【技术实现步骤摘要】
一种基于巴雷特约减的模乘器及约减计算方法
[0001]本专利技术涉及模乘器的设计与应用领域,尤其是一种基于巴雷特约减的模乘器及约减计算方法。
技术介绍
[0002]模乘是基于多项式环的多项式乘法中一个重要的计算单元,而模乘的步骤包括:计算乘积、对乘积进行模约减。所以模乘器的设计需要一个乘法器和一个计算模约减的单元,而通常实现模约减的方法包括巴雷特约减算法、蒙哥马利约减算法、Shoup约减算法。而近年来密码学中比较引起广泛关注的密码方案中,有不少是基于多项式环构建的,如全同态加密和零知识证明等,上述加密方案都需要涉及模乘器的设计。
[0003]巴雷特约减算法是Barrette于1987年提出的一种硬件友好型的快速约减算法。蒙哥马利约减算法需要将待约减的数先切换到蒙哥马利的模域下进行约减后再切换回原先的模域,因此相比巴雷特约减算法更复杂。而Shoup约减算法虽然相比巴雷特约减算法能减少乘法器资源的消耗,但基于Shoup约减的模乘器只能适用于一个变量和一个常量的乘积计算,而巴雷特模乘器可以用于两个变量的模乘计算,故Shou ...
【技术保护点】
【技术特征摘要】
1.一种基于巴雷特约减的模乘器,其特征在于,包括:二输入乘法器、子模块1、子模块2、二输入减法器1、二输入减法器2以及二选一多路选择器;其中,所述二输入乘法器包括两个输入端,分别用于接收对应的待模乘数据;所述二输入乘法器的输出端分别与所述子模块1的输入端以及所述二输入减法器1的第一输入端连接;所述子模块1的输出端与所述子模块2的输入端连接;所述子模块2的输出端与所述二输入减法器1的第二输入端连接;所述二输入减法器1的输出端与所述二输入减法器2的第一输入端连接,所述二输入减法器2的第二输入端用于接收模量;所述二输入减法器1的输出端还与所述二选一多路选择器的第一输入端连接,所述二输入减法器2的输出端与所述二选一多路选择器的第二输入端连接;所述二选一多路选择器的输出端用于输出两个所述待模乘数据与所述模量的模乘结果。2.根据权利要求1所述的一种基于巴雷特约减的模乘器,其特征在于,所述子模块1包括移位器1、移位器2、移位器3、减法器1以及减法器2;其中,所述二输入乘法器的输出端分别与所述移位器1的第一输入端、所述移位器2的第一输入端以及所述减法器2的第一输入端连接;所述移位器1的第二输入端用于接收预计算参数中的第一参数,所述移位器1的输出端与所述减法器1的第一输入端连接;所述移位器2的第二输入端用于接收预计算参数中的第二参数,所述移位器2的输出端与所述减法器1的第二输入端连接;所述减法器1的输出端与所述减法器2的第二输入端连接,所述减法器2的输出端与所述移位器3的第一输入端连接;所述移位器3的第二输入端用于接收预计算参数中的第三参数,所述移位器3的输出端用于与所述子模块2的输入端连接;所述移位器1和所述移位器2采样左移位器,所述移位器3采用右移位器。3.根据权利要求1所述的一种基于巴雷特约减的模乘器,其特征在于,所述子模块1还包括移位器1、移位器2、移位器3、移位器4、减法器1以及减法器2;其中,所述二输入乘法器的输出端分别与所述移位器1的第一输入端、所述移位器2的第一输入端以及所述移位器3的第一输入端连接;所述移位器1的第二输入端用于接收预计算参数中的第四参数,所述移位器1的输出端与所述减法器1的第一输入端连接;所述移位器2的第二输入端用于接收预计算参数中的第五参数,所述移位器2的输出端与所述减法器1的第二输入端连接;所述减法器1的输出端与所述减法器2的第一输入端连接,所述减法器2的第二输入端与所述移位器3的输出端端连接;所述移位器3的第二输入端用于接收预计算参数中的第六参数;所述减法器2的输出端与所述移位器4的第一输入端连接,所述移位器4的第二输入端用于接收预计算参数中的第七参数,所述移位器4的输出端与所述子模块2的输入端连接;所述移位器1和所述移位器2采样左移位器,所述移位器3和所述移位器4采用右移位器。4.根据权利要求1所述的一种基于巴雷特约减的模乘器,其特征在于,所述子模块2包
括第一移位器、第二移位器、加法器1以及加法器2;其中,所述子模块1的输出端分别与所述第一移位器的第一输入端、所述第二移位器的第一输入端以及所述加法器2的第一输入端连接;所述第一移位器...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。