一种GPU用单密钥对数据并行方法、系统、介质及设备技术方案

技术编号:37857900 阅读:12 留言:0更新日期:2023-06-15 20:48
本发明专利技术公开了一种GPU用单密钥对数据并行方法、系统、介质及设备,通过在XMSS签名时对XMSS树构造过程的重用以及进行Winternitz一次性签名和构建XMSS树的线程数负载均衡,在并行构建XMSS树中对认证路径和根节点进行高效选择以及提供高可配置的WOTS+签名的并行执行方法,实现XMSS算法的高效单密钥对数据并行签名;通过部署任务分配和多流方案,实现了XMSS算法的高效单密钥对数据并行签名验证。算法的高效单密钥对数据并行签名验证。算法的高效单密钥对数据并行签名验证。

【技术实现步骤摘要】
一种GPU用单密钥对数据并行方法、系统、介质及设备


[0001]本专利技术属于网络安全
,具体涉及一种GPU用单密钥对数据并行方法、系统、介质及设备。

技术介绍

[0002]网络安全是一门综合性的学科,包含网络设备安全、网络信息安全和网络软件安全。网络信息安全中,信息的安全传输是至关重要的一部分,与生活息息相关。信息安全传输中,签名算法不可或缺,通常用于证明发送方发送信息的真实性,是一种无处不在的网络安全传输的技术。最近,XMSS签名算法于2020年被NIST标准化,这是一种可以抵御量子威胁的基于哈希的签名算法。
[0003]量子威胁指的是Shor算法和Grover算法可以使用量子计算机来破解现有密码体系,如RSA、DSA和ECDSA。随着量子计算机的快速发展,现有的密码体系变得越发脆弱,提出并完善抗量子攻击算法变得愈发重要。2020年,NIST标准化了两个抗量子攻击算法,XMSS算法和LMS算法。这两个算法相比于其他抗量子攻击算法,安全性和运行效率均有优势,也是目前唯一标准化的抗量子攻击算法。这两个算法均为有状态的算法,即一个私钥仅能进行一次签名。
[0004]算法的使用存在一些限制,但是在以下场景推荐使用:
[0005]1.在最近需要部署数字签名方案;
[0006]2.会部署很长时间;
[0007]3.一旦部署了该算法,不会过渡到其他算法。
[0008]XMSS签名算法作为有状态的基于哈希的算法,需要在一次签名后进行私钥的更新,这说明算法存在依赖性,即私钥需要依据签名的次数进行更新。这阻碍了XMSS算法单密钥对数据并行签名,对不同消息进行并行的签名会因为依赖性而难以进行,从而会极度影响XMSS签名的吞吐量。虽然签名时间可以通过算法上的并行进行减少,但是算法并行会因其并行度低而得到低于数据并行的吞吐量,因此XMSS的单密钥对数据并行签名方案亟待完善。

技术实现思路

[0009]本专利技术所要解决的技术问题在于针对上述现有技术中的不足,提供一种GPU用单密钥对数据并行方法、系统、介质及设备,用于解决单密钥无法对数据并行地运行XMSS算法的技术问题。
[0010]本专利技术采用以下技术方案:
[0011]一种GPU用单密钥对数据并行方法,包括以下步骤:
[0012]S1、对XMSS算法代码进行GPU上单密钥对数据并行适配,并配置改进正确性验证方法,得到配置验证方法的代码;
[0013]S2、依据步骤S1得到的配置验证方法代码,对CPU

GPU之间的数据传输接口进行定
制,对XMSS算法中构建XMSS树和WOTS+签名的过程进行并行化与复用,并行化与复用过程并行执行,通过认证路径和根节点复制策略,实现XMSS签名的单密钥对数据并行;
[0014]S3、依据步骤S1得到的配置验证方法代码,采用不同线程处理不同密文的XMSS签名验证,同时部署多流传输机制实现计算与通信重叠,实现XMSS签名验证的单密钥对数据并行。
[0015]具体的,步骤S1具体为:
[0016]S101、调整XMSS签名和XMSS签名验证的函数接口;
[0017]S102、移植正确性验证函数,并添加有关单密钥对数据并行的正确性验证接口,用于对XMSS签名和XMSS签名验证进行正确性验证;在正确性验证函数中,XMSS密钥对生成后,复制一对用于验证的密钥对,使用复制后的私钥进行串行版本的签名,比对生成的密文和本专利技术提出签名方法生成的密文是否相同,若相同,则密文验证正确,反之,则密文验证失败;同时,将完成串行签名的私钥与签名方法生成的私钥进行比对,若相同,则私钥验证正确,反之,私钥验证失败。
[0018]进一步的,步骤S101中,待签名的消息为明文,认证的签名为密文,XMSS签名/XMSS签名验证的函数接口中添加明文/密文数量,多个明文/密文采用连续存储。
[0019]具体的,步骤S2具体为:
[0020]S201、部署XMSS签名部分的GPU数据传输接口,在CPU与GPU的传输接口中,GPU输入部分为一个私钥和多个待处理明文,GPU输出部分为多个预计得到的密文;
[0021]S202、依据计算量对WOTS+签名和构建XMSS树的执行线程进行任务划分,同时生成WOTS+签名和构建XMSS树,得到负载均衡方案;
[0022]S203、依据步骤S201提供的接口,部署XMSS树的单密钥对数据并行构建方案;
[0023]S204、依据步骤S202得到的负载均衡方案,多个WOTS+签名依据计算量进行线程数的调整,部署WOTS+签名的并行执行。
[0024]进一步的,步骤S203中,使用起始签名索引和当前树高定位当前签名位于XMSS树的位置,将构建相同XMSS树的多个签名进行XMSS树的单密钥对数据并行构建,查询当前线程计算的节点值是否为认证路径,如果是认证路径,拷贝到签名对应的位置中,并持续到构造出最上层节点时结束,每个签名中含有根节点的值。
[0025]具体的,步骤S3具体为:
[0026]S301、部署XMSS签名验证部分的GPU数据传输接口,在CPU与GPU的传输接口中,GPU输入部分为一个公钥和多个待处理的密文,GPU输出部分为多个预计得到的明文,使用不同线程处理不同密文的XMSS签名验证;
[0027]S302、依据步骤S201提供的函数接口,使用多流技术优化XMSS签名验证部分的GPU数据传输接口。
[0028]进一步的,步骤S302中,将不随密文数量改变的数据使用同步传输进行传输,将随密文数量改变的数据使用异步传输进行多流传输。将流的数量配置成参数,依据密文大小和密文数量进行定制。
[0029]第二方面,本专利技术实施例提供了一种GPU用单密钥对数据并行系统,包括:
[0030]适配模块,对XMSS算法代码进行GPU上单密钥对数据并行适配,并配置改进正确性验证方法,得到配置验证方法的代码;
[0031]第一并行模块,依据适配模块得到的配置验证方法代码,对CPU

GPU之间的数据传输接口进行定制,对XMSS算法中构建XMSS树和WOTS+签名的过程进行并行化与复用,并行化与复用过程并行执行,通过认证路径和根节点复制策略,实现XMSS签名的单密钥对数据并行;
[0032]第二并行模块,依据适配模块得到的配置验证方法代码,采用不同线程处理不同密文的XMSS签名验证,同时部署多流传输机制实现计算与通信重叠,实现XMSS签名验证的单密钥对数据并行。
[0033]第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述GPU用单密钥对数据并行方法的步骤。
[0034]第四方面,本专利技术实施例提供了一种计算机可读存储介质,包括计算机程序,所述计算机程序被处理器执行时实现上述GPU用单密钥对数据并行方法的步骤。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GPU用单密钥对数据并行方法,其特征在于,包括以下步骤:S1、对XMSS算法代码进行GPU上单密钥对数据并行适配,并配置改进正确性验证方法,得到配置验证方法的代码;S2、依据步骤S1得到的配置验证方法代码,对CPU

GPU之间的数据传输接口进行定制,对XMSS算法中构建XMSS树和WOTS+签名的过程进行并行化与复用,并行化与复用过程并行执行,通过认证路径和根节点复制策略,实现XMSS签名的单密钥对数据并行;S3、依据步骤S1得到的配置验证方法代码,采用不同线程处理不同密文的XMSS签名验证,同时部署多流传输机制实现计算与通信重叠,实现XMSS签名验证的单密钥对数据并行。2.根据权利要求1所述的GPU用单密钥对数据并行方法,其特征在于,步骤S1具体为:S101、调整XMSS签名和XMSS签名验证的函数接口;S102、移植正确性验证函数,并添加有关单密钥对数据并行的正确性验证接口,用于对XMSS签名和XMSS签名验证进行正确性验证;在正确性验证函数中,XMSS密钥对生成后,复制一对用于验证的密钥对,使用复制后的私钥进行串行版本的签名,比对生成的密文和本发明提出签名方法生成的密文是否相同,若相同,则密文验证正确,反之,则密文验证失败;同时,将完成串行签名的私钥与签名方法生成的私钥进行比对,若相同,则私钥验证正确,反之,私钥验证失败。3.根据权利要求2所述的GPU用单密钥对数据并行方法,其特征在于,步骤S101中,待签名的消息为明文,认证的签名为密文,XMSS签名/XMSS签名验证的函数接口中添加明文/密文数量,多个明文/密文采用连续存储。4.根据权利要求1所述的GPU用单密钥对数据并行方法,其特征在于,步骤S2具体为:S201、部署XMSS签名部分的GPU数据传输接口,在CPU与GPU的传输接口中,GPU输入部分为一个私钥和多个待处理明文,GPU输出部分为多个预计得到的密文;S202、依据计算量对WOTS+签名和构建XMSS树的执行线程进行任务划分,同时生成WOTS+签名和构建XMSS树,得到负载均衡方案;S203、依据步骤S201提供的接口,部署XMSS树的单密钥对数据并行构建方案;S204、依据步骤S202得到的负载均衡方案,多个WOTS+签名依据计算量进行线程数的调整,部署WOTS+签名的并行执行。5.根据权利要求4所述的GPU...

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

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

1