用于实现格基抗量子密码算法的协处理器、芯片、电子设备和密钥生成方法与流程

摘要: 本申请涉及信息安全,更具体地涉及一种用于实现格基抗量子密码算法的协处理器、芯片、电子设备和密钥生成方法。背景技术:1、目前,格基抗量子密码算法协议都是以软硬件相...
用于实现格基抗量子密码算法的协处理器、芯片、电子设备和密钥生成方法与流程

本申请涉及信息安全,更具体地涉及一种用于实现格基抗量子密码算法的协处理器、芯片、电子设备和密钥生成方法。

背景技术:

1、目前,格基抗量子密码算法协议都是以软硬件相结合的系统架构设计方式去实现的,这种传统的系统架构存在一些问题。

2、例如,虽然抗量子密码算法协议流程中最为耗时复杂的多项式以及哈希运算采用了硬件化的设计,初步加速了抗量子密码算法流程的运算,但是,在算法流程中包含的其他一些密码学运算由软件实现依旧是耗时的,因此协议流程整体的运算性能依旧很低。

3、此外,上述由软硬件结合的系统架构方式实现的格基抗量子密码算法协议在运算过程中只能依照算法协议流程进行顺序计算,因此对于系统资源以及硬件加速器的资源的利用率很低。

4、而且,由于由软硬件结合的系统架构方式实现的格基抗量子密码算法协议自身运算性能以及资源利用率低下的问题,因此这种方式实现的格基抗量子密码算法协议只能应用到低端及边缘iot设备上,应用范围具有很大的局限性。

技术实现思路

1、为了解决上述问题中的至少一个而提出了本申请。根据本申请一方面,提供了一种用于实现格基抗量子密码算法的协处理器,所述协处理器包括:处理器核,所述处理器核包括至少两个运算核,所述至少两个运算核能够实现格基抗量子密码算法的全部运算;寄存器,所述寄存器用于存储调用所述运算核中函数所需的配置信息;存储器控制器,存储器控制器用于在所述至少两个运算核的控制下,根据所述配置信息对存储器中的数据进行调用,以实现所述至少两个运算核彼此之间能够并行运算。

2、在本申请的一个实施例中,所述处理器核包括至少三个运算核,同一运算核用于实现同一类型的运算,不同运算核用于实现不同类型的运算。

3、在本申请的一个实施例中,所述处理器核包括三个运算核,分别为:哈希运算核,用于实现所述格基抗量子密码算法中的哈希运算和采样运算;算术运算核,用于实现所述格基抗量子密码算法中的算术运算;格式运算核,用于实现所述格基抗量子密码算法中的格式变换运算。

4、在本申请的一个实施例中,所述哈希运算核包括:哈希模块,用于实现哈希运算;缓冲器,用于存储所述哈希模块输出的结果数据;采样模块,能够从所述缓冲器中读取所述结果数据进行采样,以实现所述哈希模块和所述采样模块之间的并行运算。

5、在本申请的一个实施例中,所述格式运算核实现的格式变换运算包括编码运算、解码运算、压缩运算和解压缩运算。

6、在本申请的一个实施例中,所述存储器控制器在所述至少两个运算核的控制下,在同一时间对不同存储器中的数据进行调用,以实现所述至少两个运算核彼此之间能够并行运算。

7、在本申请的一个实施例中,所述存储器控制器为单端口或者双端口存储器控制器。

8、在本申请的一个实施例中,所述协处理器能够同时实现所述格基抗量子密码算法中的密钥封装算法和数字签名算法。

9、根据本申请另一方面,提供了一种密钥生成方法,所述方法由前文所述的用于实现格基抗量子密码算法的协处理器执行,所述方法包括:

10、第一步骤:基于随机数数据生成字节数组,将所述字节数组划分为第一数组和第二数组,所述第二数组作为私钥的第一部分;

11、第二步骤:基于所述第一数组进行第一多项式向量采样,得到第一采样结果;

12、第三步骤:包括同时进行的步骤a和步骤b,其中,所述步骤a为基于预设参数对所述第一采样结果进行数论变换得到第一数论变换结果,所述步骤b为基于所述第一数组进行第二多项式向量采样得到第二采样结果;

13、第四步骤:包括同时进行的步骤c和步骤d,其中,所述步骤c为基于所述第二数组进行第一多项式矩阵采样,得到第三采样结果,所述步骤d为基于所述预设参数对所述第二采样结果进行数论变换得到第二数论变换结果;

14、第五步骤:基于所述第三采样结果和所述第一数论变换结果生成第三多项式向量;

15、第六步骤:包括同时进行的步骤e和步骤f,其中所述步骤e为基于所述第三多项式向量生成第四多项式向量,所述步骤f为对所述第一数论变换结果进行编码得到所述私钥的第二部分;

16、第七步骤:基于所述第四多项式向量和所述第二数论变换结果生成待编码结果;

17、第八步骤:对所述待编码结果进行编码得到公钥。

18、在本申请的一个实施例中,所述第一步骤、所述第二步骤、所述第三步骤的步骤b以及所述第四步骤的步骤c由所述协处理器的哈希运算核执行;所述第三步骤的步骤a、所述第四步骤的步骤d、所述第五步骤、所述第六步骤的步骤e以及所述第七步骤由所述协处理器的算术运算核执行;所述第六步骤的步骤f以及所述第八步骤由所述协处理器的格式运算核执行。

19、在本申请的一个实施例中,所述随机数数据和所述预设参数存储在第一存储器中;所述第一数组、所述第二采样结果存储在第二存储器中,所述第二数组、所述第一采样结果、所述第三采样结果、所述第三多项式向量、所述第四多项式向量、所述待编码的结果、所述公钥存储在第三存储器中;所述第一数论变换结果、所述第二数论变换结果、所述私钥的第二部分存储在第四存储器中。

20、根据本申请再一方面,提供了一种芯片,所述芯片包括存储器、中央处理器和协处理器,其中所述协处理器为上述的用于实现格基抗量子密码算法的协处理器。

21、根据本申请又一方面,提供了一种电子设备,其特征在于,所述电子设备包括上述的芯片。

22、本申请的用于实现格基抗量子密码算法的协处理器实现了格基抗量子密码算法中运算函数全硬件化设计,能够极大提升算法整体流程的运算速度。此外,该协处理器执行格基抗量子密码算法时,算法协议整体流程计算中部分密码学函数能够并行处理,在进一步提升运算性能的同时也极大地提高了对系统及硬件资源的利用率。进一步地,由于算法运算性能的提升以及对系统及硬件资源的利用率的提升,使得由该协处理器实现的格基抗量子密码算法可应用到对算法运算性能更高的中高端产品中。

1.一种用于实现格基抗量子密码算法的协处理器,其特征在于,所述协处理器包括:

2.根据权利要求1所述的协处理器,其特征在于,所述处理器核包括至少三个运算核。

3.根据权利要求2所述的协处理器,其特征在于,所述处理器核包括三个运算核,分别为:

4.根据权利要求3所述的协处理器,其特征在于,所述哈希运算核包括:

5.根据权利要求4所述的协处理器,其特征在于,所述哈希运算核还包括:

6.根据权利要求4所述的协处理器,其特征在于,所述哈希模块包括海绵函数核,所述海绵函数核用于完成哈希运算,并产生伪随机数据。

7.根据权利要求6所述的协处理器,其特征在于,所述海绵函数核包括内部状态机和双随机数运算核,其中所述双随机数运算核结构用于提高哈希运算的效率。

8.根据权利要求7所述的协处理器,其特征在于,所述内部状态机为1600比特状态机。

9.根据权利要求4所述的协处理器,其特征在于,所述缓冲器为1344比特的缓冲器。

10.根据权利要求4所述的协处理器,其特征在于,所述采样模块用于实现不同类型的采样函数。

11.根据权利要求3所述的协处理器,其特征在于,所述算术运算核用于实现以下运算中的至少一项:多项式乘法运算、多项式加减法运算、数论变换、逆数论变换以及取模运算。

12.根据权利要求3所述的协处理器,其特征在于,所述格式运算核用于实现以下运算中的至少一项:编码运算、解码运算、压缩运算以及解压缩运算。

13.根据权利要求1所述的协处理器,其特征在于,所述寄存器包括函数选择寄存器、参数配置寄存器和运算启动寄存器,用于分别实现运算核的函数选择、参数配置和运算启动。

14.根据权利要求1所述的协处理器,其特征在于,所述寄存器调用的所述配置信息用于选择运算核中的具体函数。

15.根据权利要求1所述的协处理器,其特征在于,所述存储器控制器接收来自所述寄存器和所述处理器核中的控制信号,用于控制互联网协议与系统层存储器之间的数据交互。

16.根据权利要求1所述的协处理器,其特征在于,所述存储器控制器在所述至少两个运算核的控制下,在同一时间对不同存储器中的数据进行调用,以实现所述至少两个运算核彼此之间能够并行运算。

17.根据权利要求16所述的协处理器,其特征在于,所述存储器控制器为单端口或者双端口存储器控制器。

18.根据权利要求1-17中的任一项所述的协处理器,其特征在于,所述协处理器被配置为同时实现所述格基抗量子密码算法中的密钥封装算法和数字签名算法。

19.根据权利要求18所述的协处理器,其特征在于,所述协处理器在实现所述密钥封装算法时吞吐量达到18903 ops。

20.根据权利要求18所述的协处理器,其特征在于,所述协处理器在实现所述数字签名算法时吞吐量达到5432 ops。

21.根据权利要求1-17中的任一项所述的协处理器,其特征在于,所述协处理器被配置为所述格基抗量子密码算法中所包括的全部算法。

22.根据权利要求1-17中的任一项所述的协处理器,其特征在于,所述协处理器的制程工艺能够适用40nm工艺。

23.根据权利要求1-17中的任一项所述的协处理器,其特征在于,所述协处理器的时钟频率为200mhz。

24.一种密钥生成方法,其特征在于,所述方法由权利要求1-23中的任一项所述的用于实现格基抗量子密码算法的协处理器执行,所述方法包括:

25.根据权利要求24所述的方法,其特征在于,

26.根据权利要求24或25所述的方法,其特征在于,

27.根据权利要求24所述的方法,其特征在于,所述第一步骤包括调用sha3_512函数生成所述字节数组。

28.根据权利要求24所述的方法,其特征在于,所述公钥为标准数组形式的公钥。

29.根据权利要求24所述的方法,其特征在于,所述私钥为标准数组形式的公钥。

30.一种芯片,其特征在于,所述芯片包括存储器、中央处理器和协处理器,其中所述协处理器为权利要求1-22中的任一项所述的用于实现格基抗量子密码算法的协处理器。

31.一种电子设备,其特征在于,所述电子设备包括权利要求30所述的芯片。