一种区块链数据共享加密和解密方法、设备及存储介质技术

技术编号:24805587 阅读:60 留言:0更新日期:2020-07-07 22:10
本发明专利技术公开了一种区块链数据共享加密和解密方法、设备及存储介质,属于区块链技术领域。包括至少一个第一方创建同态代理重加密密钥对私钥A和公钥A1;对明文a进行加密得到密文a1;将密文a1上传到区块链;至少一个第二方创建同态代理重加密密钥对私钥B和公钥B1;对明文b进行加密得到密文b1;将密文b1上传到区块链;所述第一方和第二方均从区块链的智能合约获取公钥C1;第一方将公钥C1和私钥A进行代理重加密,得到密钥rekeyA,上传到区块链;第二方将公钥C1和私钥B进行代理重加密,得到密钥rekeyB,上传到区块链;其中,智能合约通过同态加密创建密钥对钥私C和公钥C1。解决了基于区块链的隐私数据进行安全计算的同态问题,减少了用户与区块链,用户与用户之间的交互流程,将链下的一些操作移到链上,使计算更具有可信力。

【技术实现步骤摘要】
一种区块链数据共享加密和解密方法、设备及存储介质
本专利技术涉及区块链
,尤其涉及一种区块链数据共享加密和解密方法、设备及存储介质。
技术介绍
基于区块链的安全计算是大的技术背景,区块链拥有公开透明的特性,对于隐私数据需要做更多的加密计算来进行数据保护。安全计算也是区块链对隐私数据进行可计算的重要研究课题。现有的技术方案,是用户在链下确立秘钥共享方案,用同一把秘钥对数据进行加密,然后上链,由链上智能合约对数据进行安全可信计算,计算结果从链上获取后,由链下账户进行解密并通过零知识证明,证明自己的计算是真实的,再将计算结果返回给链上,供用户查询。因为区块链是公开透明的,因此当需要进行安全计算时,公开透明却成了劣势,任何用户都能从区块链上看到计算的元数据,以及计算的方法。在安全计算的应用场景下,元数据是不希望被别的用户看到的,而使用同态加密算法,可以实现明文数据的加密,加密的数据经过计算,得到的结果解密后与明文计算的结果是相同的,这样就解决了元数据的隐私问题。同态加密有一个限制特性,就是加密的数据来自于同一秘钥才能进行同态计算,当元数据的来源来自不同的用户,不同用户之间又不希望自己的数据被别人知道时,单一的同态加密算法仍不能满足要求。现有技术需要共享同态加密的秘钥,一旦泄露,被攻击者使用,就会产生虚假信息,造成数据计算结果存在差异,共享秘钥的所有协议方,都必须替换同态加密的秘钥。并且,很多操作是链下进行的,算法和数据存在部分暗箱操作,可信度不是很高。在效率方面,链下链上需要进行多次消息传递,效率比较低下。
技术实现思路
1.专利技术要解决的技术问题为了克服上述技术问题,本专利技术提供了一种区块链数据共享加密和解密方法、设备及存储介质。减少用户与用户之间,用户与区块链之间的交互流程,增加运行效率。2.技术方案为解决上述问题,本专利技术提供的技术方案为:一种区块链数据共享加密方法,包括:至少一个第一方创建同态代理重加密密钥对私钥A和公钥A1;对明文a进行加密得到密文a1;将密文a1上传到区块链;至少一个第二方创建同态代理重加密密钥对私钥B和公钥B1;对明文b进行加密得到密文b1;将密文b1上传到区块链;所述第一方和第二方均从区块链的智能合约获取公钥C1;第一方将公钥C1和私钥A进行代理重加密,得到密钥rekeyA,上传到区块链;第二方将公钥C1和私钥B进行代理重加密,得到密钥rekeyB,上传到区块链;其中,智能合约通过同态加密创建密钥对钥私C和公钥C1。可选地,所述代理重加密基于多种重加密算法,为bls12,bn256。可选地,所述同态加密算法为基于rsa的乘同态,Paillier的加同态,或Gentry全同态。可选地,所述区块链为以太坊,或超级账本。可选地,所述智能合约为solidity,或chaincode。一种区块链数据共享解密方法,根据以上所述的一种区块链数据共享加密方法,包括:智能合约用密钥rekeyA对密文a1进行重加密得到重加密密文a2;智能合约用密钥rekeyB对密文b1进行重加密得到重加密密文b2;智能合约将重加密密文a2和重加密密文b2进行同态计算,得到密文c2;智能合约用钥私C对密文c2进行解密,得到明文c1,明文c1与明文a和明文b的计算结果相同。可选地,所述代理重加密基于多种重加密算法,为bls12,或bn256。可选地,所述同态加密算法为基于rsa的乘同态,Paillier的加同态,或Gentry全同态。一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如以上任一项所述的方法。一种存储有计算机程序的存储介质,该程序被处理器执行时实现如以上任一项所述的方法。3.有益效果采用本专利技术提供的技术方案,与现有技术相比,具有如下有益效果:(1)减少用户与用户之间,用户与区块链之间的交互流程,增加运行效率;(2)使用智能合约进行可信计算,使计算流程化,可视化,增加计算结果的可信度;(3)使用同态代理重加密技术,用户分开使用各自的秘钥,独自上链,减少秘钥泄漏带来的风险;(4)使用区块链技术进行可信计算,减少服务宕机和数据丢失的风险。附图说明图1为本专利技术一实施例提供的一种区块链数据共享加密方法流程示意图。图2为本专利技术一实施例提供的一种区块链数据共享加密方法流程示意图。图3为本专利技术一实施例提供的一种区块链数据共享加密方法场景示意图。图4本专利技术的一种设备结构示意图。具体实施方式为进一步了解本专利技术的内容,结合附图及实施例对本专利技术作详细描述。下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。本专利技术中所述的第一、第二等词语,是为了描述本专利技术的技术方案方便而设置,并没有特定的限定作用,均为泛指,对本专利技术的技术方案不构成限定作用。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。实施例1一种区块链数据共享加密方法,如图1、3所示,包括:至少一个第一方创建同态代理重加密密钥对私钥A和公钥A1;对明文a进行加密得到密文a1;将密文a1上传到区块链;至少一个第二方创建同态代理重加密密钥对私钥B和公钥B1;对明文b进行加密得到密文b1;将密文b1上传到区块链;所述第一方和第二方均从区块链的智能合约获取公钥C1;第一方将公钥C1和私钥A进行代理重加密,得到密钥rekeyA,上传到区块链;第二方将公钥C1和私钥B进行代理重加密,得到密钥rekeyB,上传到区块链;其中,智能合约通过同态加密创建密钥对钥私C和公钥C1。所述代理重加密基于多种重加密算法,为bls12,bn256。所述同态加密算法为基于rsa的乘同态,Paillier的加同态,或Gentry全同态。所述区块链为以太坊,或超级账本。所述智能合约为solidity,或chaincode。对于不同用户之间的数据共享特性,可以用代理重加密的方案,进行解决,代理重加密是秘钥交换算法,能够完全屏蔽数据泄露的可能。单纯的代理重加密又不具备同态计算的能力。因此需要将两种算法结合到一起,使用同态代理重加密的方案,实现安全计算,为了支持更多的计算方式,使用全同态代理重加密的方案,是更符合实际业务需求的。实施例2一种区块链数据共享解密方法,根据实施例1所述的一种区块链数据共享加密方法,如图2、3所示,包括:智能合约用密钥rekeyA对密文a1进行重加密得到重加密密文a2;智能合约用密钥rekeyB对密文b1进行重加密得到重加密密文b2;智能合约将重加密密文a2和重加密密文b2进行同态计算,得到密文c2本文档来自技高网
...

【技术保护点】
1.一种区块链数据共享加密方法,其特征在于,包括:/n至少一个第一方创建同态代理重加密密钥对私钥A和公钥A1;对明文a进行加密得到密文a1;将密文a1上传到区块链;/n至少一个第二方创建同态代理重加密密钥对私钥B和公钥B1;对明文b进行加密得到密文b1;将密文b1上传到区块链;/n所述第一方和第二方均从区块链的智能合约获取公钥C1;/n第一方将公钥C1和私钥A进行代理重加密,得到密钥rekeyA,上传到区块链;/n第二方将公钥C1和私钥B进行代理重加密,得到密钥rekeyB,上传到区块链;/n其中,智能合约通过同态加密创建密钥对钥私C和公钥C1。/n

【技术特征摘要】
1.一种区块链数据共享加密方法,其特征在于,包括:
至少一个第一方创建同态代理重加密密钥对私钥A和公钥A1;对明文a进行加密得到密文a1;将密文a1上传到区块链;
至少一个第二方创建同态代理重加密密钥对私钥B和公钥B1;对明文b进行加密得到密文b1;将密文b1上传到区块链;
所述第一方和第二方均从区块链的智能合约获取公钥C1;
第一方将公钥C1和私钥A进行代理重加密,得到密钥rekeyA,上传到区块链;
第二方将公钥C1和私钥B进行代理重加密,得到密钥rekeyB,上传到区块链;
其中,智能合约通过同态加密创建密钥对钥私C和公钥C1。


2.根据权利要求1所述的一种区块链数据共享加密方法,其特征在于,所述代理重加密基于多种重加密算法,为bls12,bn256。


3.根据权利要求1所述的一种区块链数据共享加密方法,其特征在于,所述同态加密算法为基于rsa的乘同态,Paillier的加同态,或Gentry全同态。


4.根据权利要求1所述的一种区块链数据共享加密方法,其特征在于,所述区块链为以太坊,或超级账本。


5.根据权利要求4所述的一种区块链数据共享加密方法,其特征在于,所述智能合约为solidity,或chaincode...

【专利技术属性】
技术研发人员:谢超良赵辉王超
申请(专利权)人:湖南智慧政务区块链科技有限公司
类型:发明
国别省市:湖南;43

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

1