一种LAC中稀疏多项式乘法加速器的FPGA实现方法技术

技术编号:29672006 阅读:22 留言:0更新日期:2021-08-13 21:53
本发明专利技术公开了一种LAC中稀疏多项式乘法加速器的FPGA实现方法,自底向上包括4个层次:并行设计层、模约简层、流水线设计层以及可伸缩架构设计层,并行设计层采用内外层循环双并行的技术以实现更高效的并行设计架构;模约简层基于格基密码LAC方案模数251的数学特征,设计了新的硬件友好型模约简算法;流水线设计层对流水线进行更细致的划分以提高加速器运行频率;可伸缩架构设计层采用参数p来控制加速器的并行度以实现可伸缩的加速器架构设计,p越大所使用的硬件资源越多、并行度越高,同理p越小所使用的硬件资源越少、并行度越低。本发明专利技术的一种LAC中稀疏多项式乘法加速器的FPGA实现方法并行度更高、工作频率更高、不同场景中的适用性更强。

【技术实现步骤摘要】
一种LAC中稀疏多项式乘法加速器的FPGA实现方法
本专利技术涉及一种格基密码(LAC)方案中的稀疏多项式乘法加速器的FPGA实现,属于计算机领域中的网络空间安全领域。
技术介绍
后量子密码是一种既能抵抗经典计算机攻击又能抵抗量子计算机攻击的密码。目前,后量子密码分为基于格的密码、基于编码的密码和基于多变量的密码。在各种后量子密码中,基于格的密码以其抗量子性、通用性和高效性是最有希望取代传统公钥密码的一类密码。LAC是国人自主设计的一种后量子密码方案,其基于“环上容错学习问题”构建,且入围了NIST后量子密码标准的第二轮评估,得益于其较小的模数,LAC方案具有不错的性能。在LAC方案中,计算量最大的程序是多项式乘法。LAC中的秘密多项式的系数服从中心二项分布,且其取值范围为{-1,0,1}。值得注意的是,在LAC中,半数以上的秘密多项式系数的值为0。因此,当与该多项式相乘时,如果系数为0,则此次运算可以被忽略,这就是稀疏多项式乘法(SPM)的核心思想。SPM的复杂度取决于非零系数的数量,SPM可以使LAC中的乘法指令数量减半。除此之外,本文档来自技高网...

【技术保护点】
1.一种LAC中稀疏多项式乘法加速器的FPGA实现方法,其特征在于,自底向上包括4个层次:并行设计层、模约简层、流水线设计层以及可伸缩架构设计层,并行设计层采用内外层循环双并行的技术以实现更高效的并行设计架构;模约简层基于格基密码LAC方案模数251的数学特征,设计了新的硬件友好型模约简算法;流水线设计层对流水线进行更细致的划分,将复杂的运算拆分成多个简单的运算,提高了加速器的运行频率;可伸缩架构设计层采用参数p来控制加速器的并行度以实现可伸缩的加速器架构设计,p越大所使用的硬件资源越多、并行度越高,同理p越小所使用的硬件资源越少、并行度越低。/n

【技术特征摘要】
1.一种LAC中稀疏多项式乘法加速器的FPGA实现方法,其特征在于,自底向上包括4个层次:并行设计层、模约简层、流水线设计层以及可伸缩架构设计层,并行设计层采用内外层循环双并行的技术以实现更高效的并行设计架构;模约简层基于格基密码LAC方案模数251的数学特征,设计了新的硬件友好型模约简算法;流水线设计层对流水线进行更细致的划分,将复杂的运算拆分成多个简单的运算,提高了加速器的运行频率;可伸缩架构设计层采用参数p来控制加速器的并行度以实现可伸缩的加速器架构设计,p越大所使用的硬件资源越多、并行度越高,同理p越小所使用的硬件资源越少、并行度越低。


2.根据权利要求1所述的一种LAC中稀疏多项式乘法加速器的FPGA实现方法,其特征在于,在并行设计层,采用内外层循环双并行的技术,利用FPGA中分布式内存和块内存具有不同带宽的特点,FPGA中分布式内存作为外层,宽度可灵活调整,每次能从分布式内存中得到若干个位置(position)系数,位置系数的个数与参数p相同,实现了外层循环的p路并行;块内存作为内层,宽度只能是8比特或16比特,每次能从块内存中得到2个多项式系数,实现了内层循环的2路并行。


3.根据权利要求1所述的一种LAC中稀疏多项式乘法加速器的FPGA实现方法,其特征在于,在模约简层,在模251体系下,28与28-251等价,28=28-251=256-251=5=22+1(mod251),设计了新...

【专利技术属性】
技术研发人员:刘哲张吉鹏
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏;32

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

1