[发明专利]模乘法器电路、FPGA电路和ASIC模块有效
申请号: | 202310813349.6 | 申请日: | 2023-07-05 |
公开(公告)号: | CN116540977B | 公开(公告)日: | 2023-09-12 |
发明(设计)人: | 请求不公布姓名 | 申请(专利权)人: | 北京瑞莱智慧科技有限公司 |
主分类号: | G06F7/72 | 分类号: | G06F7/72;G06F7/575 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 王焕灵 |
地址: | 100084 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 乘法器 电路 fpga asic 模块 | ||
本发明提供了一种模乘法器电路、FPGA电路和ASIC模块。该模乘法器电路包括:第一乘法器、第二乘法器、第三乘法器、第一加法器、第二加法器和二路复用器,其中:第一乘法器的输出端输出和的乘积p1,第二乘法器的输出端输出p1与m的乘积p2;第三乘法器的第一输入端接收,第三乘法器的输出端输出和乘积p3,第一加法器的输出端输出p2和p3之间的差值t,第二加法器的输出端输出t与m的差值t‑m,二路复用器的输出端根据t和m的大小关系选择需要输出的结果。通过本发明,能够减少模乘法器电路的硬件成本。
技术领域
本发明涉及电路技术领域,尤其涉及一种模乘法器电路、FPGA电路和ASIC模块。
背景技术
在密码学中模乘法操作是非常重要的操作。模乘法可以用如下公式描述:,其中,和是模乘法运算的操作数,m为模乘法运算所采用的模数,n为和的长度。为了避免昂贵的除法运算,通常使用Barrett算法或实现大数模乘法运算。
Barrett Reduction算法是Barrett在1986年提出的模代数归约算法。BarrettReduction的基本过程描述如下:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
由于是2的幂,因此对的除法都可以用简单的位操作代替。可以看到BarrettReduction仅仅使用了有限的乘法操作,完全避免了昂贵的除法运算。以上(1)至(7)可以实现操作。
发明人研究发现,采用电路实现上述Barrett Reduction(Barrett规约)的模乘法器,大致分两种思路:一种通用性实现,对输入的和m不做约束,能满足各种场景的需求,但是电路结构较为复杂,优化空间较小,性能难以提升; 一种是专用实现,对m做特殊约束,可以据此产生高度优化的电路,但是由于约束条件较强,仅适用于某些特定的应用场景。
同时,发明人进一步研究发现,在以上两类方法中,模乘法器电路均是把乘法操作和模操作使用两个独立的模块实现,即先计算中间结果, 然后计算。如图1所示出的现有技术中乘法器结构图,乘法器(MUL)模块和求模运算(Barrett Reduction)模块是两个独立、分离的模块。如果能打破两个模块的界限,使两个模块融合,则可以降低冗余的计算,减少不必要的中间结果,从而减少硬件成本,提高计算吞吐率。
因此,如何能减少模乘法器电路的硬件成本,成为本领域亟需解决的技术问题。
发明内容
本发明的目的是提供一种模乘法器电路、FPGA电路和ASIC模块,用于解决现有技术中的技术问题。
一方面,为实现上述目的,本发明提供了一种模乘法器电路。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京瑞莱智慧科技有限公司,未经北京瑞莱智慧科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310813349.6/2.html,转载请声明来源钻瓜专利网。