首页 / 专利库 / 电脑编程 / 量子计算 / 基于对称密钥池的抗量子计算区块链交易方法

基于对称密钥池的抗量子计算链交易方法

阅读:1046发布:2020-07-03

专利汇可以提供基于对称密钥池的抗量子计算链交易方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于对称密钥池的抗 量子计算 区 块 链 交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,发起用户端和接收用户端均公开通过密钥池得到的抗量子计算公钥对,发起用户端将已签名交易上传至网络平台,交易验证的接收用户端结合己方密钥池及所述发起用户端的抗量子计算公钥对得到发起用户端公钥进而提取转出签名,通过转出签名实现交易验证。使用仅对量子密钥卡公开的公钥,且量子密钥卡存储公钥密钥随机数,降低被恶意 软件 或恶意操作窃取密钥的可能性。基于公私钥的数字签名被随机数密钥加密,随机数密钥被私钥加密,即使在 量子计算机 存在的情况下,也难以被推导出私钥,进而降低被量子计算机破解的可能性。,下面是基于对称密钥池的抗量子计算链交易方法专利的具体信息内容。

1.一种基于对称密钥池的抗量子计算链交易方法,其特征在于,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,交易发起时,发起用户端和接收用户端均公开通过密钥池得到的抗量子计算公钥对,发起用户端获得接收用户端的抗量子计算公钥对并结合特定算法得到转入钱包地址,该转入钱包地址、转账数额及转出金额信息结合相应算法得到第一特定值,所述发起用户端加密所述第一特定值生成转出签名;其中,将所述转账数额、转入钱包地址、转出金额信息、发起用户端的抗量子计算公钥对、加密的转出签名及加密的真随机数作为一个已签名交易并上传至网络平台,所述加密的转出签名由发起用户端中的量子密钥卡产生真随机数加密转出签名生成;所述加密的真随机数由所述发起用户端私钥加密所述真随机数获得。
2.根据权利要求1所述的基于对称密钥池的抗量子计算区块链交易方法,其特征在于,所述抗量子计算公钥对由公钥密钥随机数和由公钥密钥加密公钥所得的加密的公钥组成,其中,所述公钥密钥随机数由己方用户端量子密钥卡生成,所述公钥密钥由所述公钥密钥随机数与己方密钥池结合生成。
3.根据权利要求2所述的基于对称密钥池的抗量子计算区块链交易方法,其特征在于,所述公钥密钥生成方法包括:将公钥密钥随机数结合公钥密钥种子指针函数得到公钥密钥种子指针,利用该公钥密钥种子指针从所述密钥池中提取对应的公钥密钥种子,该公钥密钥种子结合公钥密钥函数得到所述公钥密钥。
4.根据权利要求1所述的基于对称密钥池的抗量子计算区块链交易方法,其特征在于,所述接收用户端有一个或多个,发起用户端利用各接收用户端所公开的抗量子计算公钥对并结合特定算法得到相应转入钱包地址,其中特定算法为哈希算法
5.根据权利要求1所述的基于对称密钥池的抗量子计算区块链交易方法,其特征在于,所述转出金额信息为一个或多个,发起用户端将各转出金额信息分别与转入钱包地址、转账数额及转出金额信息结合做相应运算得到一个或多个第一特定值,其中所述相应运算的算法为哈希算法。
6.一种基于对称密钥池的抗量子计算区块链交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,交易发起时,发起用户端和接收用户端均公开通过密钥池得到的抗量子计算公钥对,发起用户端将所述转账数额、转入钱包地址、转出金额信息、发起用户端的抗量子计算公钥对、加密的转出签名及加密的真随机数作为一个已签名交易上传至网络平台,其特征在于,交易验证的接收用户端结合己方密钥池及所述发起用户端的抗量子计算公钥对得到发起用户端公钥进而提取转出签名,所述接收用户端将利用所述发起用户端公钥解密所述转出签名得到第一特定值,利用相应算法计算转入钱包地址、转账数额及转出金额信息获得第二特定值,比较所述第一特定值及第二特定值,实现交易验证。
7.根据权利要求6所述的基于对称密钥池的抗量子计算区块链交易方法,其特征在于,所述发起用户端公钥获得方法包括:将发起用户端的公钥密钥随机数结合公钥密钥种子指针函数得到公钥密钥种子指针,利用该公钥密钥种子指针从己方密钥池中提取对应的公钥密钥种子,该公钥密钥种子结合公钥密钥函数得到公钥密钥,利用所述公钥密钥结合所述发起用户端的抗量子计算公钥对生成所述发起用户端公钥;所述发起用户端公钥解密所述加密的真随机数得到真随机数,所述真随机数解密所述加密的转出签名进而得到转出签名。
8.根据权利要求6所述的基于对称密钥池的抗量子计算区块链交易方法,其特征在于,所述转出金额信息为一个或多个,所述接收用户端将各转出金额信息分别与转入钱包地址、转账数额及转出金额信息结合做相应运算得到一个或多个第二特定值。
9.根据权利要求6所述的基于对称密钥池的抗量子计算区块链交易方法,其特征在于,计算所述转入钱包地址、所述转账数额及转出金额信息获得第二特定值的算法与计算获得所述第一特定值的算法相同,所述接收用户端比较所述第一特定值及所述第二特定值大小,实现交易验证,其中所述算法为哈希算法。
10.一种基于对称密钥池的抗量子计算区块链交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,交易发起时,发起用户端和接收用户端均公开通过密钥池得到的抗量子计算公钥对,其特征在于,步骤包括:
发起用户端将已签名交易上传至网络平台,其中将转账数额、转入钱包地址、转出金额信息、发起用户端的抗量子计算公钥对、加密的转出签名及加密的真随机数作为一个已签名交易,所述加密的转出签名由发起用户端中的量子密钥卡产生真随机数加密转出签名生成;所述加密的真随机数由所述发起用户端私钥加密所述真随机数获得,其中,发起用户端获得接收用户端的抗量子计算公钥对并结合特定算法得到所述转入钱包地址,该转入钱包地址、转账数额及转出金额信息结合相应算法得到第一特定值,所述发起用户端加密所述第一特定值生成所述转出签名;
交易被广播到这个区块链网络的所有节点
区块链网络中的每个节点对该交易进行验证,其中,交易验证的接收用户端结合己方密钥池及发起用户端的抗量子计算公钥对得到发起用户端公钥进而提取转出签名,所述接收用户端将利用所述发起用户端公钥经解密所述转出签名得到第一特定值,利用相应算法计算转入钱包地址、转账数额及转出金额信息获得第二特定值,比较所述第一特定值及第二特定值,实现交易验证;
对个交易组成一个区块;
新的区块加入区块链;
完成交易。

说明书全文

基于对称密钥池的抗量子计算链交易方法

技术领域

[0001] 本发明涉及区块链领域,尤其涉及区块链的交易方法。

背景技术

[0002] 区块链是一种全新的分布式基础架构与计算范式,利用有序的链式数据结构存储数据,利用共识算法更新数据,利用密码学技术保障数据安全。在基于区块链的交易中,确保交易的数据安全和客户的隐私是区块链能够进一步发展的必要条件。为此,密码学技术尤其是公钥密钥学在区块链中得到了广泛的应用。
[0003] 正如大多数人所了解的,量子计算机在密码破解上有着巨大潜。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。
[0004] 现有技术存在的问题:
[0005] (1)由于量子计算机能快速通过公钥得到对应的私钥,因此现有的区块链交易方法容易被量子计算机破解。
[0006] (2)现有技术中,基于公私钥的数字签名的输入和输出均可被敌方所知,在量子计算机存在的情况下,可能被推导出私钥,导致区块链系统被量子计算机破解。

发明内容

[0007] 基于此,有必要针对上述问题,提供一种基于对称密钥池的抗量子计算区块链交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,交易发起时,发起用户端和接收用户端均公开通过密钥池得到的抗量子计算公钥对,发起用户端获得接收用户端的抗量子计算公钥对并结合特定算法得到转入钱包地址,该转入钱包地址、转账数额及转出金额信息结合相应算法得到第一特定值,所述发起用户端加密所述第一特定值生成转出签名;其中,将所述转账数额、转入钱包地址、转出金额信息、发起用户端的抗量子计算公钥对、加密的转出签名及加密的真随机数作为一个已签名交易并上传至网络平台,所述加密的转出签名由发起用户端中的量子密钥卡产生真随机数加密转出签名生成;所述加密的真随机数由所述发起用户端私钥加密所述真随机数获得。
[0008] 本实施例中,区块链中的每一个节点都有匹配的量子密钥卡,量子密钥卡的颁发方为量子密钥卡的主管方,一般为某企业或事业单位的管理部,量子密钥卡的被颁发方为量子密钥卡的主管方所管理的成员,一般为某企业或事业单位的各级员工。量子密钥卡中的用户侧密钥都下载自同一个量子网络服务站,且对同一个量子密钥卡的主管方来说,其颁发的每个量子密钥卡中存储的密钥池是完全一致的。优选为,量子密钥卡中存储的密钥池大小可以是1G、2G、4G、8G、16G、32G、64G、128G、256G、512G、1024G、2048G、4096G等等。其容量取决于主管方对安全的要求,容量越大安全性越高。
[0009] 可选的,所述抗量子计算公钥对由公钥密钥随机数和由公钥密钥加密公钥所得的加密的公钥组成,其中,所述公钥密钥随机数由己方用户端量子密钥卡生成,所述公钥密钥由所述公钥密钥随机数与己方密钥池结合生成。
[0010] 可选的,所述公钥密钥生成方法包括:将公钥密钥随机数结合公钥密钥种子指针函数得到公钥密钥种子指针,利用该公钥密钥种子指针从所述密钥池中提取对应的公钥密钥种子,该公钥密钥种子结合公钥密钥函数得到所述公钥密钥。
[0011] 可选的,
[0012] 所述接收用户端有一个或多个,发起用户端利用各接收用户端所公开的抗量子计算公钥对并结合特定算法得到相应转入钱包地址,其中特定算法为哈希算法
[0013] 可选的,所述转出金额信息为一个或多个,发起用户端将各转出金额信息分别与转入钱包地址、转账数额及转出金额信息结合做相应运算得到一个或多个第一特定值,其中所述相应运算的算法为哈希算法。
[0014] 一种基于对称密钥池的抗量子计算区块链交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,交易发起时,发起用户端和接收用户端均公开通过密钥池得到的抗量子计算公钥对,发起用户端将所述转账数额、转入钱包地址、转出金额信息、发起用户端的抗量子计算公钥对、加密的转出签名及加密的真随机数作为一个已签名交易上传至网络平台,交易验证的接收用户端结合己方密钥池及所述发起用户端的抗量子计算公钥对得到发起用户端公钥进而提取转出签名,所述接收用户端将利用所述发起用户端公钥解密所述转出签名得到第一特定值,利用相应算法计算转入钱包地址、转账数额及转出金额信息获得第二特定值,比较所述第一特定值及第二特定值,实现交易验证。
[0015] 可选的,所述发起用户端公钥获得方法包括:将发起用户端的公钥密钥随机数结合公钥密钥种子指针函数得到公钥密钥种子指针,利用该公钥密钥种子指针从己方密钥池中提取对应的公钥密钥种子,该公钥密钥种子结合公钥密钥函数得到公钥密钥,利用所述公钥密钥结合所述发起用户端的抗量子计算公钥对生成所述发起用户端公钥;所述发起用户端公钥解密所述加密的真随机数得到真随机数,所述真随机数解密所述加密的转出签名进而得到转出签名。
[0016] 可选的,
[0017] 所述转出金额信息为一个或多个,所述接收用户端将各转出金额信息分别与转入钱包地址、转账数额及转出金额信息结合做相应运算得到一个或多个第二特定值。
[0018] 可选的,
[0019] 计算所述转入钱包地址、所述转账数额及转出金额信息获得第二特定值的算法与计算获得所述第一特定值的算法相同,所述接收用户端比较所述第一特定值及所述第二特定值大小,实现交易验证,其中所述算法为哈希算法。
[0020] 一种基于对称密钥池的抗量子计算区块链交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,交易发起时,发起用户端和接收用户端均公开通过密钥池得到的抗量子计算公钥对,步骤包括:
[0021] 发起用户端将已签名交易上传至网络平台,其中将转账数额、转入钱包地址、转出金额信息、发起用户端的抗量子计算公钥对、加密的转出签名及加密的真随机数作为一个已签名交易,所述加密的转出签名由发起用户端中的量子密钥卡产生真随机数加密转出签名生成;所述加密的真随机数由所述发起用户端私钥加密所述真随机数获得,其中,发起用户端获得接收用户端的抗量子计算公钥对并结合特定算法得到所述转入钱包地址,该转入钱包地址、转账数额及转出金额信息结合相应算法得到第一特定值,所述发起用户端加密所述第一特定值生成所述转出签名;
[0022] 交易被广播到这个区块链网络的所有节点;
[0023] 区块链网络中的每个节点对该交易进行验证,其中,交易验证的接收用户端结合己方密钥池及发起用户端的抗量子计算公钥对得到发起用户端公钥进而提取转出签名,所述接收用户端将利用所述发起用户端公钥经解密所述转出签名得到第一特定值,利用相应算法计算转入钱包地址、转账数额及转出金额信息获得第二特定值,比较所述第一特定值及第二特定值,实现交易验证;
[0024] 对个交易组成一个区块;
[0025] 新的区块加入区块链;
[0026] 完成交易。
[0027] 上述基于对称密钥池的抗量子计算区块链交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,发起用户端和接收用户端均公开通过密钥池得到的抗量子计算公钥对,发起用户端将已签名交易上传至网络平台,交易验证的接收用户端结合己方密钥池及所述发起用户端的抗量子计算公钥对得到发起用户端公钥进而提取转出签名,通过转出签名实现交易验证。使用仅对量子密钥卡公开的公钥,且量子密钥卡存储公钥密钥随机数,降低被恶意软件或恶意操作窃取密钥的可能性。基于公私钥的数字签名被随机数密钥加密,随机数密钥被私钥加密,即使在量子计算机存在的情况下,也难以被推导出私钥,进而降低被量子计算机破解的可能性。附图说明
[0028] 图1为本发明实施例提供的生成交易的过程示意图;
[0029] 图2为本发明实施例提供的交易签名的过程示意图;
[0030] 图3为本发明实施例提供的钱包地址生成过程示意图;
[0031] 图4为本发明实施例提供的公钥密钥生成流程图

具体实施方式

[0032] 区块链是一种按照时间顺序将数据区块用类似链表的方式组成的数据结构,并以密码学方式保证不可篡改和不可伪造的分布式去中心化账本,能够安全存储简单的、有先后关系的、能在系统内进行验证的数据。其中,密码学主要用到公钥密码学。本专利处理区块链中的交易过程,总体思路是将现有技术中的公开的公钥取代为公开的抗量子计算公钥组。实施例1
[0033] 以用户端A向用户端B的一笔交易为例,其中发起用户端为用户端A,接收用户端为用户端B,交易的具体步骤如图1所示,具体步骤如下:
[0034] 步骤1:发起用户端即用户端A发起交易请求:发起交易时,交易发起人即用户端A需要使用自己的私钥ka对交易进行签名。
[0035] 步骤1.1:得到发起用户端的抗量子计算公钥:
[0036] 如图2中所示,图2中的转出私钥即用户端A的私钥ka;图2中的转出公钥即用户端B的公钥kpa;
[0037] 由私钥ka得到公钥kpa,并由该用户端匹配的量子密钥卡中的真随机数发生器生成公钥密钥随机数rka,公钥密钥随机数rka结合特定的公钥密钥种子指针函数frkp得到公钥密钥种子指针rkpa并从密钥池中提取出相应的公钥密钥种子krka;然后结合公钥密钥函数fkk生成公钥密钥kka。使用公钥密钥kka加密公钥kpa后得到加密的公钥kkka。用户公开{rka,kkka}的组合作为抗量子计算公钥。该公钥组合定期可更换。例如,下一次的抗量子计算公钥为{rka’,kkka’}。即:当公钥密钥随机数变为rka’时,加密的公钥变为kkka’,与前次不同。
[0038] 得到抗量子计算公钥对后,由加密的公钥kkka生成公钥哈希,再生成A的钱包地址。
[0039] 步骤1.2:得到转出签名并加密:
[0040] 如图2中所示,图2中的转出签名即用户端A制作的签名;图2中的转出金额信息即该笔转出金额所属交易的ID等信息;图2中的转入钱包地址即接收用户端的钱包地址,如果有其他的接收者,则还包括其他接收者的钱包地址;
[0041] 发起用户端获得本次交易接收者即用户端B公开的抗量子计算公钥组{rkb,kkkb},由加密的公钥kkkb经过hash算法得到公钥哈希,再进一步得到转入钱包地址,如果本次交易还有其他接收者,则还得到其他接收者的钱包地址。用户端A对本次交易内容(主要内容是转账数额以及转入钱包地址,以及转出金额信息;其中转出金额信息表明了该笔转出金额的来源和合法性,具体包括该笔金额所属交易的ID以及该笔金额在其所属交易中的序号,以便所有成员可以在区块链的历史记录中找到转出金额,从而证明其合法性;转出金额信息可以包含1笔或多笔不同的转出金额来源)进行哈希得到哈希值H即第一特定值,再使用私钥ka加密第一特定值H得到转出签名,同理根据设计需要,发起用户端可以根据其他本领域技术人员可知其他算法对本次交易内容进行计算得到第一特定值。该用户端匹配的量子密钥卡中的真随机数发生器生成真随机数ksa,用于加密转出签名,并用私钥ka加密真随机数ksa。如果转出金额信息包含多笔不同的转出金额来源,则使用相同方法对多笔转出金额分别得到1个加密的转出签名。
[0042] 步骤1.3:将转出金额信息、转账数额、转入钱包地址、加密的转出签名、加密的真随机数ksa以及抗量子计算公钥对作为一个已签名的交易。
[0043] 步骤2:交易被广播到这个区块链网络的所有节点;
[0044] 步骤3:区块链网络中的每个节点对该交易进行验证;
[0045] 交易验证过程中,区块链网络中的每个节点均可作为验证节点。验证节点得到用户端A的抗量子计算公钥对后,通过用户端A的公钥密钥随机数rka结合特定的公钥密钥种子指针函数frkp得到公钥密钥种子指针rkpa并从密钥池中提取出相应的公钥密钥种子krka;然后结合公钥密钥函数fkk生成公钥密钥kka。使用公钥密钥kka解密加密的公钥kkka得到发起用户端的公钥kpa。
[0046] 验证节点对kkka进行公钥转钱包的计算得到钱包地址,并与A的本次交易额所对应的钱包地址进行比较,如果相同则证明钱包地址正确,否则该交易验证失败;其中A的本次交易额所对应的钱包地址来源于本次转出金额信息,即验证节点可以从本次转出金额信息中得到转出金额的所属历史交易,并从该历史交易中读取到A的本次交易额所对应的钱包地址。验证节点使用用户端A的公钥kpa解密加密的真随机数可得到真随机数ksa,进一步得到转出签名。使用发起用户端的公钥kpa解密转出签名得到哈希H即第一特定值,计算本次交易内容的哈希H’即第二特定值,并对比第一特定值H与第二特定值H’,完成验证,如果转出金额信息包含多笔不同的转出金额来源,则使用相同方法对多笔转出金额分别对应的的加密转出签名进行验证。其中计算所述转入钱包地址及所述转账数额获得第二特定值的算法与计算获得所述第一特定值的算法相同,根据设计需要,计算所述转入钱包地址及所述转账数额获得第二特定值的算法不限于哈希算法,只要能够计算获得特征值即可。
[0047] 步骤4:多个交易组成一个区块;
[0048] 步骤5:新的区块加入区块链;
[0049] 步骤6:交易完成。
[0050] 使用仅对量子密钥卡公开的公钥,且使用量子密钥卡存储用于生成公钥密钥的公钥密钥随机数,量子密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。由于量子计算机无法得到用户公钥,于是也无法得到对应的私钥,因此该方案不容易被量子计算机破解。另外,本发明中,基于公私钥的数字签名被随机数密钥进一步加密,而随机数密钥被私钥加密,形成加密的数字签名。即使在量子计算机存在的情况下,也难以被推导出私钥。因此该方案不容易被量子计算机破解。
[0051] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0052] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈