首页 / 专利库 / 电脑编程 / 量子计算 / 一种基于秘密共享公钥池的抗量子计算区块链系统和交易方法

一种基于秘密共享公钥池的抗量子计算链系统和交易方法

阅读:897发布:2020-05-12

专利汇可以提供一种基于秘密共享公钥池的抗量子计算链系统和交易方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于秘密共享公钥池的抗 量子计算 区 块 链 系统和交易方法,用于处理区块链中的交易过程,通过区块链应用实现,包括密钥卡,所述密钥卡中储存有公钥、私钥、秘密共享公钥池和公钥 指针 随机数,密钥卡与区块链中的每一个 节点 相匹配,并被区块链应用调用,其优点在于,密钥卡是独立的 硬件 隔离设备,被恶意 软件 和恶意操作窃取的可能性大大降低,大大提高了交易的安全性。隐藏部分签名信息, 量子计算机 无法得到用户的公钥,于是也无法得到对应的私钥,交易不容易被量子计算机破解。抗量子计算签名无需对签名进行加密,减少了因保护签名带来的计算量,降低设备的负担,提高计算速度。,下面是一种基于秘密共享公钥池的抗量子计算链系统和交易方法专利的具体信息内容。

1.一种基于秘密共享公钥池的抗量子计算链系统,用于处理区块链中各个客户端之间的交易过程,通过区块链应用实现,其特征在于:每个客户端均配置有单独的密钥卡,所述密钥卡中储存有公钥、私钥、秘密共享公钥池和公钥指针随机数,所述密钥卡内的秘密共享公钥池完全相同,所述密钥卡与区块链中的每一个节点相匹配,并被区块链应用调用。
2.根据权利要求1所述的基于秘密共享公钥池的抗量子计算区块链系统,其特征在于:
所述秘密共享公钥池的每个公钥分别进行秘密共享。
3.根据权利要求2所述的基于秘密共享公钥池的抗量子计算区块链系统,其特征在于:
对进行秘密共享的每个公钥生成两个随机数;每个随机数计算出一个秘密即密钥分量,并将每个公钥的其中一个密钥分量均存入秘密共享公钥池中。
4.根据权利要求1所述的基于秘密共享公钥池的抗量子计算区块链系统,其特征在于:
所述密钥卡用于移动终端采用SD卡,用于固定终端采用USBkey或主机主板密钥板卡。
5.一种基于秘密共享公钥池的抗量子计算区块链系统的交易方法,包括以下步骤:
交易发起人通过客户端生成一个未签名的交易RTx;
在密钥卡中选取公钥PK,将其加入未签名的交易RTx中,对加入公钥的RTx进行哈希运算得到Txh,通过私钥SK对Txh进行数字签名,得到数字签名Txs,对每笔交易资金分别选取相应的公钥进行签名运算;
签名完成后,将每次签名从密钥卡中选取的公钥分量和公钥指针随机数RPK、连同数字签名Txs一并存入交易中,并广播该交易至区块链网络中的每个节点;
区块链网络中的每个节点通过公钥指针随机数从秘密共享公钥池中取出被选取公钥的另一分量,与交易中的的公钥分量一起结合恢复初始公钥PK,用公钥对该交易进行验证;
签名验证成功后,对交易金额进行对比验证;全部验证成功后,矿工挖取区块,成功挖取后进行广播,其余节点对该区块进行验证;
验证成功后,接受该区块为新区块,完成整个交易过程。
6.根据权利要求5所述的基于秘密共享公钥池的抗量子计算区块链系统的交易方法,其特征在于:所述公钥PK加入未签名交易Rtx中,对新的未签名交易RTx进行Hash运算,得到Hash值Txh,并通过私钥SK对Hash运算的结果Txh进行签名得到交易发出时的数字签名Txs。
7.根据权利要求5所述的基于秘密共享公钥池的抗量子计算区块链系统的交易方法,其特征在于:所述公钥的恢复为结合公钥的两个分量通过公式进行计算,恢复签名者的公钥。
8.根据权利要求7所述的基于秘密共享公钥池的抗量子计算区块链系统的交易方法,其特征在于:将恢复的签名者的公钥加入RTx中,并对RTx进行Hash运算得到Hash值Txh’,同时使用恢复的签名者的公钥对交易Tx中使用私钥SK签名的Txs进行解密,得到Txh,将Txh和Txh’进行对比验证。

说明书全文

一种基于秘密共享公钥池的抗量子计算链系统和交易

方法

技术领域

背景技术

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

发明内容

[0006] 发明目的:本发明的目的在于能够有效地抵御量子计算且降低签名及验证计算量的基于秘密共享公钥池的抗量子计算区块链系统和交易方法。
[0007] 技术方案:为了实现上述目的,本发明的基于秘密共享公钥池的抗量子计算区块链系统,用于处理区块链中各个客户端之间的交易过程,通过区块链应用实现,每个客户端均配置有单独的密钥卡,密钥卡中储存有公钥、私钥、秘密共享公钥池和公钥指针随机数,密钥卡内的秘密共享公钥池完全相同,密钥卡与区块链中的每一个节点相匹配,并被区块链应用调用。
[0008] 为了隐藏部分签名信息达到抗量子计算的目的,对本发明中的秘密共享公钥池的每个公钥分别进行秘密共享,即对进行秘密共享的每个公钥生成两个随机数;每个随机数计算出一个秘密即密钥分量,并将每个公钥的其中一个密钥分量均存入秘密共享公钥池中。
[0009] 优选的,本发明中的密钥卡用于移动终端采用SD卡,用于固定终端采用 USBkey或主机主板密钥板卡。
[0010] 本发明中基于秘密共享公钥池的抗量子计算区块链系统的交易方法,包括以下步骤:
[0011] 交易发起人通过客户端生成一个未签名的交易RTx;
[0012] 在密钥卡中选取公钥PK,将其加入未签名的交易RTx中,对加入公钥的RTx 进行哈希运算得到Txh,通过私钥SK对Txh进行数字签名,得到数字签名Txs,对每笔交易资金分别选取相应的公钥进行签名运算;
[0013] 签名完成后,将每次签名从密钥卡中选取的公钥分量和公钥指针随机数RPK,连同数字签名Txs一并存入交易中,并广播该交易至区块链网络中的每个节点;
[0014] 区块链网络中的每个节点通过公钥指针随机数从秘密共享公钥池中取出被选取公钥的另一分量,与交易中的的公钥分量一起结合恢复初始公钥PK,用公钥对该交易进行验证;签名验证成功后,对交易金额进行对比验证;全部验证成功后,矿工挖取区块,成功挖取后进行广播,其余节点对该区块进行验证;
[0015] 验证成功后,接受该区块为新区块,完成整个交易过程。
[0016] 为了保证RTx无法被敌方得知,从而破解私钥SK,公钥PK加入未签名交易 Rtx中,对新的未签名交易RTx进行Hash运算,得到Hash值Txh,并通过私钥 SK对Hash运算的结果Txh进行签名得到交易发出时的数字签名Txs。
[0017] 为了实现交易的验证,公钥的恢复为结合公钥的两个分量通过公式进行计算,恢复签名者的公钥。
[0018] 为了提高交易的可信度和可靠性,将计算出的公钥PK加入RTx中,并对加入公钥的RTx进行Hash运算得到Hash值Txh’,同时使用签名者的公钥对交易 Tx中使用私钥SK签名的Txs进行解密,得到Txh,将Txh和Txh’进行对比验证。
[0019] 有益效果:
[0020] 1、密钥卡是独立的硬件隔离设备,被恶意软件和恶意操作窃取的可能性大大降低,大大的提高了交易的安全性。
[0021] 2、本发明利用秘密共享的方式,隐藏部分签名信息,量子计算机无法得到用户的公钥,于是也无法得到对应的私钥,因此本发明中的公私钥不容易被量子计算机破解。
[0022] 3、本发明中的抗量子计算签名无需对签名进行加密,减少了因保护签名带来的计算量,降低设备的负担,提高计算速度。附图说明
[0023] 图1为本发明实施例提供的通信系统结构图;
[0024] 图2为未签名交易的结构示意图;
[0025] 图3为第m次签名过程中交易结构示意图;
[0026] 图4为已签名交易的结构示意图;
[0027] 图5为区块与交易关系的示意图;
[0028] 图6为挖矿交易的示意图。

具体实施方式

[0029] 本发明为一种基于秘密共享公钥池的抗量子计算区块链系统和交易方法,总体思路是使用秘密共享公钥池存储公钥分量。
[0030] 如图1所示,本发明中的区块链系统中,每个用户作为区块链的一个节点,都有相应的区块链应用,并配有密钥卡,密钥卡中存有公钥指针随机数RPK、私钥SK、公钥PK和相同的秘密共享公钥池。密钥卡被区块链应用调用,密钥不出密钥卡。
[0031] 密钥卡中的用户侧密钥都下载自同一个网络服务站,且每个密钥卡中存储的秘密共享公钥池是完全一致的。移动终端的密钥卡优选为密钥SD卡;固定终端的密钥卡优选为密钥USBkey或主机密钥板卡。
[0032] 密钥卡中存储的秘密共享公钥池采用(2,2)秘密共享方式,即对每个公钥 PK进行(2,2)的秘密共享。对s进行(t,n)的秘密共享时,n为s拆分共享秘密的碎片数,t为恢复s的最小碎片数,2≤t≤n。
[0033] 具体的生成方式如下:
[0034] 生成两个随机数xa、xb,针对一个公钥PK,分别计算得到两个秘密即密钥分量为(xa,PKa),(xb,PKb)。其中将(xa,PKa)存在秘密共享公钥池中,(xb, PKb)直接存在密钥卡中。针对某个用户随机取公钥指针随机数RPK,结合特定的公钥指针函数FPPK得到公钥指针PPK并向相应的秘密共享公钥池中的对应位置存入(xa,PKa);如果该位置已经存入密钥分量,则重新选取指针随机数RPK,直到选择到一个未存入密钥分量的位置。
[0035] 凑齐2组秘密即可恢复ID,具体步骤如下:
[0036] 已知公钥PK的两组分量分别为(xa,PKa)和(xb,PKb),
[0037] 根据拉格朗日参数
[0038] 求得λa=(-xb)/(xa-xb),λb=(-xa)/(xb-xa)
[0039] 将求得的λa和λb代入公式PK=λa*PKa+λb*PKb
[0040] 求得PK=(xa*PKb-xb*PKa)/(xa-xb)。
[0041] 本发明中的基于秘密共享公钥池的抗量子计算区块链系统的具体交易步骤如下:
[0042] 步骤1:生成未签名交易RTx;
[0043] 在发起交易前,交易发起人即发起用户端A需生成一个未签名交易RTx,如图2所示。其中,InN表示某笔输入资金在本Tx中的序号;TxID表示某笔输入资金在其来源所在的Tx的ID。一般可取TxID=Hash(Tx);N表示某笔输入资金在其来源所在的Tx中作为输出资金的序号;OutN表示某笔输出资金在本Tx中的序号;Dest表示某笔输出资金的转入地址,一般是钱包的形式;Value表示某笔输出资金的数额。
[0044] 步骤2:生成交易签名Txs;
[0045] 以其中的第m次签名为例,将公钥PKm填入相应位置得到RTxm,如图3所示。
[0046] 对RTxm进行Hash运算,得到Hash值Txhm。使用私钥SKm对Txhm进行签名,得到第m个签名Txsm,即Txsm=SIGN(Txhm,SKm),SIGN=RSA签名算法。用相同的方法得到所有Txs。由于RTxm无法被敌方所知,因此敌方无法通过Txsm 破解SKm。
[0047] 步骤3:将每一次运算的公钥分量(xb,PKb)、数字签名Txs以及公钥指针随机数RPK一并存入Tx中,此时交易Tx如图4所示。
[0048] 步骤4:将已签名的交易Tx广播至区块链网络的所有节点。
[0049] 在交易验证过程中,区块链网络中的每个节点均可作为验证节点。
[0050] 同样以验证第m次签名为例,验证节点根据RPKm结合特定的公钥指针函数 FPPK得到公钥指针PPKm并从相应的秘密共享公钥池中的对应位置获取 (xam,PKam)。根据(xam,PKam)和(xbm,PKbm)使用上文所述方式恢复PKm。验证节点用与上文相同的方式形成一个验证方的RTxm,对RTxm进行Hash得到Hash值 Txhm。同时,使用PKm对Txsm进行签名解密,将得到的Txhm’与Txhm对比,完成验证。如果转出金额信息包含多笔不同的转出金额来源,则使用相同方法对多笔转出金额分别对应的加密转出签名进行验证。
[0051] 对各签名进行验证后,验证节点根据各个输入金额的TxID在区块链的历史记录中找到转出金额,从而证明本次交易各输入金额的存在性。验证节点取出输入金额后得到输入金额总额,与本次输出金额总额进行对比,查看是否相等;如果相等则验证通过;如果不相等则验证失败。
[0052] 步骤6:将该交易加入区块,矿工挖取区块并将其加入区块链中。其中区块与交易的关系如图5所示。
[0053] 矿工挖取区块的步骤如下:
[0054] 1、矿工形成挖矿交易;
[0055] 矿工形成一个如图6所示的挖矿交易,输入部分填充一些矿工所属矿池或者其他必要信息,输出部分与普通交易相同,输出金额总量与生成区块的奖励金额相同。
[0056] 2、矿工计算挖矿随机数;
[0057] 矿工计算出一个满足规则的随机数,即获得本次记账权,将自己生成的挖矿交易加入到区块中。
[0058] 3、矿工广播成功挖矿区块。
[0059] 矿工获取成功挖矿区块后,将该区块广播,其余节点对区块进行验证。主要是验证挖矿随机数是否满足规则,各笔交易的正确性,以及Merkle根的正确性。如验证成功,则接受该区块为新区块。
[0060] 在本实施例中,使用秘密共享公钥池并将其存储在密钥卡中。密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。由于量子计算机无法得到用户公钥,于是也无法得到对应的私钥。因此该方案不容易被量子计算机破解。
[0061] 本专利利用数字签名的特点,通过隐藏部分签名消息的方式来实现抗量子计算的签名。这种方式不需要对签名或签名的中间变量进行重复加密,即可实现抗量子计算的效果。由于该抗量子计算的签名方式并不会加大签名计算量,因此避免了使用普通加密方式来抵抗量子计算机的攻击,降低了各方的设备负担。
[0062] 同时,区块链中仅存有公钥的秘密共享分量,在没有密钥卡的情况下,敌方无法得到实际公钥,可对用户公钥的安全进行有效的保护。使用秘密共享的方式保护公钥,可减少因保护签名而带来的计算量。
[0063] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0064] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈