CN115459921B - 一种基于代理重加密和有向无环图的跨链方法及系统 - Google Patents
一种基于代理重加密和有向无环图的跨链方法及系统 Download PDFInfo
- Publication number
- CN115459921B CN115459921B CN202211022317.6A CN202211022317A CN115459921B CN 115459921 B CN115459921 B CN 115459921B CN 202211022317 A CN202211022317 A CN 202211022317A CN 115459921 B CN115459921 B CN 115459921B
- Authority
- CN
- China
- Prior art keywords
- chain
- cross
- user2
- user1
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000012790 confirmation Methods 0.000 claims description 23
- 125000002015 acyclic group Chemical group 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及区块链技术领域,具体为一种基于代理重加密和有向无环图的跨链方法,包括以下步骤:对扩展区块链进行锁定;为跨链系统的用户生成代理重加密的相应密钥,假设用户User1和用户User2需要进行跨链操作;用户在记录节点上注册需链的地址和响应处理规范;有益效果为:本发明提出的基于代理重加密和有向无环图的跨链方法及系统利用代理重加密技术来实现交易密文的传递,确保了只有参与跨链的用户以及区块链系统可以获得对应的交易明文,记录在跨链系统对应节点的内容都是加密过的交易密文,有效保护了用户交易内容的隐私。
Description
技术领域
本发明涉及区块链技术领域,具体为一种基于代理重加密和有向无环图的跨链方法及系统。
背景技术
在代理重加密中,数据拥有者将数据利用对称密钥加密,把得到的密文存储于服务端,并利用数据拥有者的公钥加密对称密钥把得到的密文也上传存储到服务端。
现有技术中,当数据拥有者Alice想要对Bob进行数据共享时,数据拥有者Alice根据自己的解密密钥和Bob的加密密钥生成一个重加密密钥,并发送给服务端。服务端利用自己强大的计算能力并结合重加密密钥,进行重加密操作,把得到的密文也存储在服务端。然后Bob从服务端上下载密文,并利用自己的私钥解密得到对称密钥,然后利用对称密钥解密就得到了原始的明文。
但是,现存的五大跨链系统中:哈希锁定跨链只适用于价值跨链、应用场景受限;第三方公证跨链在安全性方面缺少保障;分布式密钥、侧链和中继技术都涉及在新建区块链上的操作,对跨链性能影响很大。可见仍缺乏一种高性能、高安全性、应用场景广泛的跨链系统。此外,数据保护法和个人隐私保护法的出台,也给跨链系统带来了保护交易数据隐私的新需求。
发明内容
本发明的目的在于提供一种基于代理重加密和有向无环图的跨链方法及系统,以解决上述背景技术中提出的问题,旨在基于代理重加密和有向无环图,构造一个高效、高安全性的跨链系统。
为实现上述目的,本发明提供如下技术方案:一种基于代理重加密和有向无环图的跨链方法,所述基于代理重加密和有向无环图的跨链方法包括以下步骤:
对扩展区块链进行锁定;
为跨链系统的用户生成代理重加密的相应密钥,假设用户User1和用户User2需要进行跨链操作;
用户在记录节点上注册需链的地址和响应处理规范;
不同用户通过跨链系统确认跨链消息,假设User1需要在链A操作,User2需要在链B操作,以实现资产、信息或者合约的跨链;
跨链系统向区块链系统发送锁定和执行请求;
跨链系统按如下步骤生成跨链记录的有向无环图。
优选的,对扩展区块链进行锁定时,
为参与跨链系统的区块链扩展锁定功能,即限制用户一定时间内只能执行预定的操作;
为参与跨链系统的区块链扩展解密功能,即允许用户注册公钥后,发送加密信息进行远程调用。
优选的,生成代理重加密的相应密钥时,
User1向记录节点注册身份,记录节点调用sk1,pk1=KeyGen()为User1生成私钥sk1和公钥pk1,将sk1安全分发给User1,公开pk1,User1向对应区块链注册sk1位置;
User2向跨链系统注册身份,跨链系统调用sk2,pk2=KeyGen()为User2生成私钥sk2和公钥pk2,将sk2安全分发给User2,公开pk2,User2向对应区块链注册sk2位置。
优选的,注册需链的地址和响应处理规范时,
若注册的链存在,记录节点在对应位置附加链地址和响应处理规范;否则,新建一个该链的链存储节点,在记录节点上记录前述地址和响应处理规范,并将该链存储节点地址广播至各工作节点;
通过跨链系统确认跨链消息时,User1生成跨链消息mu1,mu1包含:User1在链A上所做的操作,操作对应的User1签名,所需User2在链B上所做的操作;User2也生成类似的消息mu2,mu2包含:User2在链B上所做的操作,操作对应的User2签名,所需User1在链A上所做的操作;
User1调用KeyGensy(mu1)算法生成对称密钥ku1s,调用Encsy(ku1s,mu1)生成密文Cu11,调用Enc(pk1,ku1s)生成密文Cu12。User2调用KeyGensy(mu2)算法生成对称密钥ku2s,调用Encsy(ku2s,mu2)生成密文Cu21,调用Enc(pk2,ku2s)生成密文Cu22;
User1调用KenGenre(sk1,pk2)生成重加密密钥k1→2,User2调用KenGenre(sk2,pk1)生成重加密密钥k2→1;
User1将Cu11,Cu12,k1→2发送至工作节点;User2将Cu21,Cu22,k2→1发送至工作节点;
工作节点调用ReEnc(k1→2,Cu12)生成重加密密文Cu13;调用ReEnc(k2→1,Cu21)生成重加密密文Cu23;
工作节点将Cu13,Cu11发送给User2,将Cu23,Cu21发送给User1;
用户接收到工作节点的消息后,User1调用Dec(sk1,Cu23)获得对称密钥ku2s,调用Decsy(ku2s,Cu21)获得消息mu2,验证消息mu2中内容无误后,向工作节点发送确认消息;User2调用Dec(sk2,Cu13)获得对称密钥ku1s,调用Decsy(ku1s,Cu11)获得消息mu1,验证消息mu1中内容无误后,向工作节点发送确认消息。
优选的,跨链系统向区块链系统发送锁定和执行请求时,
工作节点接收到User1和User2的确认消息后,将对应的密文Cu11,Cu12组装为锁定请求发送至链A;将对应的密文Cu21,Cu22组装为锁定请求发送至链B;
链A调用Decsy(ku1s,Dec(sk1,Cu12))获得消息mu1,验证mu1无错误后对User1进行锁定,在锁定成功后返回锁定成功消息;链B调用Decsy(ku2s,Dec(sk2,Cu22))获得消息mu2,验证mu2无错误后对User2进行锁定,在锁定成功后返回锁定成功消息;
工作节点收到链A和链B的锁定成功消息后,接着向链A和链B发送对应锁定消息的执行请求;
生成跨链记录的有向无环图时,
区块链A和B在接收到相应锁定消息的执行请求后,响应工作节点,并执行对应用户的相应合约、生成区块;
工作节点获得响应工作节点的响应后,从链存储节点A、B处均获取上次的交易密文哈希,和本次交易共同作为输入构成新的哈希,存储在存储节点A和B上。
一种基于代理重加密和有向无环图的跨链系统,该系统由锁定模块、密钥初始模块、注册模块、确认模块、执行模块以及生成模块构成;
锁定模块,用于对扩展区块链进行锁定;
密钥初始模块,用于为跨链系统的用户生成代理重加密的相应密钥,假设用户User1和用户User2需要进行跨链操作;
注册模块,用于用户在记录节点上注册需链的地址和响应处理规范;
确认模块,用于不同用户通过跨链系统确认跨链消息,假设User1需要在链A操作,User2需要在链B操作,以实现资产、信息或者合约的跨链;
执行模块,用于跨链系统向区块链系统发送锁定和执行请求;
生成模块,用于跨链系统按如下步骤生成跨链记录的有向无环图。
优选的,所述锁定模块,为参与跨链系统的区块链扩展锁定功能,即限制用户一定时间内只能执行预定的操作;
为参与跨链系统的区块链扩展解密功能,即允许用户注册公钥后,发送加密信息进行远程调用。
优选的,所述密钥初始模块的User1向记录节点注册身份,记录节点调用sk1,pk1=KeyGen()为User1生成私钥sk1和公钥pk1,将sk1安全分发给User1,公开pk1,User1向对应区块链注册sk1位置;
User2向跨链系统注册身份,跨链系统调用sk2,pk2=KeyGen()为User2生成私钥sk2和公钥pk2,将sk2安全分发给User2,公开pk2,User2向对应区块链注册sk2位置。
优选的,所述注册模块用于若注册的链存在,记录节点在对应位置附加链地址和响应处理规范;否则,新建一个该链的链存储节点,在记录节点上记录前述地址和响应处理规范,并将该链存储节点地址广播至各工作节点;
通过跨链系统确认跨链消息时,User1生成跨链消息mu1,mu1包含:User1在链A上所做的操作,操作对应的User1签名,所需User2在链B上所做的操作;User2也生成类似的消息mu2,mu2包含:User2在链B上所做的操作,操作对应的User2签名,所需User1在链A上所做的操作;
User1调用KeyGensy(mu1)算法生成对称密钥ku1s,调用Encsy(ku1s,mu1)生成密文Cu11,调用Enc(pk1,ku1s)生成密文Cu12。User2调用KeyGensy(mu2)算法生成对称密钥ku2s,调用Encsy(ku2s,mu2)生成密文Cu21,调用Enc(pk2,ku2s)生成密文Cu22;
User1调用KenGenre(sk1,pk2)生成重加密密钥k1→2,User2调用KenGenre(sk2,pk1)生成重加密密钥k2→1;
User1将Cu11,Cu12,k1→2发送至工作节点;User2将Cu21,Cu22,k2→1发送至工作节点;
工作节点调用ReEnc(k1→2,Cu12)生成重加密密文Cu13;调用ReEnc(k2→1,Cu21)生成重加密密文Cu23;
工作节点将Cu13,Cu11发送给User2,将Cu23,Cu21发送给User1;
用户接收到工作节点的消息后,User1调用Dec(sk1,Cu23)获得对称密钥ku2s,调用Decsy(ku2s,Cu21)获得消息mu2,验证消息mu2中内容无误后,向工作节点发送确认消息;User2调用Dec(sk2,Cu13)获得对称密钥ku1s,调用Decsy(ku1s,Cu11)获得消息mu1,验证消息mu1中内容无误后,向工作节点发送确认消息。
优选的,所述执行模块的工作节点接收到User1和User2的确认消息后,将对应的密文Cu11,Cu12组装为锁定请求发送至链A;将对应的密文Cu21,Cu22组装为锁定请求发送至链B;
链A调用Decsy(ku1s,Dec(sk1,Cu12))获得消息mu1,验证mu1无错误后对User1进行锁定,在锁定成功后返回锁定成功消息;链B调用Decsy(ku2s,Dec(sk2,Cu22))获得消息mu2,验证mu2无错误后对User2进行锁定,在锁定成功后返回锁定成功消息;
工作节点收到链A和链B的锁定成功消息后,接着向链A和链B发送对应锁定消息的执行请求;
生成模块的区块链A和B在接收到相应锁定消息的执行请求后,响应工作节点,并执行对应用户的相应合约、生成区块;
工作节点获得响应工作节点的响应后,从链存储节点A、B处均获取上次的交易密文哈希,和本次交易共同作为输入构成新的哈希,存储在存储节点A和B上。
与现有技术相比,本发明的有益效果是:
本发明提出的基于代理重加密和有向无环图的跨链方法及系统利用代理重加密技术来实现交易密文的传递,确保了只有参与跨链的用户以及区块链系统可以获得对应的交易明文,记录在跨链系统对应节点的内容都是加密过的交易密文,有效保护了用户交易内容的隐私;并且在存储节点上,交易以有向无环图的格式被记录,在保证了跨链系统基本安全的前提下,还提升了跨链系统的并发性。与传统的中继链和侧链技术相比具有较高的性能;与传递的第三方跨链相比,具有较高的安全性。
附图说明
图1为本发明方法流程图。
具体实施方式
为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“中”、“上”、“下”、“左”、“右”、“内”、“外”、“顶”、“底”、“侧”、“竖直”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“一”、“第一”、“第二”、“第三”、“第四”、“第五”、“第六”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
出于简明和说明的目的,实施例的原理主要通过参考例子来描述。在以下描述中,很多具体细节被提出用以提供对实施例的彻底理解。然而明显的是,对于本领域普通技术人员,这些实施例在实践中可以不限于这些具体细节。在一些实例中,没有详细地描述公知方法和结构,以避免无必要地使这些实施例变得难以理解。另外,所有实施例可以互相结合使用。
实施例一
请参阅图1,本发明提供一种技术方案:一种基于代理重加密和有向无环图的跨链方法,其特征在于:所述基于代理重加密和有向无环图的跨链方法包括以下步骤:
对扩展区块链进行锁定;为参与跨链系统的区块链扩展锁定功能,即限制用户一定时间内只能执行预定的操作;为参与跨链系统的区块链扩展解密功能,即允许用户注册公钥后,发送加密信息进行远程调用;
为跨链系统的用户生成代理重加密的相应密钥,假设用户User1和用户User2需要进行跨链操作;User1向记录节点注册身份,记录节点调用sk1,pk1=KeyGen()为User1生成私钥sk1和公钥pk1,将sk1安全分发给User1,公开pk1,User1向对应区块链注册sk1位置;User2向跨链系统注册身份,跨链系统调用sk2,pk2=KeyGen()为User2生成私钥sk2和公钥pk2,将sk2安全分发给User2,公开pk2,User2向对应区块链注册sk2位置;
用户在记录节点上注册需链的地址和响应处理规范;若注册的链存在,记录节点在对应位置附加链地址和响应处理规范;否则,新建一个该链的链存储节点,在记录节点上记录前述地址和响应处理规范,并将该链存储节点地址广播至各工作节点;
通过跨链系统确认跨链消息时,User1生成跨链消息mu1,mu1包含:User1在链A上所做的操作,操作对应的User1签名,所需User2在链B上所做的操作;User2也生成类似的消息mu2,mu2包含:User2在链B上所做的操作,操作对应的User2签名,所需User1在链A上所做的操作;User1调用KeyGensy(mu1)算法生成对称密钥ku1s,调用Encsy(ku1s,mu1)生成密文Cu11,调用Enc(pk1,ku1s)生成密文Cu12。User2调用KeyGensy(mu2)算法生成对称密钥ku2s,调用Encsy(ku2s,mu2)生成密文Cu21,调用Enc(pk2,ku2s)生成密文Cu22;User1调用KenGenre(sk1,pk2)生成重加密密钥k1→2,User2调用KenGenre(sk2,pk1)生成重加密密钥k2→1;User1将Cu11,Cu12,k1→2发送至工作节点;User2将Cu21,Cu22,k2→1发送至工作节点;工作节点调用ReEnc(k1→2,Cu12)生成重加密密文Cu13;调用ReEnc(k2→1,Cu21)生成重加密密文Cu23;工作节点将Cu13,Cu11发送给User2,将Cu23,Cu21发送给User1;用户接收到工作节点的消息后,User1调用Dec(sk1,Cu23)获得对称密钥ku2s,调用Decsy(ku2s,Cu21)获得消息mu2,验证消息mu2中内容无误后,向工作节点发送确认消息;User2调用Dec(sk2,Cu13)获得对称密钥ku1s,调用Decsy(ku1s,Cu11)获得消息mu1,验证消息mu1中内容无误后,向工作节点发送确认消息;
不同用户通过跨链系统确认跨链消息,假设User1需要在链A操作,User2需要在链B操作,以实现资产、信息或者合约的跨链;
跨链系统向区块链系统发送锁定和执行请求;工作节点接收到User1和User2的确认消息后,将对应的密文Cu11,Cu12组装为锁定请求发送至链A;将对应的密文Cu21,Cu22组装为锁定请求发送至链B;链A调用Decsy(ku1s,Dec(sk1,Cu12))获得消息mu1,验证mu1无错误后对User1进行锁定,在锁定成功后返回锁定成功消息;链B调用Decsy(ku2s,Dec(sk2,Cu22))获得消息mu2,验证mu2无错误后对User2进行锁定,在锁定成功后返回锁定成功消息;工作节点收到链A和链B的锁定成功消息后,接着向链A和链B发送对应锁定消息的执行请求;
跨链系统按如下步骤生成跨链记录的有向无环图;区块链A和B在接收到相应锁定消息的执行请求后,响应工作节点,并执行对应用户的相应合约、生成区块;工作节点获得响应工作节点的响应后,从链存储节点A、B处均获取上次的交易密文哈希,和本次交易共同作为输入构成新的哈希,存储在存储节点A和B上。
实施例二
一种基于代理重加密和有向无环图的跨链系统,该系统由锁定模块、密钥初始模块、注册模块、确认模块、执行模块以及生成模块构成;
锁定模块,用于对扩展区块链进行锁定;为参与跨链系统的区块链扩展锁定功能,即限制用户一定时间内只能执行预定的操作;为参与跨链系统的区块链扩展解密功能,即允许用户注册公钥后,发送加密信息进行远程调用;
密钥初始模块,用于为跨链系统的用户生成代理重加密的相应密钥,假设用户User1和用户User2需要进行跨链操作;User1向记录节点注册身份,记录节点调用sk1,pk1=KeyGen()为User1生成私钥sk1和公钥pk1,将sk1安全分发给User1,公开pk1,User1向对应区块链注册sk1位置;User2向跨链系统注册身份,跨链系统调用sk2,pk2=KeyGen()为User2生成私钥sk2和公钥pk2,将sk2安全分发给User2,公开pk2,User2向对应区块链注册sk2位置;
注册模块,用于用户在记录节点上注册需链的地址和响应处理规范;若注册的链存在,记录节点在对应位置附加链地址和响应处理规范;否则,新建一个该链的链存储节点,在记录节点上记录前述地址和响应处理规范,并将该链存储节点地址广播至各工作节点;通过跨链系统确认跨链消息时,User1生成跨链消息mu1,mu1包含:User1在链A上所做的操作,操作对应的User1签名,所需User2在链B上所做的操作;User2也生成类似的消息mu2,mu2包含:User2在链B上所做的操作,操作对应的User2签名,所需User1在链A上所做的操作;User1调用KeyGensy(mu1)算法生成对称密钥ku1s,调用Encsy(ku1s,mu1)生成密文Cu11,调用Enc(pk1,ku1s)生成密文Cu12。User2调用KeyGensy(mu2)算法生成对称密钥ku2s,调用Encsy(ku2s,mu2)生成密文Cu21,调用Enc(pk2,ku2s)生成密文Cu22;User1调用KenGenre(sk1,pk2)生成重加密密钥k1→2,User2调用KenGenre(sk2,pk1)生成重加密密钥k2→1;User1将Cu11,Cu12,k1→2发送至工作节点;User2将Cu21,Cu22,k2→1发送至工作节点;工作节点调用ReEnc(k1→2,Cu12)生成重加密密文Cu13;调用ReEnc(k2→1,Cu21)生成重加密密文Cu23;工作节点将Cu13,Cu11发送给User2,将Cu23,Cu21发送给User1;用户接收到工作节点的消息后,User1调用Dec(sk1,Cu23)获得对称密钥ku2s,调用Decsy(ku2s,Cu21)获得消息mu2,验证消息mu2中内容无误后,向工作节点发送确认消息;User2调用Dec(sk2,Cu13)获得对称密钥ku1s,调用Decsy(ku1s,Cu11)获得消息mu1,验证消息mu1中内容无误后,向工作节点发送确认消息;
确认模块,用于不同用户通过跨链系统确认跨链消息,假设User1需要在链A操作,User2需要在链B操作,以实现资产、信息或者合约的跨链;
执行模块,用于跨链系统向区块链系统发送锁定和执行请求;执行模块的工作节点接收到User1和User2的确认消息后,将对应的密文Cu11,Cu12组装为锁定请求发送至链A;将对应的密文Cu21,Cu22组装为锁定请求发送至链B;链A调用Decsy(ku1s,Dec(sk1,Cu12))获得消息mu1,验证mu1无错误后对User1进行锁定,在锁定成功后返回锁定成功消息;链B调用Decsy(ku2s,Dec(sk2,Cu22))获得消息mu2,验证mu2无错误后对User2进行锁定,在锁定成功后返回锁定成功消息;工作节点收到链A和链B的锁定成功消息后,接着向链A和链B发送对应锁定消息的执行请求;
生成模块,用于跨链系统按如下步骤生成跨链记录的有向无环图;区块链A和B在接收到相应锁定消息的执行请求后,响应工作节点,并执行对应用户的相应合约、生成区块;工作节点获得响应工作节点的响应后,从链存储节点A、B处均获取上次的交易密文哈希,和本次交易共同作为输入构成新的哈希,存储在存储节点A和B上。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (2)
1.一种基于代理重加密和有向无环图的跨链方法,其特征在于:所述基于代理重加密和有向无环图的跨链方法包括以下步骤:
对扩展区块链进行锁定;
为跨链系统的用户生成代理重加密的相应密钥,假设用户User1和用户User2需要进行跨链操作;
用户在记录节点上注册需链的地址和响应处理规范;
不同用户通过跨链系统确认跨链消息,假设User1需要在链A操作,User2需要在链B操作,以实现资产、信息或者合约的跨链;
跨链系统向区块链系统发送锁定和执行请求;
跨链系统按如下步骤生成跨链记录的有向无环图;
对扩展区块链进行锁定时,
为参与跨链系统的区块链扩展锁定功能,即限制用户一定时间内只能执行预定的操作;
为参与跨链系统的区块链扩展解密功能,即允许用户注册公钥后,发送加密信息进行远程调用;
生成代理重加密的相应密钥时,
User1向记录节点注册身份,记录节点调用sk1,pk1=KeyGen()为User1生成私钥sk1和公钥pk1,将sk1安全分发给User1,公开pk1,User1向对应区块链注册sk1位置;
User2向跨链系统注册身份,跨链系统调用sk2,pk2=KeyGen()为User2生成私钥sk2和公钥pk2,将sk2安全分发给User2,公开pk2,User2向对应区块链注册sk2位置;
注册需链的地址和响应处理规范时,
若注册的链存在,记录节点在对应位置附加链地址和响应处理规范;否则,新建一个该链的链存储节点,在记录节点上记录前述地址和响应处理规范,并将该链存储节点地址广播至各工作节点;
通过跨链系统确认跨链消息时,User1生成跨链消息mu1,mu1包含:User1在链A上所做的操作,操作对应的User1签名,所需User2在链B上所做的操作;User2也生成类似的消息mu2,mu2包含:User2在链B上所做的操作,操作对应的User2签名,所需User1在链A上所做的操作;
User1调用KeyGensy(mu1)算法生成对称密钥ku1s,调用Encsy(ku1s,mu1)生成密文Cu11,调用Enc(pk1,ku1s)生成密文Cu12;
User2调用KeyGensy(mu2)算法生成对称密钥ku2s,调用Encsy(ku2s,mu2)生成密文Cu21,调用Enc(pk2,ku2s)生成密文Cu22;
User1调用KenGenre(sk1,pk2)生成重加密密钥k1→2,User2调用KenGenre(sk2,pk1)生成重加密密钥k2→1;
User1将Cu11,Cu12,k1→2发送至工作节点;User2将Cu21,Cu22,k2→1发送至工作节点;
工作节点调用ReEnc(k1→2,Cu12)生成重加密密文Cu13;调用ReEnc(k2→1,Cu21)生成重加密密文Cu23;
工作节点将Cu13,Cu11发送给User2,将Cu23,Cu21发送给User1;
用户接收到工作节点的消息后,User1调用Dec(sk1,Cu23)获得对称密钥ku2s,调用Decsy(ku2s,Cu21)获得消息mu2,验证消息mu2中内容无误后,向工作节点发送确认消息;User2调用Dec(sk2,Cu13)获得对称密钥ku1s,调用Decsy(ku1s,Cu11)获得消息mu1,验证消息mu1中内容无误后,向工作节点发送确认消息;
跨链系统向区块链系统发送锁定和执行请求时,
工作节点接收到User1和User2的确认消息后,将对应的密文Cu11,Cu12组装为锁定请求发送至链A;将对应的密文Cu21,Cu22组装为锁定请求发送至链B;
链A调用Decsy(ku1s,Dec(sk1,Cu12))获得消息mu1,验证mu1无错误后对User1进行锁定,在锁定成功后返回锁定成功消息;链B调用Decsy(ku2s,Dec(sk2,Cu22))获得消息mu2,验证mu2无错误后对User2进行锁定,在锁定成功后返回锁定成功消息;
工作节点收到链A和链B的锁定成功消息后,接着向链A和链B发送对应锁定消息的执行请求;
生成跨链记录的有向无环图时,
区块链A和B在接收到相应锁定消息的执行请求后,响应工作节点,并执行对应用户的相应合约、生成区块;
工作节点获得响应工作节点的响应后,从链存储节点A、B处均获取上次的交易密文哈希,和本次交易共同作为输入构成新的哈希,存储在存储节点A和B上。
2.一种使用如上述权利要求1所述的基于代理重加密和有向无环图的跨链方法的系统,其特征在于:该系统由锁定模块、密钥初始模块、注册模块、确认模块、执行模块以及生成模块构成;
锁定模块,用于对扩展区块链进行锁定;
密钥初始模块,用于为跨链系统的用户生成代理重加密的相应密钥,假设用户User1和用户User2需要进行跨链操作;
注册模块,用于用户在记录节点上注册需链的地址和响应处理规范;
确认模块,用于不同用户通过跨链系统确认跨链消息,假设User1需要在链A操作,User2需要在链B操作,以实现资产、信息或者合约的跨链;
执行模块,用于跨链系统向区块链系统发送锁定和执行请求;
生成模块,用于跨链系统按如下步骤生成跨链记录的有向无环图;
所述锁定模块,为参与跨链系统的区块链扩展锁定功能,即限制用户一定时间内只能执行预定的操作;
为参与跨链系统的区块链扩展解密功能,即允许用户注册公钥后,发送加密信息进行远程调用;
所述密钥初始模块的User1向记录节点注册身份,记录节点调用sk1,pk1=KeyGen()为User1生成私钥sk1和公钥pk1,将sk1安全分发给User1,公开pk1,User1向对应区块链注册sk1位置;
User2向跨链系统注册身份,跨链系统调用sk2,pk2=KeyGen()为User2生成私钥sk2和公钥pk2,将sk2安全分发给User2,公开pk2,User2向对应区块链注册sk2位置;
所述注册模块用于若注册的链存在,记录节点在对应位置附加链地址和响应处理规范;否则,新建一个该链的链存储节点,在记录节点上记录前述地址和响应处理规范,并将该链存储节点地址广播至各工作节点;
通过跨链系统确认跨链消息时,User1生成跨链消息mu1,mu1包含:User1在链A上所做的操作,操作对应的User1签名,所需User2在链B上所做的操作;User2也生成类似的消息mu2,mu2包含:User2在链B上所做的操作,操作对应的User2签名,所需User1在链A上所做的操作;
User1调用KeyGensy(mu1)算法生成对称密钥ku1s,调用Encsy(ku1s,mu1)生成密文Cu11,调用Enc(pk1,ku1s)生成密文Cu12;User2调用KeyGensy(mu2)算法生成对称密钥ku2s,调用Encsy(ku2s,mu2)生成密文Cu21,调用Enc(pk2,ku2s)生成密文Cu22;
User1调用KenGenre(sk1,pk2)生成重加密密钥k1→2,User2调用KenGenre(sk2,pk1)生成重加密密钥k2→1;
User1将Cu11,Cu12,k1→2发送至工作节点;User2将Cu21,Cu22,k2→1发送至工作节点;
工作节点调用ReEnc(k1→2,Cu12)生成重加密密文Cu13;调用ReEnc(k2→1,Cu21)生成重加密密文Cu23;
工作节点将Cu13,Cu11发送给User2,将Cu23,Cu21发送给User1;
用户接收到工作节点的消息后,User1调用Dec(sk1,Cu23)获得对称密钥ku2s,调用Decsy(ku2s,Cu21)获得消息mu2,验证消息mu2中内容无误后,向工作节点发送确认消息;User2调用Dec(sk2,Cu13)获得对称密钥ku1s,调用Decsy(ku1s,Cu11)获得消息mu1,验证消息mu1中内容无误后,向工作节点发送确认消息;
所述执行模块的工作节点接收到User1和User2的确认消息后,将对应的密文Cu11,Cu12组装为锁定请求发送至链A;将对应的密文Cu21,Cu22组装为锁定请求发送至链B;
链A调用Decsy(ku1s,Dec(sk1,Cu12))获得消息mu1,验证mu1无错误后对User1进行锁定,在锁定成功后返回锁定成功消息;链B调用Decsy(ku2s,Dec(sk2,Cu22))获得消息mu2,验证mu2无错误后对User2进行锁定,在锁定成功后返回锁定成功消息;
工作节点收到链A和链B的锁定成功消息后,接着向链A和链B发送对应锁定消息的执行请求;
生成模块的区块链A和B在接收到相应锁定消息的执行请求后,响应工作节点,并执行对应用户的相应合约、生成区块;
工作节点获得响应工作节点的响应后,从链存储节点A、B处均获取上次的交易密文哈希,和本次交易共同作为输入构成新的哈希,存储在存储节点A和B上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211022317.6A CN115459921B (zh) | 2022-08-25 | 2022-08-25 | 一种基于代理重加密和有向无环图的跨链方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211022317.6A CN115459921B (zh) | 2022-08-25 | 2022-08-25 | 一种基于代理重加密和有向无环图的跨链方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115459921A CN115459921A (zh) | 2022-12-09 |
CN115459921B true CN115459921B (zh) | 2024-04-30 |
Family
ID=84298677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211022317.6A Active CN115459921B (zh) | 2022-08-25 | 2022-08-25 | 一种基于代理重加密和有向无环图的跨链方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115459921B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110149322A (zh) * | 2019-05-06 | 2019-08-20 | 山东公链信息科技有限公司 | 一种不可逆的动态失效重验重建的区块链加密方法 |
CN112948433A (zh) * | 2021-02-24 | 2021-06-11 | 北京金山云网络技术有限公司 | 一种跨区块链查询方法、装置、系统、设备及介质 |
CN113273146A (zh) * | 2018-07-10 | 2021-08-17 | 力士塔有限公司 | 用于云端通信,计算和全球电子商务的去中心化网络安全的隐私网络 |
WO2022143798A1 (zh) * | 2020-12-30 | 2022-07-07 | 杭州趣链科技有限公司 | 跨链交易的验证方法、终端设备及可读存储介质 |
-
2022
- 2022-08-25 CN CN202211022317.6A patent/CN115459921B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113273146A (zh) * | 2018-07-10 | 2021-08-17 | 力士塔有限公司 | 用于云端通信,计算和全球电子商务的去中心化网络安全的隐私网络 |
CN110149322A (zh) * | 2019-05-06 | 2019-08-20 | 山东公链信息科技有限公司 | 一种不可逆的动态失效重验重建的区块链加密方法 |
WO2022143798A1 (zh) * | 2020-12-30 | 2022-07-07 | 杭州趣链科技有限公司 | 跨链交易的验证方法、终端设备及可读存储介质 |
CN112948433A (zh) * | 2021-02-24 | 2021-06-11 | 北京金山云网络技术有限公司 | 一种跨区块链查询方法、装置、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115459921A (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101340443B (zh) | 一种通信网络中会话密钥协商方法、系统和服务器 | |
US8688973B2 (en) | Securing communications sent by a first user to a second user | |
US8059818B2 (en) | Accessing protected data on network storage from multiple devices | |
Wang et al. | Ultra super fast authentication protocol for electric vehicle charging using extended chaotic maps | |
CN101800738B (zh) | 一种移动设备安全访问与存储内网数据的实现系统及方法 | |
KR20060084447A (ko) | 암호 키 생성의 효율적인 관리 | |
CN107113314B (zh) | 用于云计算中的异构数据存储管理的方法和装置 | |
CN110535626B (zh) | 基于身份的量子通信服务站保密通信方法和系统 | |
CN114826766B (zh) | 基于区块链跨链的安全可验证服务提供方法及系统 | |
CN113643134B (zh) | 基于多密钥同态加密的物联网区块链交易方法及系统 | |
CN114500069A (zh) | 一种电子合同的存储及共享的方法与系统 | |
Salem et al. | An elliptic curve-based lightweight mutual authentication scheme for secure communication in smart grids | |
CN115459921B (zh) | 一种基于代理重加密和有向无环图的跨链方法及系统 | |
CN113468582A (zh) | 一种抗量子计算加密通信方法 | |
CN100561913C (zh) | 一种访问密码设备的方法 | |
Kim et al. | Secure and efficient anonymous authentication scheme in global mobility networks | |
JP4924943B2 (ja) | 認証付鍵交換システム、認証付鍵交換方法およびプログラム | |
CN113824713B (zh) | 一种密钥生成方法、系统及存储介质 | |
Wang et al. | A group key‐policy attribute‐based encryption with partial outsourcing decryption in wireless sensor networks | |
CN115412236A (zh) | 一种密钥管理和密码计算的方法、加密方法及装置 | |
CN114448600A (zh) | 一种适用于零信任网络的密钥管理方法及系统 | |
CN116633692B (zh) | 一种服务器、数据安全系统及方法 | |
CN217406556U (zh) | 一种抗量子计算的移动通信系统 | |
CN117479154B (zh) | 基于统一多域标识认证的办公终端数据处理方法与系统 | |
CN116074115B (zh) | 一种基于智能合约实现跨链加密会话方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |