一种抗量子计算区块链的方法与流程

文档序号:31347464发布日期:2022-08-31 12:01阅读:167来源:国知局
一种抗量子计算区块链的方法与流程

1.本发明涉及区块链技术领域,尤其涉及一种抗量子计算区块链的方法。


背景技术:

2.区块链就是一个又一个区块组成的链条,每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条,这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的,这些服务器在区块链系统中被称为节点,它们为整个区块链系统提供存储空间和算力支持,如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。
3.现阶段,区块链技术的发展逐渐完善,应用范围也越来越广,其具有防止篡改、不可伪造等特点,但随着量子计算机的发展,不断有破解传统公钥密码算法的量子算法被提出,使区块链的一些优势面临挑战,量子计算是一种遵循量子力学规律调控量子信息单元进行计算的新型计算模式,随着量子计算的发展,基于传统公钥密码体制的区块链系统的安全性引起了人们的质疑。
4.为抵御量子算法对区块链系统的攻击,需要使用抵抗量子算法的公钥密码体制,目前,已经出现了很多抗量子计算区块链的方法,但现有的抵抗量子算法计算攻击区块链的方法大都流程单一,步骤复杂繁琐,对区块链的加密手段较为落后,无法有效抵抗量子算法的计算攻击,导致区块链的安全性较低,因此,本发明提出一种抗量子计算区块链的方法及系统以解决现有技术中存在的问题。


技术实现要素:

5.针对上述问题,本发明的目的在于提出一种抗量子计算区块链的方法及系统,解决现有抵抗量子算法计算攻击区块链的方法步骤复杂繁琐,对区块链的加密手段较为落后并无法有效抵抗量子算法的计算攻击的问题。
6.为了实现本发明的目的,本发明通过以下技术方案实现:一种抗量子计算区块链的方法,包括以下步骤:步骤一:先通过零知识证明协议构造基于格密码的数字签名qtesla,再在区块链系统中引入qtesla数字签名,并采用高斯采样器生成qtesla数字签名的密钥;步骤二:先在特定环的函数中均匀随机选取一个多项式,再选取一个k位的随机字符串作为预种子,其中k为自然变量,然后通过种子生成器将预种子扩展为k个多项式,对多项式进行计算并生成k位字符串,将k位字符串映射为一个伪随机生成的多项式,对伪随机生成的多项式经销部编码并编成两个由伪随机多项式中非零系数组成的数组,并分别作为伪随机多项式的位置和电子签名;步骤三:预先利用星际文件系统网络协议对密钥长度和电子签名长度进行调整缩短,再将消息、电子签名和密钥输入伪随机多项式并对其做编码函数运算,得到两个系数数
组,然后将计算得到的两个系数数组与步骤二中两个由非零系数组成的数组进行对比验证,若对比结果相同,则验证成功,由区块链系统接受验证成功的电子签名,实现对区块链系统的抗量子加密。
7.进一步改进在于:所述步骤一中,所述qtesla数字签名的内部结构中预设防止密钥被偷换结构,所述高斯采样器在使用前预先进行简化。
8.进一步改进在于:所述步骤一中,生成密钥的具体步骤为:s1、将一个预种子输入种子生成器中并在特定环上随机选取k个公共多项式,同时得到随机种子;s2、使用高斯采样函数产生一个私密多项式和k个误差多项式;s3、将预种子和公共多项式结合生成公钥,并通过哈希碰撞函数生成字符串,再将私密多项式、误差多项式、预种子、随机种子和公钥通过字符串共同生成私钥,即得到由公钥和私钥构成的密钥。
9.进一步改进在于:所述高斯采样中使用带有标准差的高斯离散中心分布,所述私密多项式满足简化检查函数的要求,所述误差多项式满足正确性检查函数。
10.进一步改进在于:所述步骤二中,所述k位的随机字符串的具体生成步骤为:先通过碰撞哈希函数将消息运算呈320位的哈希值,再将一个k位的随机种子、一个k位的随机字符串和运算得到的哈希值一同输入种子生成器中,然后由种子生成器输出一个k位的随机字符串。
11.进一步改进在于:所述步骤二中,所述k位字符串的生成方法为:将k个多项式进行舍入操作符运算,并与通过碰撞哈希生成的字符串一同作用,生成一个k位的字符串。
12.进一步改进在于:所述步骤三中,所述编码函数的作用原理为:将一个多项式使用两个系数数组表示,其中一个数组表示多项式的位置,另一个系数数组表示多项式的签名。
13.进一步改进在于:所述步骤三中,对比验证时,若对比结果不相同,则验证失败,再由区块链系统拒绝接受电子签名,并返回步骤二重新产生电子签名,直至验证成功。
14.本发明的有益效果为:本发明在区块链中引入qtesla数字签名,并在区块链中生成数字签名的密钥以及区块链的电子签名,同时对生成的密钥和电子签名进行调整缩短,以提高单个区块有限容量的使用,并减小单个区块容量负担,从而实现基于格密码的数字签名来抵抗量子算法的对区块链的计算攻击,使区块链的签名不易被量子算法破解,进而提高了区块链的安全性。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
16.图1是本发明方法流程示意图。
具体实施方式
17.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得所有其他实施例,都属于本发明保护的范围。
18.实施例一参见图1,本实施例提供了一种抗量子计算区块链的方法,包括以下步骤:步骤一:引入qtesla数字签名并生成密钥先通过零知识证明协议构造基于格密码的数字签名qtesla,再在区块链系统中引入内部结构中预设有防止密钥被偷换结构的qtesla数字签名,并采用预先简化的高斯采样器生成qtesla数字签名的密钥,生成密钥的具体步骤为:s1、将一个预种子输入种子生成器中并在特定环上随机选取k个公共多项式,同时得到随机种子;s2、使用高斯采样函数产生一个私密多项式和k个误差多项式,其中私密多项式满足简化检查函数的要求,误差多项式满足正确性检查函数,且高斯采样中使用带有标准差的高斯离散中心分布;s3、将预种子和公共多项式结合生成公钥,并通过哈希碰撞函数生成字符串,再将私密多项式、误差多项式、预种子、随机种子和公钥通过字符串共同生成私钥,即得到由公钥和私钥构成的密钥;步骤二:产生伪随机多项式的电子签名先在特定环的函数中均匀随机选取一个多项式,再选取一个k位的随机字符串作为预种子,其中k为自然变量,k位的随机字符串的具体生成步骤为:先通过碰撞哈希函数将消息运算呈320位的哈希值,再将一个k位的随机种子、一个k位的随机字符串和运算得到的哈希值一同输入种子生成器中,然后由种子生成器输出一个k位的随机字符串;然后通过种子生成器将预种子扩展为k个多项式,对多项式进行计算并生成k位字符串,k位字符串的生成方法为:将k个多项式进行舍入操作符运算,并与通过碰撞哈希生成的字符串一同作用,生成一个k位的字符串;然后将k位字符串映射为一个伪随机生成的多项式,对伪随机生成的多项式经销部编码并编成两个由伪随机多项式中非零系数组成的数组,并分别作为伪随机多项式的位置和电子签名;步骤三:验证电子签名并实现区块链的抗量子加密将消息、电子签名和密钥输入伪随机多项式并对其做编码函数运算,得到两个系数数组,编码函数的作用原理为:将一个多项式使用两个系数数组表示,其中一个数组表示多项式的位置,另一个系数数组表示多项式的签名;然后将计算得到的两个系数数组与步骤二中两个由非零系数组成的数组进行对比验证,若对比结果相同,则验证成功,由区块链系统接受验证成功的电子签名,实现对区块链系统的抗量子加密,若对比结果不相同,则验证失败,再由区块链系统拒绝接受电子签名,并返回步骤二重新产生电子签名,直至验证成功。
19.本实施例在区块链中引入qtesla数字签名,并在区块链中生成数字签名的密钥以及区块链的电子签名,实现基于格密码的数字签名来抵抗量子算法的对区块链的计算攻击。
20.实施例二
参见图1,本实施例提供了一种抗量子计算区块链的方法,包括以下步骤:步骤一:引入qtesla数字签名并生成密钥先通过零知识证明协议构造基于格密码的数字签名qtesla,再在区块链系统中引入内部结构中预设有防止密钥被偷换结构的qtesla数字签名,并采用预先简化的高斯采样器生成qtesla数字签名的密钥,生成密钥的具体步骤为:s1、将一个预种子输入种子生成器中并在特定环上随机选取k个公共多项式,同时得到随机种子;s2、使用高斯采样函数产生一个私密多项式和k个误差多项式,其中私密多项式满足简化检查函数的要求,误差多项式满足正确性检查函数,且高斯采样中使用带有标准差的高斯离散中心分布;s3、将预种子和公共多项式结合生成公钥,并通过哈希碰撞函数生成字符串,再将私密多项式、误差多项式、预种子、随机种子和公钥通过字符串共同生成私钥,即得到由公钥和私钥构成的密钥;步骤二:产生伪随机多项式的电子签名先在特定环的函数中均匀随机选取一个多项式,再选取一个k位的随机字符串作为预种子,其中k为自然变量,k位的随机字符串的具体生成步骤为:先通过碰撞哈希函数将消息运算呈320位的哈希值,再将一个k位的随机种子、一个k位的随机字符串和运算得到的哈希值一同输入种子生成器中,然后由种子生成器输出一个k位的随机字符串;然后通过种子生成器将预种子扩展为k个多项式,对多项式进行计算并生成k位字符串,k位字符串的生成方法为:将k个多项式进行舍入操作符运算,并与通过碰撞哈希生成的字符串一同作用,生成一个k位的字符串;然后将k位字符串映射为一个伪随机生成的多项式,对伪随机生成的多项式经销部编码并编成两个由伪随机多项式中非零系数组成的数组,并分别作为伪随机多项式的位置和电子签名;步骤三:验证电子签名并实现区块链的抗量子加密qtesla数字签名的密钥生成后通过星际文件系统对其进行存储,电子签名产生后通过星际文件系统对其进行存储,并利用星际文件系统网络协议对密钥和电子签名进行调整缩短处理,以提高单个区块有限容量的使用,并减小单个区块容量负担过重的问题,同时进一步提高了安全性,再将消息、电子签名和密钥输入伪随机多项式并对其做编码函数运算,得到两个系数数组,编码函数的作用原理为:将一个多项式使用两个系数数组表示,其中一个数组表示多项式的位置,另一个系数数组表示多项式的签名;然后将计算得到的两个系数数组与步骤二中两个由非零系数组成的数组进行对比验证,若对比结果相同,则验证成功,由区块链系统接受验证成功的电子签名,实现对区块链系统的抗量子加密,若对比结果不相同,则验证失败,再由区块链系统拒绝接受电子签名,并返回步骤二重新产生电子签名,直至验证成功。
21.本实施例在区块链中引入qtesla数字签名,并在区块链中生成数字签名的密钥以及区块链的电子签名,同时对生成的密钥和电子签名进行调整缩短,以提高单个区块有限容量的使用,并减小单个区块容量负担,从而实现基于格密码的数字签名来抵抗量子算法的对区块链的计算攻击。
22.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精
神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1