System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种NTT算法的流水化设计电路制造技术_技高网

一种NTT算法的流水化设计电路制造技术

技术编号:43961268 阅读:6 留言:0更新日期:2025-01-07 21:45
本发明专利技术公开了一种NTT算法的流水化设计电路,属于集成电路设计技术领域,该电路包括流水化蝶形单元、数据存储模块、蝶形地址重映射模块和旋转因子模块,该电路同时支持正向NTT与逆向NTT算法,支持不同域上可变参数的运算,采用流水化方法,基于单口SRAM存储多项式系数,提出了一种蝶形地址重映射方法,具备电路面积小,性能高的显著优点。

【技术实现步骤摘要】

本专利技术属于集成电路设计,尤其涉及一种ntt算法的流水化设计电路。


技术介绍

1、美国国家标准与技术研究院(national institute of standards andtechnology,nist)自2016年12月开始面向全球公开征集并制定后量子密码算法,在所有候选算法中,基于格理论的后量子密码算法在数量上占据明显优势。同时,整数型、浮点型主流全同态密码算法,如bgv、bfv、ckks算法均是基于格理论的密码体制。格基密码方案的计算主要是基于多项式环开展,涉及多项式环上的加/减法、乘法、模约减等运算,其中加/减法的计算复杂度是o(n),朴素乘法的计算复杂度为o(n2),随着多项式阶n的不断增大,多项式乘法运算变得异常复杂。

2、相较于crystals-kyber等后量子密码算法中环上多项式阶与模数较小,在硬件设计时不存在资源利用的瓶颈,而在全同态密码算法中,多项式的次数可以达到上万阶,模数达几百比特,在硬件实现整个架构中,多项式乘法部分是最耗时、最耗资源的模块。


技术实现思路

1、本专利技术的目的在于,为克服现有技术缺陷,提供了一种ntt算法的流水化设计电路,旨在解决流水化设计下蝶形操作的读写访问冲突问题。

2、本专利技术目的通过下述技术方案来实现:

3、一种ntt算法的流水化设计电路,所述电路包括:

4、旋转因子模块,所述旋转因子模块生成并存储旋转因子,并将旋转因子发送至流水化蝶形单元作为运算的输入参数,所述旋转因子包括正向ntt旋转因子和逆向intt旋转因子;

5、流水化蝶形单元,所述流水化蝶形单元执行多级流水运算和流水模乘运算,并将输入参数和运算结果存储到数据存储模块;

6、数据存储模块,所述数据存储模块存储ntt算法的多项式系数,以及所述流水化蝶形单元输出的输入参数和运算结果;

7、蝶形地址重映射模块,所述蝶形地址重映射模块对所述流水运算中每层运算的实际位序进行调整,并对最后一层流水运算的数据调整,将所述流水化蝶形单元输出的存储访问地址重映射后生成访问所述数据存储模块的地址信号。

8、进一步的,所述流水化蝶形单元通过规避数据的比特逆序拷贝操作,对存储地址直接进行比特逆序访问。

9、进一步的,所述流水化蝶形单元在执行所述流水模乘运算时,通过在每层的蝶形操作上增加模除以2运算,省略intt最后对所有多项式环系数参数的模逆n运算。

10、进一步的,所述流水化蝶形单元对ntt运算采用正向位序数据输入,比特逆序位序输出,对intt运算采用比特逆序位序输入,正向位序数据输出。

11、进一步的,所述执行多级流水运算具体包括:

12、执行6级流水操作,具体为:

13、第一级流水操作:执行单周期两次读操作;

14、第二级流水操作:执行第一级乘法;

15、第三级流水操作:执行第二级乘法;

16、第四级流水操作:执行第三级乘法;

17、第五级流水操作:执行模乘的最后一级减法、蝶形操作的模加、模减和intt的模除以2操作;

18、第六级流水操作:执行单周期两次写操作。

19、进一步的,所述多项式系数存储单元采用第一单口静态随机存储器和第二单口静态随机存储器配合,以乒乓buffer的形式缓存数据。

20、本专利技术的有益效果在于:

21、(1)本专利技术设计了一种ntt算法的通用型流水化电路,结合ntt算法蝶形操作与模乘运算的特点,基于模乘算法,支持域参数的可配置设计,可实现不同位宽的模乘运算,能有效满足后量子算法不同参数与安全强度的需求。

22、(2)本专利技术在电路设计上,正向ntt与逆向ntt算法共用一套硬件逻辑,结合动态型或静态存储型旋转因子模块的正逆向参数匹配,以及正向位序数据输入、比特逆序位序输出的结构调整,既节省了硬件资源,又具备两者运算使用上的灵活性。

23、(3)本专利技术基于蝶形地址重映射方法,采用单口sram存储多项式系数,具备电路面积小,性能高的显著优点。性能上,采用单蝶形单元全流水实现,ntt/intt运算的周期数约等于(n/2)·logn,当n=256时,约1000个周期,当n=8192时,约5.3万个周期。资源消耗上,相较于其他高性能方案(如多周期并行化)的设计方法具有明显的资源消耗优势。

本文档来自技高网...

【技术保护点】

1.一种NTT算法的流水化设计电路,其特征在于,所述电路包括:

2.如权利要求1所述的NTT算法的流水化设计电路,其特征在于,所述流水化蝶形单元通过规避数据的比特逆序拷贝操作,对存储地址直接进行比特逆序访问。

3.如权利要求1所述的NTT算法的流水化设计电路,其特征在于,所述流水化蝶形单元在执行所述流水模乘运算时,通过在每层的蝶形操作上增加模除以2运算,省略INTT最后对所有多项式环系数参数的模逆n运算。

4.如权利要求1所述的NTT算法的流水化设计电路,其特征在于,所述流水化蝶形单元对NTT运算采用正向位序数据输入,比特逆序位序输出,对INTT运算采用比特逆序位序输入,正向位序数据输出。

5.如权利要求1所述的NTT算法的流水化设计电路,其特征在于,所述执行多级流水运算具体包括:

6.如权利要求5所述的NTT算法的流水化设计电路,其特征在于,所述多项式系数存储单元采用第一单口静态随机存储器和第二单口静态随机存储器配合,以乒乓buffer的形式缓存数据。

【技术特征摘要】

1.一种ntt算法的流水化设计电路,其特征在于,所述电路包括:

2.如权利要求1所述的ntt算法的流水化设计电路,其特征在于,所述流水化蝶形单元通过规避数据的比特逆序拷贝操作,对存储地址直接进行比特逆序访问。

3.如权利要求1所述的ntt算法的流水化设计电路,其特征在于,所述流水化蝶形单元在执行所述流水模乘运算时,通过在每层的蝶形操作上增加模除以2运算,省略intt最后对所有多项式环系数参数的模逆n运算。

4.如权利要求1所...

【专利技术属性】
技术研发人员:王明东李军梅瑞毛发英吴朋庭蔡磊
申请(专利权)人:成都三零嘉微电子有限公司
类型:发明
国别省市:

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

1