一种基于代理重加密和有向无环图的跨链方法及系统技术方案

技术编号:35904349 阅读:13 留言:0更新日期:2022-12-10 10:41
本发明专利技术涉及区块链技术领域,具体为一种基于代理重加密和有向无环图的跨链方法,包括以下步骤:对扩展区块链进行锁定;为跨链系统的用户生成代理重加密的相应密钥,假设用户User1和用户User2需要进行跨链操作;用户在记录节点上注册需链的地址和响应处理规范;有益效果为:本发明专利技术提出的基于代理重加密和有向无环图的跨链方法及系统利用代理重加密技术来实现交易密文的传递,确保了只有参与跨链的用户以及区块链系统可以获得对应的交易明文,记录在跨链系统对应节点的内容都是加密过的交易密文,有效保护了用户交易内容的隐私。有效保护了用户交易内容的隐私。有效保护了用户交易内容的隐私。

【技术实现步骤摘要】
一种基于代理重加密和有向无环图的跨链方法及系统


[0001]本专利技术涉及区块链
,具体为一种基于代理重加密和有向无环图的跨链方法及系统。

技术介绍

[0002]在代理重加密中,数据拥有者将数据利用对称密钥加密,把得到的密文存储于服务端,并利用数据拥有者的公钥加密对称密钥把得到的密文也上传存储到服务端。
[0003]现有技术中,当数据拥有者Alice想要对Bob进行数据共享时,数据拥有者Alice根据自己的解密密钥和Bob的加密密钥生成一个重加密密钥,并发送给服务端。服务端利用自己强大的计算能力并结合重加密密钥,进行重加密操作,把得到的密文也存储在服务端。然后Bob从服务端上下载密文,并利用自己的私钥解密得到对称密钥,然后利用对称密钥解密就得到了原始的明文。
[0004]但是,现存的五大跨链系统中:哈希锁定跨链只适用于价值跨链、应用场景受限;第三方公证跨链在安全性方面缺少保障;分布式密钥、侧链和中继技术都涉及在新建区块链上的操作,对跨链性能影响很大。可见仍缺乏一种高性能、高安全性、应用场景广泛的跨链系统。此外,数据保护法和个人隐私保护法的出台,也给跨链系统带来了保护交易数据隐私的新需求。

技术实现思路

[0005]本专利技术的目的在于提供一种基于代理重加密和有向无环图的跨链方法及系统,以解决上述
技术介绍
中提出的问题,旨在基于代理重加密和有向无环图,构造一个高效、高安全性的跨链系统。
[0006]为实现上述目的,本专利技术提供如下技术方案:一种基于代理重加密和有向无环图的跨链方法,所述基于代理重加密和有向无环图的跨链方法包括以下步骤:
[0007]对扩展区块链进行锁定;
[0008]为跨链系统的用户生成代理重加密的相应密钥,假设用户User1和用户User2需要进行跨链操作;
[0009]用户在记录节点上注册需链的地址和响应处理规范;
[0010]不同用户通过跨链系统确认跨链消息,假设User1需要在链A操作,User2需要在链B操作,以实现资产、信息或者合约的跨链;
[0011]跨链系统向区块链系统发送锁定和执行请求;
[0012]跨链系统按如下步骤生成跨链记录的有向无环图。
[0013]优选的,对扩展区块链进行锁定时,
[0014]为参与跨链系统的区块链扩展锁定功能,即限制用户一定时间内只能执行预定的操作;
[0015]为参与跨链系统的区块链扩展解密功能,即允许用户注册公钥后,发送加密信息
进行远程调用。
[0016]优选的,生成代理重加密的相应密钥时,
[0017]User1向记录节点注册身份,记录节点调用sk1,pk1=KeyGen()为User1生成私钥sk1和公钥pk1,将sk1安全分发给User1,公开pk1,User1向对应区块链注册sk1位置;
[0018]User2向跨链系统注册身份,跨链系统调用sk2,pk2=KeyGen()为User2生成私钥sk2和公钥pk2,将sk2安全分发给User2,公开pk2,User2向对应区块链注册sk2位置。
[0019]优选的,注册需链的地址和响应处理规范时,
[0020]若注册的链存在,记录节点在对应位置附加链地址和响应处理规范;否则,新建一个该链的链存储节点,在记录节点上记录前述地址和响应处理规范,并将该链存储节点地址广播至各工作节点;
[0021]通过跨链系统确认跨链消息时,User1生成跨链消息m
u1
,m
u1
包含:User1在链A上所做的操作,操作对应的User1签名,所需User2在链B上所做的操作;User2也生成类似的消息m
u2
,m
u2
包含:User2在链B上所做的操作,操作对应的User2签名,所需User1在链A上所做的操作;
[0022]User1调用KeyGen
sy
(m
u1
)算法生成对称密钥k
u1s
,调用Enc
sy
(k
u1s
,m
u1
)生成密文C
u11
,调用Enc(pk1,k
u1s
)生成密文C
u12
。User2调用KeyGen
sy
(m
u2
)算法生成对称密钥k
u2s
,调用Enc
sy
(k
u2s
,m
u2
)生成密文C
u21
,调用Enc(pk2,k
u2s
)生成密文C
u22

[0023]User1调用KenGen
re
(sk1,pk2)生成重加密密钥k1→2,User2调用KenGen
re
(sk2,pk1)生成重加密密钥k2→1;
[0024]User1将C
u11
,C
u12
,k1→2发送至工作节点;User2将C
u21
,C
u22
,k2→1发送至工作节点;
[0025]工作节点调用ReEnc(k1→2,C
u12
)生成重加密密文C
u13
;调用ReEnc(k2→1,C
u21
)生成重加密密文C
u23

[0026]工作节点将C
u13
,C
u11
发送给User2,将C
u23
,C
u21
发送给User1;
[0027]用户接收到工作节点的消息后,User1调用Dec(sk1,C
u23
)获得对称密钥k
u2s
,调用Dec
sy
(k
u2s
,C
u21
)获得消息m
u2
,验证消息m
u2
中内容无误后,向工作节点发送确认消息;User2调用Dec(sk2,C
u13
)获得对称密钥k
u1s
,调用Dec
sy
(k
u1s
,C
u11
)获得消息m
u1
,验证消息m
u1
中内容无误后,向工作节点发送确认消息。
[0028]优选的,跨链系统向区块链系统发送锁定和执行请求时,
[0029]工作节点接收到User1和User2的确认消息后,将对应的密文C
u11
,C
u12
组装为锁定请求发送至链A;将对应的密文C
u21
,C
u22
组装为锁定请求发送至链B;
[0030]链A调用Dec
sy
(k
u1s
,Dec(sk1,C...

【技术保护点】

【技术特征摘要】
1.一种基于代理重加密和有向无环图的跨链方法,其特征在于:所述基于代理重加密和有向无环图的跨链方法包括以下步骤:对扩展区块链进行锁定;为跨链系统的用户生成代理重加密的相应密钥,假设用户User1和用户User2需要进行跨链操作;用户在记录节点上注册需链的地址和响应处理规范;不同用户通过跨链系统确认跨链消息,假设User1需要在链A操作,User2需要在链B操作,以实现资产、信息或者合约的跨链;跨链系统向区块链系统发送锁定和执行请求;跨链系统按如下步骤生成跨链记录的有向无环图。2.根据权利要求1所述的一种基于代理重加密和有向无环图的跨链方法,其特征在于:对扩展区块链进行锁定时,为参与跨链系统的区块链扩展锁定功能,即限制用户一定时间内只能执行预定的操作;为参与跨链系统的区块链扩展解密功能,即允许用户注册公钥后,发送加密信息进行远程调用。3.根据权利要求2所述的一种基于代理重加密和有向无环图的跨链方法,其特征在于:生成代理重加密的相应密钥时,User1向记录节点注册身份,记录节点调用sk1,pk1=KeyGen()为User1生成私钥sk1和公钥pk1,将sk1安全分发给User1,公开pk1,User1向对应区块链注册sk1位置;User2向跨链系统注册身份,跨链系统调用sk2,pk2=KeyGen()为User2生成私钥sk2和公钥pk2,将sk2安全分发给User2,公开pk2,User2向对应区块链注册sk2位置。4.根据权利要求1所述的一种基于代理重加密和有向无环图的跨链方法,其特征在于:注册需链的地址和响应处理规范时,若注册的链存在,记录节点在对应位置附加链地址和响应处理规范;否则,新建一个该链的链存储节点,在记录节点上记录前述地址和响应处理规范,并将该链存储节点地址广播至各工作节点;通过跨链系统确认跨链消息时,User1生成跨链消息m
u1
,m
u1
包含:User1在链A上所做的操作,操作对应的User1签名,所需User2在链B上所做的操作;User2也生成类似的消息m
u2
,m
u2
包含:User2在链B上所做的操作,操作对应的User2签名,所需User1在链A上所做的操作;User1调用KeyGen
sy
(m
u1
)算法生成对称密钥k
u1s
,调用Enc
sy
(k
u1s
,m
u1
)生成密文C
u11
,调用Enc(pk1,k
u1s
)生成密文C
u12
。User2调用KeyGen
sy
(m
u2
)算法生成对称密钥k
u2s
,调用Enc
sy
(k
u2s
,m
u2
)生成密文C
u21
,调用Enc(pk2,k
u2s
)生成密文C
u22
;User1调用KenGen
re
(sk1,pk2)生成重加密密钥k1→2,User2调用KenGen
re
(sk2,pk1)生成重加密密钥k2→1;User1将C
u11
,C
u12
,k1→2发送至工作节点;User2将C
u21
,C
u22
,k2→1发送至工作节点;工作节点调用ReEnc(k1→2,C
u12
)生成重加密密文C
u13
;调用ReEnc(k2→1,C
u21
)生成重加密密文C
u23
;工作节点将C
u13
,C
u11
发送给User2,将C
u23
,C
u21
发送给User1;
用户接收到工作节点的消息后,User1调用Dec(sk1,C
u23
)获得对称密钥k
u2s
,调用Dec
sy
(k
u2s
,C
u21
)获得消息m
u2
,验证消息m
u2
中内容无误后,向工作节点发送确认消息;User2调用Dec(sk2,C
u13
)获得对称密钥k
u1s
,调用Dec
sy
(k
u1s
,C
u11
)获得消息m
u1
,验证消息m
u1
中内容无误后,向工作节点发送确认消息。5.根据权利要求1所述的一种基于代理重加密和有向无环图的跨链方法,其特征在于:跨链系统向区块链系统发送锁定和执行请求时,工作节点接收到User1和User2的确认消息后,将对应的密文C
u11
,C
u12
组装为锁定请求发送至链A;将对应的密文C
u21
,C
u22
组装为锁定请求发送至链B;链A调用Dec
sy
(k
u1s
,Dec(sk1,C
u12
))获得消息m
u1
,验证m
u1
无错误后对User1进行锁定,在锁定成功后返回锁定成功消息;链B调用Dec
sy
(k
u2s
,Dec(sk2,C
u22
))获得消息m
u2
,验证m
u2
无错误后对User2进行锁定,在锁定成功后返回锁定成功消息;工作节点收到链A和链B的锁定成功消息后,接着向链A和链B发送对应锁定消息的执行请求;生成跨链记录的有向无环图时,区块链A和B在接收到相应锁定消息的执行请求后,响应工作节点,并执行对应用户的相应合约、生成区块;工作节点获得响应工作节点的响应后,从链存储节点A、B处均获取上次的交易密文哈希,和本次交易共同作为输入构成新的哈希,存储在存储节点A和B上。6.一种如上述权利要求1

...

【专利技术属性】
技术研发人员:孟奇秦雪娇
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1