一种GPU用抗量子攻击SPHINCS+签名算法并行实现方法及系统技术方案

技术编号:39395385 阅读:7 留言:0更新日期:2023-11-19 15:50
本发明专利技术公开了一种GPU用抗量子攻击SPHINCS+签名算法并行实现方法及系统,通过四层并行策略,包括第一级树间并行,第二级节点间并行,第三级节点内部并行和第四级哈希函数并行,结合多级并行方案的决策,得到一种GPU用抗量子攻击SPHINCS

【技术实现步骤摘要】
一种GPU用抗量子攻击SPHINCS+签名算法并行实现方法及系统


[0001]本专利技术属于网络安全
,具体涉及一种GPU用抗量子攻击SPHINCS+签名算法并行实现方法及系统。

技术介绍

[0002]网络安全是一门综合性的学科,包含网络设备安全、网络信息安全和网络软件安全。信息的安全传输是网络信息安全中的一部分,主要涉及密码学的知识。数字签名方法可以提示数据在网络传输后是否被篡改,是一种无处不在的网络身份验证技术,其中,SPHINCS
+
是一种可以抵御量子威胁的基于哈希的数字签名方法,于2022被选择为下一步标准化的方法。
[0003]量子威胁指的是Shor和Grover等方法可以使用量子计算机来破解现有密码体系,如RSA、DSA和ECDSA。如果足够算力的大型量子计算机被研发出来,破解现有密码体系将变得可行。如今量子计算机正迅速发展,因此研究可以抵御量子威胁的方法变得愈发重要。之前,XMSS和LMS方法是目前仅有的标准化抗量子攻击签名方法,这些方法和SPHINCS
+
一样都是基于哈希的方法,但是不同点在于它们是有状态方法,存在一些使用限制:如多设备时同步状态。而SPHINCS
+
是无状态方法,因此不存在使用限制。
[0004]但是由于使用了状态无关模块,无状态方法的计算开销要高于有状态方法。因此,为了提高SPHINCS
+
签名方法的可用性,亟待提高方法运行效率。

技术实现思路

[0005]本专利技术所要解决的技术问题在于针对上述现有技术中的不足,提供一种GPU用抗量子攻击SPHINCS+签名算法并行实现方法及系统,用于解决SPHINCS
+
数字签名方法无法有效利用GPU多核架构并行运行的技术问题。
[0006]本专利技术采用以下技术方案:
[0007]一种GPU用抗量子攻击SPHINCS+签名算法并行实现方法,包括以下步骤:
[0008]S1、依据SPHINCS
+
的参数集、GPU架构信息和内部结构设计并行化方案,并行化方案包括第一级树间并行,第二级节点间并行,第三级节点内部并行和第四级哈希函数并行;
[0009]S2、依据步骤S1得到的四级并行方案,部署第一级树间并行方案,得到部署第一级并行方案的代码,包括FORS签名生成和FORS签名验证的并行方案;
[0010]S3、依据步骤S1确定的四级并行方案和步骤S2得到的第一级并行方案的代码,部署第二级节点间并行方案,得到两级并行的代码,包括XMSS树和FORS树的并行构造方案;
[0011]S4、依据步骤S1确定的四级并行方案和步骤S3得到的两级并行代码,部署第三级节点内并行方案,得到三级并行的代码,包括WOTS
+
密钥对生成、WOTS
+
签名生成和WOTS
+
签名验证的并行方案;
[0012]S5、依据步骤S1确定的四级并行方案和步骤S4得到的三级并行代码,部署第四级
哈希函数并行方案,包括所有并行执行的哈希函数的并行方案。
[0013]具体的,步骤S1具体为:
[0014]S101、使用GPU架构信息收集工具收集GPU核数的信息,包括多处理器数量、每个多处理器上的核心数以及全部核心数;
[0015]S102、通过SPHINCS
+
参数集和步骤S101确定的GPU全部核心数确定最大并行度;
[0016]S103、通过步骤S102确定的最大并行度和内部结构确定使用的并行级数。
[0017]进一步的,步骤S103中,并行级数的部署按照从低级到高级的方式部署。
[0018]具体的,步骤S2具体为:
[0019]S201、依据步骤S1确定的并行级数,部署生成密钥对的第一级并行方案到FORS签名生成方法中,得到第一级并行的FORS并行签名生成方法,使用多个线程独立且并行地构造多棵FORS树,并在结束时使用GPU同步技术;
[0020]S202、依据步骤S1确定的并行级数,部署生成密钥对的第一级并行方案到FORS签名验证方法中,得到第一级并行的FORS并行签名验证方法,使用多个线程独立且并行地认证多棵FORS树,并在结束时使用GPU同步技术。
[0021]具体的,步骤S3具体为:
[0022]S301、依据步骤S1确定的并行级数和步骤S2得到的第一级FORS并行签名生成方法部署FORS签名生成的第二级并行方案,得到第一级和第二级的两级FORS并行签名生成方法,将线程分成几组,以组为单位独立且并行地构造FORS树;
[0023]S302、依据步骤S1确定的并行级数部署XMSS树并行构造的第二级并行方案,得到第二级XMSS树并行构造方案,线程并行的构造XMSS树。
[0024]进一步的,构造FORS树和XMSS树过程中,每个线程单独处理一个节点的计算,并在树的一层节点构造结束后,执行GPU同步操作。
[0025]具体的,步骤S4具体为:
[0026]S401、依据步骤S1确定的并行级数和步骤S3得到的第二级XMSS树并行构造方案部署WOTS
+
密钥对生成的第三级并行方案,得到第二级和第三级的两级XMSS树并行构造算法;
[0027]S402、依据步骤S1确定的并行级数部署第三级WOTS
+
签名生成方案,得到第三级WOTS
+
并行签名方案,让线程独立且并行地完成多个n字节计算;
[0028]S403、依据步骤S1确定的并行级数部署第三级WOTS
+
签名验证方案,得到第三级WOTS
+
并行签名验证方案,使线程独立且并行地完成多个n字节计算。
[0029]进一步的,步骤S401中,XMSS树的叶节点使用WOTS
+
密钥对生成,独立且并行的计算,每个任务为n字节计算,线程独立且并行地完成多个n字节计算。
[0030]具体的,步骤S5具体为:
[0031]S501、依据步骤S1确定的并行级数和步骤S4得到的两级XMSS树并行构造方案部署哈希函数的第四级并行方案,使线程并行地执行哈希函数;
[0032]S502、依据步骤S1确定的并行级数和步骤S3得到的两级FORS并行签名生成算法部署哈希函数的第四级并行方案,使线程并行地执行哈希函数;
[0033]S503、依据步骤S1确定的并行级数和步骤S2得到的两级FORS并行签名验证算法部署哈希函数的第四级并行方案,使线程并行地执行哈希函数。
[0034]第二方面,本专利技术实施例提供了一种GPU用抗量子攻击SPHINCS+签名算法并行实
现系统,包括:
[0035]设计模块,依据SPHINCS
+
的参数集、GPU架构信息和内部结构设计并行化方案,并行化方案包括第一级树间并行,第二级节点间并行,第三级节点内本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GPU用抗量子攻击SPHINCS+签名算法并行实现方法,其特征在于,包括以下步骤:S1、依据SPHINCS
+
的参数集、GPU架构信息和内部结构设计并行化方案,并行化方案包括第一级树间并行,第二级节点间并行,第三级节点内部并行和第四级哈希函数并行;S2、依据步骤S1得到的四级并行方案,部署第一级树间并行方案,得到部署第一级并行方案的代码,包括FORS签名生成和FORS签名验证的并行方案;S3、依据步骤S1确定的四级并行方案和步骤S2得到的第一级并行方案的代码,部署第二级节点间并行方案,得到两级并行的代码,包括XMSS树和FORS树的并行构造方案;S4、依据步骤S1确定的四级并行方案和步骤S3得到的两级并行代码,部署第三级节点内并行方案,得到三级并行的代码,包括WOTS
+
密钥对生成、WOTS
+
签名生成和WOTS
+
签名验证的并行方案;S5、依据步骤S1确定的四级并行方案和步骤S4得到的三级并行代码,部署第四级哈希函数并行方案,包括所有并行执行的哈希函数的并行方案。2.根据权利要求1所述的GPU用抗量子攻击SPHINCS+签名算法并行实现方法,其特征在于,步骤S1具体为:S101、使用GPU架构信息收集工具收集GPU核数的信息,包括多处理器数量、每个多处理器上的核心数以及全部核心数;S102、通过SPHINCS
+
参数集和步骤S101确定的GPU全部核心数确定最大并行度;S103、通过步骤S102确定的最大并行度和内部结构确定使用的并行级数。3.根据权利要求2所述的GPU用抗量子攻击SPHINCS+签名算法并行实现方法,其特征在于,步骤S103中,并行级数的部署按照从低级到高级的方式部署。4.根据权利要求1所述的GPU用抗量子攻击SPHINCS+签名算法并行实现方法,其特征在于,步骤S2具体为:S201、依据步骤S1确定的并行级数,部署生成密钥对的第一级并行方案到FORS签名生成方法中,得到第一级并行的FORS并行签名生成方法,使用多个线程独立且并行地构造多棵FORS树,并在结束时使用GPU同步技术;S202、依据步骤S1确定的并行级数,部署生成密钥对的第一级并行方案到FORS签名验证方法中,得到第一级并行的FORS并行签名验证方法,使用多个线程独立且并行地认证多棵FORS树,并在结束时使用GPU同步技术。5.根据权利要求1所述的GPU用抗量子攻击SPHINCS+签名算法并行实现方法,其特征在于,步骤S3具体为:S301、依据步骤S1确定的并行级数和步骤S2得到的第一级FORS并行签名生成方法部署FORS签名生成的第二级并行方案,得到第一级和第二级的两级FORS并行签名生成方法,将线程分成几组,以组为单位独立且并行地构造FORS树;S302、依据步骤S1确定的并行级数部署XMSS树并行构造的第二级并行方案,得到第二级XMSS树并行构造方案,线程并行的构造XMSS树。6.根据权利要求5所述的GPU用抗量子攻击SPHINCS+签名算法并行实现方法,其特征在于...

【专利技术属性】
技术研发人员:董小社王子衡康晏陈衡
申请(专利权)人:西安交通大学
类型:发明
国别省市:

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

1