基于后量子密码的HQC硬件加速器及其调度方法

摘要: 本发明涉及集成电路设计及量子加密,尤其涉及一种基于后量子密码的hqc硬件加速器及其调度方法。背景技术:1、后量子密码(pqc)是应对量子计算机威胁的关键技术。其...
基于后量子密码的HQC硬件加速器及其调度方法

本发明涉及集成电路设计及量子加密,尤其涉及一种基于后量子密码的hqc硬件加速器及其调度方法。

背景技术:

1、后量子密码(pqc)是应对量子计算机威胁的关键技术。其中,基于纠错码的hqc(hamming quasi-cyclic)方案已被nist选为标准化算法。然而,在fpga等硬件平台上实现hqc面临以下挑战:

2、算法操作延迟高,现有采样算法的硬件实现存在两类问题:依赖dsp进行模运算,导致面积开销大;需大容量bram存储中间状态,不仅增加资源消耗,且采样延迟随权重ω呈平方级增长。这些方案在硬件实现上均面临延迟或面积开销的挑战。

3、核心模块资源开销大,多项式乘法的核心运算是稀疏多项式与稠密多项式的乘法,现有架构为实现并行,常需复制多份稠密多项式存储器(bram),导致bram资源消耗巨大。此外,现有典型设计中,多项式加法和乘法采用独立模块,硬件复用率低。

4、模块间调度不充分:现有系统调度多采用严格串行或粗粒度重叠,采样、多项式乘法和编解码等模块间存在大量空闲等待周期,未能充分挖掘硬件并行性,系统整体延迟难以进一步降低。

技术实现思路

1、旨在至少解决现有技术中存在的技术问题之一,本发明提供一种基于后量子密码的hqc硬件加速器及其调度方法。

2、本发明的一方面提供一种基于后量子密码的hqc硬件加速器,包括:

3、并行采样模块、并行多项式运算模块及稀疏多项式索引存储器;

4、所述并行采样模块包括模约减单元和采样单元,所述模约减单元用于接收随机数并进行模运算,输出索引;所述采样单元用于接收索引并与稀疏多项式索引存储器中已有索引进行并行比较,根据比较结果对索引进行舍弃或存储;

5、所述并行多项式运算模块包括预乘预处理控制单元、填充移位单元和异或写回单元;

6、所述预乘预处理控制单元用于进行边界处理,包括对稀疏多项式索引存储器的索引进行位截取,还用于从稠密多项式存储器读取数据,将截取结果与读取得到的dw数据通过所述填充移位单元和所述异或写回单元进行拼接和移位,得到正确的初始数据;

7、所述预乘预处理控制单元还用于在所述采样单元还用于在未完成采样时按预设小批次触发多项式乘法。

8、根据所述的基于后量子密码的hqc硬件加速器,其中模约减单元采用模约减单元采用非流水线的移位-减法结构,所述移位-减法结构包括减法器、比较器和移位器;所述模约减单元用于对接收的32位随机数和模数预设时间周期进行模运算,得到模运算后的索引,其中模数通过目标安全等级确定。

9、根据所述的基于后量子密码的hqc硬件加速器,其中采样单元还用于在每次采样迭代时均执行完整检测流程,所述采样单元无论是否检测到索引重复均消耗固定时钟周期,当所述采样单元检测到稀疏多项式索引存储器存在相同的历史值,则根据采样模式进行丢弃该索引并请求新随机数或者消耗固定时钟周期以维持恒定时间特性,否则将索引存储至稀疏多项式索引存储器。

10、根据所述的基于后量子密码的hqc硬件加速器,其中并行采样模块用于通过多个一一对应的模约减单元和采样单元进行并行采样。

11、根据所述的基于后量子密码的hqc硬件加速器,其中预乘预处理控制单元用于根据数据宽度和移位起始对稀疏多项式索引存储器中索引进行位截取,得到以及,还用于从稠密多项式存储器中倒数第二个和最后一个存储块读取dw数据,将截取结果与读取得到的dw数据进行拼接和移位。

12、根据所述的基于后量子密码的hqc硬件加速器,其中填充移位单元包括由多个寄存器构成的寄存器组和多个并行的移位器,所述寄存器组分别与多个并行的移位器和所述稠密多项式存储器连接,所述移位器与所述异或写回单元连接,所述寄存器组用于并行读取截取结果和dw数据并生成连续数据流发送至多个并行的移位器,通过移位器执行移位计算,将移位计算结果通过所述异或写回单元进行累加。

13、根据所述的基于后量子密码的hqc硬件加速器,其中稠密多项式存储器的数量设置为1。

14、根据所述的基于后量子密码的hqc硬件加速器,其中并行采样模块采样到预设数量的索引后,通过并行多项式运算模块执行多项式乘法运算,其中预设数量小于稀疏多项式索引存储器中的索引数量。

15、根据所述的基于后量子密码的hqc硬件加速器,其中对乘法运算时的索引采样和多项式乘法运算同步执行。

16、本发明的另外一方面提供了一种加速器的基于后量子密码的hqc硬件加速器调度方法,包括:

17、对随机数进行并行采样,得到索引,以及,在采样未完成时按预设小批次触发多项式乘法;

18、将索引采用并行方式与存储于稀疏多项式索引存储器的索引进行比较,基于比较结果对索引进行存储或舍弃;

19、对稀疏多项式索引存储器的索引进行边界处理后与稠密多项式存储器的末地址数据进行拼接和移位,得到正确的初始数据。

20、本发明的有益效果为:极高的面积效率,通过psm的轻量化模运算和统一比较架构,相比现有最佳设计,等效逻辑片(equivalent slices,eqs)开销降低84.90%~87.28%(等效逻辑片是一种统一衡量fpga逻辑资源(lut+ff+dsp+bram)的指标),通过共享寄存器组设计,仅用一块稠密多项式存储(无需多端口复制)实现了多路并行乘法,相比多bram复制方案,bram消耗减少42.86%;显著的系统性能提升,采用fgoes调度方案,尽管新规范增加了哈希运算,总系统延迟仍相比上一代加速器降低了22.26%~28.19%,在整体性能上,本发明的面积-时间积(atp)相比现有最优设计,在三个nist安全等级上分别提升了2.42~17.28倍、2.62倍和2.62倍,实现了较高的面积效率;高统一性和可配置性,psm同时支持cww和fnb两种采样模式;ppam统一支持多项式乘法和加法,该设计完全兼容hqc-1/3/5三个安全等级,无需修改数据通路。

1.一种基于后量子密码的hqc硬件加速器,其特征在于,包括:

2.根据权利要求1所述的基于后量子密码的hqc硬件加速器,其特征在于,所述模约减单元采用模约减单元采用非流水线的移位-减法结构,所述移位-减法结构包括减法器、比较器和移位器;所述模约减单元用于对接收的32位随机数和模数预设时间周期进行模运算,得到模运算后的索引,其中模数通过目标安全等级确定。

3.根据权利要求1所述的基于后量子密码的hqc硬件加速器,其特征在于,所述采样单元还用于在每次采样迭代时均执行完整检测流程,所述采样单元无论是否检测到索引重复均消耗固定时钟周期,当所述采样单元检测到稀疏多项式索引存储器存在相同的历史值,则根据采样模式进行丢弃该索引并请求新随机数或者消耗固定时钟周期以维持恒定时间特性,否则将索引存储至稀疏多项式索引存储器。

4.根据权利要求1所述的基于后量子密码的hqc硬件加速器,其特征在于,所述并行采样模块用于通过多个一一对应的模约减单元和采样单元进行并行采样。

5.根据权利要求1所述的基于后量子密码的hqc硬件加速器,其特征在于,所述预乘预处理控制单元用于根据数据宽度和移位起始对稀疏多项式索引存储器中索引进行位截取,得到以及,还用于从稠密多项式存储器中倒数第二个和最后一个存储块读取dw数据,将截取结果与读取得到的dw数据进行拼接和移位。

6.根据权利要求1所述的基于后量子密码的hqc硬件加速器,其特征在于,所述填充移位单元包括由多个寄存器构成的寄存器组和多个并行的移位器,所述寄存器组分别与多个并行的移位器和所述稠密多项式存储器连接,所述移位器与所述异或写回单元连接,所述寄存器组用于并行读取截取结果和dw数据并生成连续数据流发送至多个并行的移位器,通过移位器执行移位计算,将移位计算结果通过所述异或写回单元进行累加。

7.根据权利要求6所述的基于后量子密码的hqc硬件加速器,其特征在于,所述稠密多项式存储器的数量设置为1。

8.根据权利要求1所述的基于后量子密码的hqc硬件加速器,其特征在于,所述并行采样模块采样到预设数量的索引后,通过并行多项式运算模块执行多项式乘法运算,其中预设数量小于稀疏多项式索引存储器中的索引数量。

9.根据权利要求1所述的基于后量子密码的hqc硬件加速器,其特征在于,还包括对乘法运算时的索引采样和多项式乘法运算同步执行。

10.一种根据权利要求1-9任一所述加速器的基于后量子密码的hqc硬件加速器调度方法,其特征在于,包括: