买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于非对称密钥池的抗量子计算区块链交易方法_如般量子科技有限公司_201811444511.7 

申请/专利权人:如般量子科技有限公司

申请日:2018-11-29

公开(公告)日:2020-11-17

公开(公告)号:CN109670826B

主分类号:G06Q20/38(20120101)

分类号:G06Q20/38(20120101);G06Q20/36(20120101);G06Q20/40(20120101);H04L9/00(20060101);H04L9/08(20060101);H04L9/30(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.11.17#授权;2019.05.17#实质审查的生效;2019.04.23#公开

摘要:本发明公开了一种基于非对称密钥池的抗量子计算区块链交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,发起用户端将已签名交易上传至网络平台,交易验证的接收用户端将发起用户端的公钥指针随机数与己方密钥池结合提取发起用户端公钥进而提取转出签名,通过转出签名实现交易验证。使用量子密钥卡存储及公开公钥,量子密钥卡是独立的硬件隔离设备,降低被恶意软件或恶意操作窃取密钥的可能性进而保护对应的私钥,基于公私钥的数字签名被随机数密钥进一步加密,而随机数密钥被私钥加密,形成加密的数字签名。即使在量子计算机存在的情况下,也难以被推导出私钥。因此该方案不容易被量子计算机破解。

主权项:1.一种基于非对称密钥池的抗量子计算区块链交易方法,其特征在于,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,所述量子密钥卡的密钥区由非对称密钥池及非对称密钥两部分组成,其中,所述非对称密钥池用于存储所有用户公钥,所述非对称密钥为己方私钥,交易发起时,发起用户端获得接收用户端的公钥指针随机数并结合特定算法得到转入钱包地址,该转入钱包地址、转账数额及转出金额信息结合相应算法得到第一特定值,所述发起用户端利用己方私钥加密所述第一特定值生成转出签名;其中,将所述转出金额信息、转账数额、转入钱包地址、加密的转出签名、加密的真随机数及发起用户端的公钥指针随机数作为一个已签名交易并上传至网络平台,所述加密的转出签名由发起用户端中的量子密钥卡产生真随机数加密转出签名生成;所述加密的真随机数由所述发起用户端私钥加密所述真随机数获得;交易验证的接收用户端将发起用户端的公钥指针随机数结合公钥指针函数得到公钥指针,利用该公钥指针从己方非对称密钥池中提取所述发起用户端公钥;再利用发起用户端公钥解密所述加密的真随机数得到真随机数,所述真随机数解密所述加密的转出签名进而得到转出签名;所述接收用户端将利用所述发起用户端公钥解密所述转出签名得到第一特定值,利用相应算法计算转入钱包地址、转出金额信息、及转账数额获得第二特定值,比较所述第一特定值及第二特定值,实现交易验证。

全文数据:基于非对称密钥池的抗量子计算区块链交易方法技术领域本发明涉及区块链领域,尤其涉及区块链的交易方法。背景技术区块链是一种全新的分布式基础架构与计算范式,利用有序的链式数据结构存储数据,利用共识算法更新数据,利用密码学技术保障数据安全。在基于区块链的交易中,确保交易的数据安全和客户的隐私是区块链能够进一步发展的必要条件。为此,密码学技术尤其是公钥密钥学在区块链中得到了广泛的应用。正如大多数人所了解的,量子计算机在密码破解上有着巨大潜力。当今主流的非对称公钥加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间即破解时间随着公钥长度的增长以指数级增长,这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。现有技术存在的问题:1由于量子计算机能快速通过公钥得到对应的私钥,因此现有的区块链交易方法容易被量子计算机破解。2现有技术中,基于公私钥的数字签名的输入和输出均可被敌方所知,在量子计算机存在的情况下,可能被推导出私钥,导致区块链系统被量子计算机破解。发明内容基于此,有必要针对上述问题,提供一种基于非对称密钥池的抗量子计算区块链交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,所述量子密钥卡的密钥区由非对称密钥池及非对称密钥两部分组成,其中,所述非对称密钥池用于存储所有用户公钥,所述非对称密钥为己方私钥,交易发起时,发起用户端获得接收用户端的公钥指针随机数并结合特定算法得到转入钱包地址,该转入钱包地址、转账数额及转出金额信息结合相应算法得到第一特定值,所述发起用户端加密所述第一特定值生成转出签名;其中,将所述转出金额信息、转账数额、转入钱包地址、加密的转出签名、加密的真随机数及发起用户端的公钥指针随机数作为一个已签名交易并上传至网络平台,所述加密的转出签名由发起用户端中的量子密钥卡产生真随机数加密转出签名生成;所述加密的真随机数由所述发起用户端私钥加密所述真随机数获得。区块链中的每一个节点都有匹配的量子密钥卡,量子密钥卡的颁发方为量子密钥卡的主管方,一般为某企业或事业单位的管理部门,量子密钥卡的被颁发方为量子密钥卡的主管方所管理的成员,一般为某企业或事业单位的各级员工。量子密钥卡中的用户侧密钥都下载自同一个量子网络服务站,且对同一个量子密钥卡的主管方来说,其颁发的每个量子密钥卡中存储的密钥池是完全一致的。优选为,量子密钥卡中存储的密钥池大小可以是1G、2G、4G、8G、16G、32G、64G、128G、256G、512G、1024G、2048G、4096G等等。其容量取决于主管方对安全的要求,容量越大安全性越高。本发明中,量子密钥卡的密钥区由非对称密钥池公钥以及非对称密钥私钥两部分组成。其中,公钥区拥有本组织所有用户的公钥,私钥区存储本用户的私钥。公钥的存储方式如图3所示,具体步骤如下:对某个用户随机取公钥指针随机数rk,结合特定的公钥指针函数frkp得到公钥指针rkp并从相应的非对称密钥池中的对应位置存入该用户的公钥krk。可选的,所述接收用户端有一个或多个,发起用户端利用各接收用户端所公开的公钥指针随机数对并结合特定算法得到相应转入钱包地址,其中特定算法为哈希算法。可选的,所述转出金额信息为一个或多个,发起用户端将各转出金额信息分别与转入钱包地址、转账数额及转出金额信息结合做相应运算得到一个或多个第一特定值,其中所述相应运算的算法为哈希算法。一种基于非对称密钥池的抗量子计算区块链交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,交易发起时,发起用户端将转出金额信息、转账数额、转入钱包地址、加密的转出签名、加密的真随机数及发起用户端的公钥指针随机数作为一个已签名交易上传至网络平台,交易验证的接收用户端将发起用户端的公钥指针随机数与己方密钥池结合提取发起用户端公钥进而提取转出签名,所述接收用户端将利用所述发起用户端公钥解密所述转出签名得到第一特定值,利用相应算法计算转入钱包地址、转出金额信息、及转账数额获得第二特定值,比较所述第一特定值及第二特定值,实现交易验证。可选的,所述发起用户端公钥生成方法包括:将发起用户端的公钥指针随机数结合公钥指针函数得到公钥指针,利用该公钥指针从己方非对称密钥池中提取对应的公钥。可选的,转出签名的提取方法包括:发起用户端公钥解密所述加密的真随机数得到真随机数,所述真随机数解密所述加密的转出签名进而得到转出签名。可选的,所述转出金额信息为一个或多个,所述接收用户端将各转出金额信息分别与转入钱包地址、转账数额及转出金额信息结合做相应运算得到一个或多个第二特定值。可选的,计算所述转入钱包地址、所述转账数额及转出金额信息获得第二特定值的算法与计算获得所述第一特定值的算法相同,所述接收用户端比较所述第一特定值及所述第二特定值大小,实现交易验证,其中所述算法为哈希算法。一种基于非对称密钥池的抗量子计算区块链交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,所述量子密钥卡的密钥区由非对称密钥池及非对称密钥两部分组成,其中,所述非对称密钥池用于存储所有用户公钥,所述非对称密钥为己方私钥,步骤包括:发起用户端将已签名交易上传至网络平台,其中将转出金额信息、转账数额、转入钱包地址、加密的转出签名、加密的真随机数及发起用户端的公钥指针随机数作为一个已签名交易,所述加密的转出签名由发起用户端中的量子密钥卡产生真随机数加密转出签名生成;所述加密的真随机数由所述发起用户端私钥加密所述真随机数获得,其中,发起用户端将接收用户端所公开的公钥指针随机数结合特定算法得到转入钱包地址,该转入钱包地址、转账数额及转出金额信息结合相应算法得到第一特定值,所述发起用户端加密所述第一特定值生成转出签名;交易被广播到这个区块链网络的所有节点;区块链网络中的每个节点对该交易进行验证,其中,交易验证的接收用户端将发起用户端的公钥指针随机数与己方密钥池结合提取发起用户端公钥进而提取转出签名,所述接收用户端将利用所述发起用户端公钥解密所述转出签名得到第一特定值,利用相应算法计算转入钱包地址转账数额及转出金额信息获得第二特定值,比较所述第一特定值及第二特定值,实现交易验证;对个交易组成一个区块;新的区块加入区块链;完成交易。上述基于非对称密钥池的抗量子计算区块链交易方法,包括多个用户端,各用户端配置的量子密钥卡中存储有相同的密钥池,发起用户端将已签名交易上传至网络平台,交易验证的接收用户端将发起用户端的公钥指针随机数与己方密钥池结合提取发起用户端公钥进而提取转出签名,通过转出签名实现交易验证。使用量子密钥卡存储及公开公钥,量子密钥卡是独立的硬件隔离设备,降低被恶意软件或恶意操作窃取密钥的可能性进而保护对应的私钥,基于公私钥的数字签名被随机数密钥进一步加密,而随机数密钥被私钥加密,形成加密的数字签名。即使在量子计算机存在的情况下,也难以被推导出私钥。因此该方案不容易被量子计算机破解。附图说明图1为本发明实施例提供的生成交易的过程示意图;图2为本发明实施例提供的交易签名的过程示意图;图3为本发明实施例提供的钱包地址生成过程示意图;图4为本发明实施例提供的公钥存储方式流程图;图5为本发明实施例提供的公钥读取方式流程图具体实施方式区块链是一种按照时间顺序将数据区块用类似链表的方式组成的数据结构,并以密码学方式保证不可篡改和不可伪造的分布式去中心化账本,能够安全存储简单的、有先后关系的、能在系统内进行验证的数据。其中,密码学主要用到公钥密码学。本专利处理区块链中的交易过程,总体思路是将现有技术中的公开的公钥取代为存储在非对称密钥池中只对量子密钥卡公开的公钥。实施例1以用户端A向用户端B的一笔交易为例,其中发起用户端为用户端A,接收用户端为用户端B,交易的具体步骤如图1所示,具体步骤如下:步骤1:发起用户端即用户端A发起交易请求:发起交易时,交易发起人即用户端A需要使用自己的私钥ka对交易进行签名。步骤1.1:得到发起用户端的公钥:如图2中所示,图2中的转出私钥即用户端A的私钥ka;图2中的转出公钥即用户端A的公钥kpa;由用户端A的公钥指针随机数rka得到公钥kpa,过程如图4所示,具体步骤如下:使用自己的公钥指针随机数rk结合特定的公钥指针函数frkp得到公钥指针rkp,然后从相应的非对称密钥池中的对应位置取出公钥kp。由公钥指针随机数rka生成公钥哈希,再生成A的钱包地址。步骤1.2:得到转出签名并加密:如图2所示,图2中的转出签名即用户端A制作的签名;图2中的转出金额信息即该笔转出金额所属交易的ID等信息;图2中的转入钱包地址即用户端B的钱包地址,如果有其他的接收者,则还包括其他接收者的钱包地址;用户端A要通过本次交易接收者接收用户端的公开的公钥指针随机数rkb经过hash算法得到公钥哈希,再进一步得到转入钱包地址,如果本次交易还有其他接收者,则还得到其他接收者的钱包地址。当然根据设计需要,接收用户端的公钥可以根据其他本领域技术人员可知其他算法进行计算进一步得到转入钱包地址。用户端A对本次交易内容主要内容是转账数额以及转入钱包地址,以及转出金额信息;其中转出金额信息表明了该笔转出金额的来源和合法性,具体包括该笔金额所属交易的ID以及该笔金额在其所属交易中的序号,以便所有成员可以在区块链的历史记录中找到转出金额,从而证明其合法性;转出金额信息可以包含1笔或多笔不同的转出金额来源进行哈希得到第一特定值H,再使用用户端A的私钥ka加密第一特定值H得到转出签名,同理根据设计需要,发起用户端可以根据其他本领域技术人员可知其他算法对本次交易内容进行计算得到第一特定值。用户端A匹配的量子密钥卡中的真随机数发生器生成真随机数ksa,用于加密转出签名,并用私钥ka加密真随机数ksa。如果转出金额信息包含多笔不同的转出金额来源,则使用相同方法对多笔转出金额分别得到1个加密的转出签名。步骤1.3:将转出金额信息、转账数额、转入钱包地址、加密的转出签名、加密的真随机数ksa以及发起用户端的公钥指针随机数rka作为一个已签名的交易。步骤2:交易被广播到这个区块链网络的所有节点;步骤3:区块链网络中的每个节点对该交易进行验证;交易验证过程中,区块链网络中的每个节点均可作为验证节点。验证节点通过用户端A的公钥指针随机数rka得到A的公钥kpa。验证节点对公钥指针随机数rka进行公钥转钱包的计算得到钱包地址,并与A的本次交易额所对应的钱包地址进行比较,如果相同则证明钱包地址正确,否则该交易验证失败;其中A的本次交易额所对应的钱包地址来源于本次转出金额信息,即验证节点可以从本次转出金额信息中得到转出金额的所属历史交易,并从该历史交易中读取到A的本次交易额所对应的钱包地址。验证节点使用用户端A的公钥kpa解密加密的真随机数可得到真随机数ksa,进一步得到转出签名。使用发起用户端的公钥kpa解密转出签名得到转账数额、转出金额信息、以及转入钱包地址的哈希H即第一特定值,计算本次交易内容的哈希H’即第二特定值,并对比第一特定值H与第二特定值H’,完成验证,如果转出金额信息包含多笔不同的转出金额来源,则使用相同方法对多笔转出金额分别对应的的加密转出签名进行验证。其中计算所述转入钱包地址及所述转账数额获得第二特定值的算法与计算获得所述第一特定值的算法相同,根据设计需要,计算所述转入钱包地址及所述转账数额获得第二特定值的算法不限于哈希算法,只要能够计算获得特征值即可。步骤4:多个交易组成一个区块;步骤5:新的区块加入区块链;步骤6:交易完成。使用仅对量子密钥卡公开的公钥,且使用量子密钥卡存储公钥,量子密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。由于量子计算机无法得到用户公钥,于是也无法得到对应的私钥,因此该方案不容易被量子计算机破解。另外,本发明中,基于公私钥的数字签名被随机数密钥进一步加密,而随机数密钥被私钥加密,形成加密的数字签名。即使在量子计算机存在的情况下,也难以被推导出私钥。因此该方案不容易被量子计算机破解。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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

百度查询: 如般量子科技有限公司 基于非对称密钥池的抗量子计算区块链交易方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。