首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 区块链账本 / 一种用于智能合约隐私保护的全同态加密方法

一种用于智能合约隐私保护的全同态加密方法

阅读:350发布:2020-05-17

专利汇可以提供一种用于智能合约隐私保护的全同态加密方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种用于 智能合约 隐私保护的全同态加密方法,包括:(1)全体用户共同制定一份智能合约,形成一份 电子 化承诺;(2)生成公钥和私钥,并将私钥分成n份,用户通过注册获取所述的公钥和所述的n份私钥中的一份私钥;(3)对所述的智能合约进行全同态加密,对全同态加密后的智能合约进行数字签名,签名后的智能合约传入 区 块 链 网络;(4)用户在进行了全同态加密的智能合约上进行操作,补充各自的隐私内容;(5)操作完成后的智能合约通过网络扩散并存入区块链的每个 节点 上,全体用户共同管理和执行此智能合约。本发明通过共享密钥的方法,减少智能合约全同态 算法 的计算量,从而实现对智能合约的隐私保护。,下面是一种用于智能合约隐私保护的全同态加密方法专利的具体信息内容。

1.一种用于智能合约隐私保护的全同态加密方法,其特征在于,包括:
(1)全体用户共同制定一份智能合约,并将所述的智能合约保留涉及各用户隐私部分的内容后程序化,制定形成一份电子化承诺;
(2)生成公钥和私钥,并将私钥分成n份,用户在链上通过注册获取所述的公钥和所述的n份私钥中的一份私钥,需要用完整的私钥解密智能合约时,用户通过共享计算的方式获取完整的私钥;
(3)对所述的智能合约进行同态加密,涉及到各用户隐私的部分由各用户在同态加密后的智能合约上自行补充,对同态加密后的智能合约进行数字签名,签名后的智能合约传入区块链网络;
(4)用户在进行了同态加密的智能合约上进行操作,补充各自的隐私内容;
(5)操作完成后的智能合约通过网络扩散并存入区块链的每个节点上,全体用户共同管理和执行此智能合约。
2.根据权利要求1所述的用于智能合约隐私保护的全同态加密方法,其特征在于,所述步骤(1)中具体内容还包括:针对需要共同执行的事件,共同制定一份智能合约,所述的共同制定的智能合约可以用于公有链、联盟链和私有链。
3.根据权利要求1所述所述的用于智能合约隐私保护的全同态加密方法,其特征在于,所述步骤(2)中,设置G1、G2是两个阶为素数q的循环群,存在e:G1⊙G1→G2,e是双线性映射算法,⊙表示乘法或加法运算过程,g是G1的生成元,sig(m)表示智能合约的签名,H表示哈希函数和哈希运算,具体实现步骤如下:
1.1将私钥S分成n份,至少t个私钥的聚合才能形成完整的私钥,进而才能操作智能合约m;
1.2用户注册,选择自己的私钥si,获取公钥,并保存私钥和公钥;
1.3得到私钥的用户计算用户私钥生成元 并将 分享给其他用户。
4.根据权利要求1所述用于智能合约隐私保护的全同态加密方法,其特征在于,所述步骤(3)中,设置ri表示用户Ui的随机数,对所述智能合约进行同态加密的具体步骤如下:
2.1由步骤(2)注册获得公钥,通过共享方式获得其他私钥,计算私钥
2.2用公钥将智能合约同态加密为密文并输出;
2.3用户使用S对同态加密后的智能合约m’进行操作;
2.4用户将操作完成后的智能合约密文m”输出进行共识验证,达成共识的m”写入区块链账本
5.根据权利要求1所述用于智能合约隐私保护的全同态加密方法,其特征在于,所述步骤(3)中对同态加密后的智能合约进行数字签名,具体步骤如下:
3.1用户获取公钥k和私钥si,以及同态加密后的智能合约m’;
3.2对 和m’进行哈希运算得到 和H(m’),然后进行数字签名得到
和sig2(H(m’));
3.3将 和sig2(H(m’))发送到全网,并写入区块链账本。
6.根据权利要求1或4或5所述用于智能合约隐私保护的全同态加密方法,其特征在于,所述步骤(3)和(4)中,对智能合约的同态加密算法具体对涉及隐私部分的智能合约进行全同态加密。
7.根据权利要求1所述用于智能合约隐私保护的全同态加密方法,其特征在于,所述步骤(5)在共识过程中,验证节点将智能合约的哈希值封装成一个区块结构并迅速扩散到全网,收到智能合约的每个节点采用共享私钥对每条智能合约进行私钥签名与账户匹配的有效性验证,验证通过后将智能合约最终写入区块链账本中。

说明书全文

一种用于智能合约隐私保护的全同态加密方法

技术领域

[0001] 本发明属于链智能合约加密技术领域,具体涉及一种用于智能合约隐私保护的全同态加密方法。

背景技术

[0002] 密码学家Szabo在1995年定义智能合约是一种执行合约条款的可计算交易协议,由于没有合适的执行平台,智能合约的定义被提出初,智能合约技术没有得到重视。随着比特币和区块链平台的兴起,智能合约因其能够提高交易或事务执行的效率而得到越来越多的研究和应用,例如在数字支付、金融资产处置、多重签名合约、计算、物联网、共享经济等领域都得到了应用,随着智能合约的种类逐渐增多,智能合约险管理和危机应对场景尚不完善,一些智能合约执行涉及到隐私保护问题。
[0003] 智能合约包含的四大核心概念包括:数字身份、数字资产和智能财产、合约仲裁平台、数字资产托管。从智能合约的四大核心概念中看出智能合约需要加强的隐私保护问题,首先,数字身份意味着构建数字身份认证服务,一旦涉及到身份认证问题,就会牵扯到隐私保护问题,其次,数字资产和智能财产包括去中心化的数字化合约权益和资产,以及嵌入硬件重构的智能财产,资产和财产问题涉及到不少用户信息,最后,依托区块链技术保管各类资产财产,托管问题由于涉及到的托管方属于第三方,在涉及到不信任的第三方时,就要考虑隐私保护问题,以免用户隐私信息泄露,或被恶意利用。实际上,区块链的智能合约中涉及的各用户并非完全匿名,智能合约和个人账户等都是通过一种地址标识,如以太坊公私钥地址,在区块链网络上进行数据传输。但当用户和现实世界的事务发生交互时,例如数字货币钱包代理商等,用户的地址标识就会变为网络代号(如论坛的网名),尽管用户具体的身份依然不被知晓,但任何与用户相关的数据和行为都能够联系到这个代号上,并且随着反匿名身份甄别技术的发展,难以保证智能合约用户的匿名性。而且区块链上的数据是公开透明的,通过各种数据挖掘技术,可以将很多地址互相联系起来,一旦泄露了真实身份信息,将公开用户的所有的信息。由此可见智能合约的隐私保护问题是极其值得重视。
[0004] 目前,北京科技大学提出一种用零知识证明方法对智能合约进行隐私保护的方法,矩阵元技术有限公司公开了一篇保护智能合约隐私的方法的专利,其技术方案为:使用加法同态加密区块链中的隐私数据,并在交易过程中生成非交互式的零知识证明以证明交易的有效性。除此之外,由于缺乏实际可行的全同态加密技术,智能合约隐私保护问题没有很大的研究进展。
[0005] 公认的全同态加密是指即使在不使用密钥的情况下,可以对密文进行任何计算,即对于任意有效的计算算法f及明文m,有性质f(Enc(m))=Enc(f(m))。Gentry在2009年首次构造出全同态加密方案。逐渐发展的全同态加密构建的关键技术包括:同态解密、密钥交换、模交换。
[0006] 区块链利用智能合约自动执行各项交易和事务,但是由于智能合约代码本身涉及到不少用户隐私,存在较大的隐私泄露隐患,不能满足一些机构的隐私保护要求,如行、版权交易中心等机构需要对交易用户的身份信息及交易内容的保护问题。利用全同态加密算法可以在不知晓智能合约内容的情况下,对智能合约进行操作,具有保护智能合约隐私的作用,但全同态加密方法涉及到的计算量非常巨大,严重影响智能合约的执行效率。

发明内容

[0007] 本发明基于上述背景和现有技术所存在的问题,拟设计一种用于智能合约隐私保护的全同态加密方法,其能够对智能合约进行隐私保护。本发明还有一个目的是通过共享密钥的方法,提高智能合约同态加解密的效率,以便提高进行智能合约执行效率。
[0008] 为了实现本发明的这些目的和其它优点,提供了一种用于智能合约隐私保护的全同态加密方法,具体实现步骤包括:
[0009] (1)全体用户共同制定一份智能合约,将制定完成的智能合约保留涉及各用户隐私部分的内容后程序化,制定形成一份电子化承诺;
[0010] (2)生成公钥和私钥,并将私钥分成n份,用户在区块链上通过注册获取所述的公钥和所述的n份私钥中的一份私钥,需要用完整的私钥解密智能合约时,用户通过共享计算的方式获取完整的私钥;
[0011] (3)对所述智能合约进行同态加密,涉及到各用户隐私的部分由各用户在同态加密后的智能合约上自行补充,对同态加密后的智能合约进行数字签名,签名后的智能合约传入区块链网络;
[0012] (4)用户在进行了同态加密算法的智能合约上进行操作,补充各自的隐私内容(步骤(1)所述保留的涉及各用户隐私部分的内容),在不解密智能合约的情况下,用户无法获悉涉及到隐私信息的智能合约内容;
[0013] (5)操作完成后的智能合约通过网络扩散并存入区块链的每个节点上,所有参与者节点(全体用户U)共同管理和执行此智能合约。
[0014] 优选的是,其中,所述步骤(1)还包括,针对某件需要共同执行的事件,本发明所述共同制定的智能合约可以用于各种类型的区块链,如公有链、联盟链或私有链中。在联盟链中,智能合约又称为链码,涉及到各方执行各种事务的接口和触发设置;在公有链中,例如以太坊中,涉及到全网所有节点的参与,因此制作的智能合约需要考虑隐私保护问题,例如如何使任何一方无法通过地址溯源搜索或调查到智能合约上涉及的任何一方的地址,因为一旦知道某节点的地址,就有可能搜索到此节点(用户)。
[0015] 本发明的目的还可以进一步由所述步骤(2)的通过共享密钥的方法来实现,令G1、G2是两个阶为素数q的循环群(包括加法和乘法),令e:G1⊙G1→G2,其中e是双线性映射算法,⊙表示乘法或加法运算过程,g是G1的生成元,sig(m)表示智能合约的签名,H表示Hash(哈希)函数和Hash运算。该方法包括:
[0016] 1.1将私钥S分成n份(均分私钥的过程可能会产生重复的子份额,即n中包含的私钥子份额有重复的部分),数量n根据用户数量制定,至少t个私钥的聚合才能形成完整的私钥,进而才能操作智能合约m,t代表了将一个完整的私钥不重复地分成子份额的数量。因为将私钥分成了n份,存储每份私钥所占的内存空间相对存储总私钥会小很多;
[0017] 1.2用户注册,选择自己的私钥si,获取公钥,并保存私钥和公钥;
[0018] 1.3得到私钥的用户计算用户私钥生成元 并将 分享给其他用户。
[0019] 优选的是,所述步骤(3)中,设置ri表示用户Ui的随机数,对所述智能合约进行同态加密的具体步骤如下:
[0020] 2.1由步骤(2)注册获得公钥,通过共享方式获得其他私钥,计算私钥[0021] 2.2用公钥将智能合约同态加密为密文并输出;
[0022] 2.3用户使用S对加密后的智能合约m’进行操作;
[0023] 2.4用户将操作完成后的智能合约密文m”输出进行共识验证,达成共识的m”写入区块链账本
[0024] 优选的是,所述步骤(3)中对加密后的智能合约进行数字签名,具体步骤如下:
[0025] 3.1用户获取公钥k和私钥si,以及同态加密后的智能合约m’;
[0026] 3.2对 和m’进行哈希运算得到 和H(m’),然后进行数字签名得到和sig2(H(m’));
[0027] 3.3将 和sig2(H(m’))发送到全网,并写入区块链账本。
[0028] 进一步地,所述步骤(3)和(4)中,对智能合约的同态加密算法具体对涉及隐私部分的智能合约进行全同态加密,根据全同态加密具有的性质,即在加密后的智能合约密文上进行操作,相当于在智能合约明文上的操作,这样的设置使得即使在不获悉整个全部智能合约的内容的情况下也能对智能合约进行操作,达到对智能合约进行隐私保护的目的。
[0029] 进一步地,所述步骤(5)在共识过程中,验证节点将智能合约的Hash值封装成一个区块结构并迅速扩散到全网,收到智能合约的每个节点采用共享私钥对每条智能合约进行私钥签名与账户匹配的有效性验证,验证通过后将智能合约最终写入区块链账本中。
[0030] 本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
[0031] 本发明至少包括以下有益效果:
[0032] 1.利用全同态加密进行智能合约的隐私保护,可以使得智能合约的隐私信息不回泄露;
[0033] 2.利用密钥共享的方法进行私钥的分发和共享,减少了同态加密方案中密钥交换的计算量,使得全同态算法的效率得到提升;
[0034] 3.借助区块链技术本身的优势结合本发明隐私保护措施,使得智能合约隐私保护得到进一步实现。附图说明
[0035] 图1为本发明整体流程图
[0036] 图2为本发明基于全同态加密的密钥共享分发的原理流程图;
[0037] 图3为本发明全对智能合约进行全同态加密的实现机制。

具体实施方式

[0038] 为了清晰地阐述本发明,使本发明实施例的目的、技术方案和优点更加清楚,下面结合了本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,以令本领域技术人员参照说明书文字能够据以实施。下面将附图结合具体实施方式对本发明的技术加以详细说明。
[0039] 1.图1示出了根据本发明的一种实现形式,示出了本发明实现的整体流程图,提供了一种用于智能合约隐私保护的全同态加密方法,具体实现步骤包括:
[0040] (1)全体用户U共同制定一份智能合约m,将制定完成的智能合约保留涉及各用户隐私部分的内容后程序化,制定形成一份电子化承诺;
[0041] (2)生成公钥和私钥,并将私钥分成n份,用户在区块链上通过注册获取所述的公钥K和所述的n份私钥中的一份私钥si,需要用完整的私钥S解密智能合约时,用户Ui通过共享计算的方式获取完整的私钥S;
[0042] (3)利用全同态加密算法对智能合约m进行加密,其中涉及到各用户隐私的部分由各用户在全同态加密后的智能合约上自行补充,对全同态加密后的智能合约m’进行数字签名,签名后的智能合约传入区块链网络;
[0043] (4)用户Ui在进行了全同态加密的智能合约上进行操作,补充各自的隐私内容,在不解密智能合约的情况下,用户无法获悉涉及到隐私信息的智能合约内容;
[0044] (5)操作完成后的智能合约m”通过网络扩散并存入区块链的每个节点上,所有参与者节点(全体用户U)共同管理和执行此智能合约m”。
[0045] 2.图2为本发明基于全同态加密的密钥共享分发的原理流程图。采用这种方案具有减少全同态加密方案中密钥交换的计算量,使得全同态算法的效率得到提升的作用的有利之处。并且,这种方式只是一种较佳实例的说明,但并不局限于此。在实施本发明时,根据使用者需求进行实施样态修改,都将落入本发明保护的范围中。所述步骤(2)中,令G1、G2是两个阶为素数q的循环群(包括加法和乘法),令e:G1⊙G1→G2,其中e表示双线性映射算法,⊙表示乘法或加法运算过程,g是G1的生成元,sig(m)表示智能合约的签名,H表示Hash函数和Hash运算。该方法包括:
[0046] 第1步:将私钥分成n份(均分私钥的过程可能会产生重复的子份额,即n中包含的私钥子份额有重复的部分,),数量n根据用户数量制定,例如有z个用户,使得n=z或0.5z
[0047] 第2步:用户注册,选择自己的私钥si,获取公钥K,并保存K和si;
[0048] 第3步:得到私钥的用户计算用户私钥生成元 并将 分享给其他用户;
[0049] 第4步:通过共享方式获得其他私钥,计算私钥
[0050] 3.上述方案中步骤(3)、(4)的一种实现方式如图3所示,为本发明全对智能合约进行全同态加密的实现机制,智能合约用符号m表示。采用这种方案保护可以达到保护智能合约隐私的有利之处。其具体实现步骤如下:
[0051] 第1步:用公钥K将智能合约全同态加密为密文并输出;
[0052] 第2步:用户Uj获取全同态加密后的智能合约m’;
[0053] 第3步:对 和m’进行哈希运算得到 和H(m’),然后进行数字签名得到和sig(H(m’));
[0054] 第4步:将 和sig(H(m’))发送到全网,并写入区块链账本;
[0055] 第5步:U使用S对加密后的智能合约m’进行操作;
[0056] 第6步:Ui将操作完成后的智能合约密文m”输出进行共识验证,达成共识的m”写入区块链账本。
[0057] 具体实施例:
[0058] 例如在公有链以太坊社区中,共同商定智能合约的意思是任何节点可以随时加入到区块链中来,由智能合约执行一系列事务,同态加密是指对智能合约涉及到隐私的内容进行掩盖,对具有掩盖内容(同态加密)的智能合约进行操作就相当于对原本的智能合约进行操作;对联盟链而言,共同协商的智能合约采用同态加密方法对涉及到隐私的内容进行加密后操作,这样保证除了用户本人其他人无法获悉自己的隐私信息。
[0059] 在共识过程中,验证节点将智能合约的Hash值封装成一个区块结构并迅速扩散到全网,收到智能合约的每个节点采用共享私钥si对每条合约进行私钥签名sig(H(si))与账户匹配的有效性验证,验证通过后将智能合约最终写入区块链账本中。
[0060] 这里说明的模块数量和处理规模是用来简化本发明的说明的。对本发明的采用全同态加密和密钥共享方案的的应用、修改和变化对本领域的技术人员来说是显而易见的。如上所述,根据本发明,由于本发明采用密钥共享的方式减少了全同态加密的计算量,进而使得全同态加密可以应用于智能合约的隐私保护中,因此具有对智能合约隐私保护的效果。
[0061] 上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈