安全共享加密材料的系统和方法技术方案

技术编号:25054613 阅读:16 留言:0更新日期:2020-07-29 05:41
本文描述的系统和方法涉及多个当事方各自生成和交换数量的技术,该数量基于共享秘密(例如,共享秘密的幂)而不暴露该共享秘密。根据协议,两个及以上当事方可以交换在多项式上生成的椭圆曲线点集,该多项式可以被两个及以上当事方中的每一方用来确定共享秘密的幂。该协议可以用作确定智能合约的参数的一部分,该智能合约广播到区块链网络(例如,比特币)。基于该协议,额外的当事方(例如,不同于该两个及以上当事方的第三方)可以执行计算任务,例如智能合约的执行。

【技术实现步骤摘要】
【国外来华专利技术】安全共享加密材料的系统和方法
本专利技术总体上涉及计算机安全和验证,并且更具体地涉及允许多个(例如,两个以上)当事方共享群组的元素的技术,该群组的元素的指数或乘法系数取决于共享秘密的幂。数量可以被共享,使得多个当事方交换基于共享秘密(例如,共享秘密的幂)的数量,而无需暴露该共享秘密。本专利技术特别适合但不限于在智能合约中使用,其中多个当事方可以是同意智能合约的参数的智能合约的相应当事方。本专利技术可以利用加密和数学技术来共享数量,以获得与安全性相关的优势。
技术介绍
区块链可以指点对点的电子账本,其被实现为基于计算机的、去中心化的分布式系统,该系统由区块组成,区块又可以由交易和其他信息组成。在一些示例中,“区块链交易”是指对字段值的结构化集合进行编码的输入消息,该字段值的结构化集合包括数据和条件集合,其中满足条件集合是将字段集写入区块链数据结构的先决条件。例如,对于比特币,每个交易是对区块链系统中参与者之间的数字资产的控制转移进行编码的数据结构,并且包括至少一个输入和至少一个输出。在一些实施例中,“数字资产”是指与使用权相关联的二进制数据。数字资产的示例包括比特币、以太币(ether)和莱特币(Litecoins)。在一些实现中,可以通过将数字资产的至少一部分从第一实体重新关联到第二实体来执行数字资产的转移控制。区块链的每个区块可以包含前一区块的散列(hash),如此,这些区块被链接在一起,以创建所有交易的永久的、不可更改的记录,这些交易自区块链诞生之始写入区块链。交易包含小程序,这些小程序称为脚本,嵌入至交易的输入和输出中,这些小程序指定了如何以及由谁来访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。尽管区块链技术因使用加密货币实现方案而广为人知,但数字企业家已经开始探索使用比特币所基于的加密安全系统和可以存储在区块链上的数据,以实现新系统。如果区块链能够用于不局限于加密货币领域的自动化任务和过程,那么将是非常有利的。这类解决方案能够利用区块链的优势(例如,事件的永久防篡改记录、分布式处理等),同时在其应用中更具通用性。本专利技术描述了一个或多个基于区块链的计算机程序的技术方面。基于区块链的计算机程序可以是记录在区块链交易中的机器可读和可执行程序。基于区块链的计算机程序可以包括规则,该规则可以处理输入以产生结果,然后可以根据这些结果执行动作。当前研究的一个领域是使用基于区块链的计算机程序来执行“智能合约”。与用自然语言编写的传统合约不同,智能合约可以是计算机程序,该计算机程序旨在使机器可读合约或协议条款的执行自动化。
技术实现思路
因此,期望通过交换数量,为区块链上的多方验证密钥记录提供协议其中,该数量可用于确定两个及以上当事方之间共享秘密的幂。在各种实施例中,可以希望智能合约的两个及以上当事方交换数量,该数量可用于确定包括验证密钥和评估密钥的公共参考字符串。在各种实施例中,本文描述的技术允许两个及以上当事方交换共享秘密的幂,而无需使用加密技术(诸如加密),并且也无需当事方建立通信通道,该通信通道要求对通过该通信通道交换的数据的保密性提供加密可验证的保证。因此,本专利技术提供了改进的安全性和验证解决方案。现在已经设计出这样一种改进的方案。因此,根据本专利技术,提供了如所附权利要求中定义的系统和方法。根据本专利技术,可以提供一种用于区块链网络的节点的计算机实现的方法,该计算机实现的方法包括:在多个参与者中的一个参与者处,确定可用于映射有限域元素的函数;基于若干个参与者,生成在点集中评估的多项式;将该多项式分配给该多个参与者的相应参与者;确定该多个参与者中每个参与者的多项式的和,其中该和对应于秘密的幂;以及在该多个参与者中并基于该秘密,共同生成区块链交易。优选地,该点集是椭圆曲线点集。优选地,基于拉格朗日插值确定该多项式的和。本文描述的方法还可以包括至少部分地基于该秘密的幂来确定公共参考字符串,该公共参考字符串可由该多个参与者确定。本文描述的方法还可以包括从多个参与者中的每个参与者接收多项式的相应的值。优选地,在将该多项式的值分配给相应参与者时,利用了链外通信。链外通信可以指未向区块链网络广播和/或无法由区块链网络验证的数据通信。优选地,该可用于映射有限域元素的函数用作群组的生成器的系数或指数。优选地,多个参与者恰好是两个参与者。秘密可以基于在特定点(例如特定椭圆曲线点)处评估的多项式的和来确定。该特定点可以是交点,例如每个参与者的多项式的和构成(主)多项式,其与y轴的交点是秘密。该点集可以不包括该交点,换句话说,至少在某些情况下,该交点不是该点集的成员。在该点集中评估的多项式可以至少为2阶。优选地,该点集的每个点是不同的点,使得在该点集中没有重复的点。优选地,点集中的每个点是一个不同的点,以使得在点集中没有重复的点。还期望提供一种系统,包括:处理器;和存储器,存储器包括可执行指令,可执行指令由于被处理器执行而使得系统执行如权利要求所述的任何方法。还期望提供一种非暂时性计算机可读存储介质,其上存储有可执行指令,可执行指令由于被计算机系统的一个或多个处理器执行而使得计算机系统至少执行如权利要求所述的任何方法。附图说明参考本文描述的实施例,本专利技术的这些和其他方面将变得显而易见并得以阐述。现在将仅通过示例并参考附图来描述本专利技术的实施例,其中:图1示出了计算环境,其中智能合约的多个当事方与第三方签订协议以执行智能合约;图2示出了计算环境,其中第一计算实体和第二计算实体交换数量,该数量可用于确定两个及以上当事方之间的共享秘密的幂;图3示出了计算环境,其中第一计算实体和第二计算实体交换参数集,该参数集呈现零知识;图4示出了基于双方公共参考字符串(CRS)和相应的正确性证明(POC)或正确执行的证明的协议的示意图;图5示出了根据实施例的用于生成双方公共参考字符串的过程,该双方公共参考字符串包括验证密钥和评估密钥;图6示出了根据至少一个实施例的用于在多个当事方之间共享共享秘密的幂的过程;和图7示出了计算设备的简化框图,该计算设备可用于实践本专利技术的至少一个实施例。具体实施方式图1示出了可以在其中实现各种实施例的区块链环境;本专利技术描述了可用于实现系统和方法的技术,该系统和方法允许多个当事方安全地共享群组的元素,该群组的元素的指数或乘法系数取决于共享秘密的幂。数量可以被共享,使得多个当事方交换基于共享秘密(例如,共享秘密的幂)的数量,而无需暴露该共享秘密。因此,在各种实施例中,多个n个参与者建立共享秘密的幂(例如,在乘法情况下<si>G)的表示。在实施例中,智能合约的两个当事方使用利用本文描述的技术和方法的协议来共享数量,该数量可以被当事方用来确定共享秘密的幂,而无需共享秘密本身,也无需泄露信息,该信息允许另一个计算实体(例如,不是智能合约的一方的计算实体)来确定秘密。本文档来自技高网
...

【技术保护点】
1.一种计算机实现的方法,包括:/n在多个参与者中的一个参与者处,确定用于映射有限域元素的函数;/n基于若干个参与者,生成在点集中评估的多项式;/n将所述多项式分配给所述多个参与者的相应参与者;/n确定所述多个参与者中每个参与者的多项式的和,其中所述和对应于秘密的幂;和/n在所述多个参与者中并基于所述秘密,共同生成区块链交易。/n

【技术特征摘要】
【国外来华专利技术】20171213 GB 1720768.9;20180823 GB 1813770.3;2018081.一种计算机实现的方法,包括:
在多个参与者中的一个参与者处,确定用于映射有限域元素的函数;
基于若干个参与者,生成在点集中评估的多项式;
将所述多项式分配给所述多个参与者的相应参与者;
确定所述多个参与者中每个参与者的多项式的和,其中所述和对应于秘密的幂;和
在所述多个参与者中并基于所述秘密,共同生成区块链交易。


2.根据任一前述权利要求所述的方法,其中所述点集是椭圆曲线点集。


3.根据任一前述权利要求所述的方法,其中确定所述多项式的和基于拉格朗日插值。


4.根据任一前述权利要求所述的方法,还包括:至少部分地基于所述秘密的幂来确定公共参考字符串,所述公共参考字符串可由所述多个参与者确定。


5.根据任一前述权利要求所述的方法,还包括:从所述多个参与者中的每个参与者接收相应的多项式的值。


6.根据任一前述权利要求所述的方法,其中在将所述多项式的值分配给所述相应参与者时,利...

【专利技术属性】
技术研发人员:亚历山卓·科瓦奇西蒙·马蒂奥帕特里克·蒙特利斯基史蒂芬·文森特
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:安提瓜和巴布达;AG

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

1