System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及区块链,具体地,涉及一种高效地基于以太坊区块链的隐蔽通信方法及系统。
技术介绍
1、目前很多基于区块链的方案。一般是使用地址最低有效位方法。但是一个挑战就是持续计算符合要求的地址,导致计算量大,嵌入率低。第二个挑战就是通信效率低,传统的方案需要确定一个交易上链之后,才能发下一个交易,因为上链的交易顺序会被打乱。第三个挑战,为了找到目的交易,需要扫描区块中的交易.目前的解决办法是连续生成链接式地址,但是会造成地址浪费。使用多个固定地址,或者使用固定标签,但会使得隐蔽性降低。这些挑战使得隐蔽方案缺乏实用性。
2、现有技术中(2018年的期刊“cryptography”第18页公开了一种基于区块链的隐写方法,并构建了基于区块链隐蔽通道(blocce)方案)。该方案利用发送地址的最低有效位(lsb)嵌入秘密消息。它是第一个在区块链上实现秘密通信的可证明的安全系统。然而,该方案的嵌入率太低,无法在实际中应用。
3、2020年,acm bsci会议的171-179页提出了在以太坊上的数据嵌入方案,利用hmac值的输出映射到秘密数据的一位,再写入到金额value字段。
4、2020年,ieee internet of things journal期刊第14699–14707页提出了一种基于比特币秘密通信的方案。该方案使用公钥生成链接式地址嵌入信息,使得秘密数据的顺序得到保证,但是嵌入率低,同时会造成地址浪费。
5、2021年,ieee transactions on industr
技术实现思路
1、针对现有技术中的缺陷,本专利技术的目的是提供一种高效地基于以太坊区块链的隐蔽通信方法及系统。
2、根据本专利技术提供的一种高效地基于以太坊区块链的隐蔽通信方法,包括:
3、步骤s1:发送者与接收者预商定加密方案、外部账户地址和合约账户地址;
4、步骤s2:发送者使加密方案对原始信息进行加密,并获得密文,进行异或加密组成秘密信息;
5、步骤s3:发送者连续构建交易并且发送,下一个轮次开始前,确认上一个轮次的所有交易全部上链,继续构建和发送交易,直到新密文全部被发送;
6、步骤s4:接收者通过监听合约地址的调用事件,过滤目的交易,根据地址顺序和提取规则解析提取交易中嵌入的信息,拼接出秘密信息,反向操作解码得到原始信息。
7、优选地,在所述步骤s1中:
8、发送者与接收者预商定加密方案pke=(gen,enc,dec),以及na个外部账户地址eoa,nc个合约账户地址,(pke,ske)为加密方案密钥对;
9、其中,gen为根据随机种子产生出随机数的函数,enc为根据pke公钥进行对信息加密的函数,dec为根据ske私钥进行对信息解密的函数,ske为私钥,pke为公钥。
10、在所述步骤s2中:
11、发送者使pke对原始信息m进行加密,并获得密文c,c=enc(pke,m),然后再次进行异或加密组成秘密信息ce;
12、
13、start=hash(s2)[128:]
14、end=hash(s2)[:128]
15、其中,start,end是分隔符,s1=gen(s),s2=gen(s);s1,s2是随机数,由随机种子s产生。
16、优选地,在所述步骤s3中:
17、发送者连续构建交易tx:
18、tx=<sender,contract,receiver,amount,gas>
19、其中,sender,contract,receiver是地址参数,amount是智能合约交易的金额参数,gas是交易的汽油费;
20、将tx发送,下一个轮次开始前,确认上一个轮次的所有交易全部上链,构建和发送tx,直到秘密信息ce全部被发送。
21、优选地,步骤s3.1:计算hmac(q,s3)的值,0<=q<p,得到p个hmac值,轮次内的交易数量为r,划分为r个值域v,每个域的取值个数是p/r,1<=r<=p;
22、其中,q为hmac值的总数,q从里面随机选择一个值映射到域上,s3为一个由s产生的随机数;
23、步骤s3.2:txi=<sender,contract,receiver,amount,gas>中,i表示在当前轮次中第i个交易,sender地址和receiver地址为一组eoa地址中,根据秘密信息ce的比特随机选择,contract地址在一组合约地址中选择;若是比特1,sender地址、receiver地址以及contract地址随机选择集合的前1/2的某个地址,若是比特0,随机选择集合的后1/2的某个地址;amount字段根据以太坊bnb代币的交易特点,选择嵌入lb个比特数据组成十进制金额lv;gas的后三位数据修改成hmac(q,s3)值属于第i个值域中的q;
24、计算lb={2^lb<=lv<2^lb+1}256>lb>=0
25、构建txtemp=<sender,contract,receiver,amount>
26、得到gas=(estimategas(txtemp)×y)//p×p+q,y=1.25,如果gas用完,y+=0.25;
27、其中,estimategas为以太坊估计一笔交易所需要的汽油费的函数,y是一个增量,放大估计的汽油费,保证gas字段被计算嵌入后发送出去上链;
28、步骤s3.3:构建txi,并且发送tx到区块链上;
29、步骤s3.4:重复步骤s3.1至步骤s3.3直到当前轮次结束,进入下一个轮次前,确认上一个轮次的所有交易全部上链;
30、步骤3.5:重复步骤s3.1至步骤s3.4直到秘密信息ce数据完全被发送。
31、优选地,在所述步骤s4中:
32、接收者通过监听合约地址的调用事件,过滤目的交易,根据地址顺序和提取规则解析提取交易中嵌入的信息,拼接出秘密信息ce,反向操作解码得到原始信息m;
33、步骤s4.1:从智能合约调用事件中筛选出tx,从tx中取得gas,计算q=gas%p,执行h=hmac(q,sx),若h∈vi,则判断h属于vi域.令tx在当前轮次内排序第i位;
34、其中,h为计算q的hmac值,h映射到一个域上,该域属于第i个域,该交易为第i个交易,sx是由s产生的随机数,vi为p个h值划分出的域,vi是第i个域;一个域有多个h值;
35、步骤s4.2:重复步骤s4.1使得当本文档来自技高网...
【技术保护点】
1.一种高效地基于以太坊区块链的隐蔽通信方法,其特征在于,包括:
2.根据权利要求1所述的高效地基于以太坊区块链的隐蔽通信方法,其特征在于:
3.根据权利要求1所述的高效地基于以太坊区块链的隐蔽通信方法,其特征在于,在所述步骤S3中:
4.根据权利要求3所述的高效地基于以太坊区块链的隐蔽通信方法,其特征在于:
5.根据权利要求1所述的高效地基于以太坊区块链的隐蔽通信方法,其特征在于,在所述步骤S4中:
6.一种高效地基于以太坊区块链的隐蔽通信系统,其特征在于,包括:
7.根据权利要求6所述的高效地基于以太坊区块链的隐蔽通信系统,其特征在于:
8.根据权利要求6所述的高效地基于以太坊区块链的隐蔽通信系统,其特征在于,在所述模块M3中:
9.根据权利要求8所述的高效地基于以太坊区块链的隐蔽通信系统,其特征在于:
10.根据权利要求6所述的高效地基于以太坊区块链的隐蔽通信系统,其特征在于,在所述模块M4中:
【技术特征摘要】
1.一种高效地基于以太坊区块链的隐蔽通信方法,其特征在于,包括:
2.根据权利要求1所述的高效地基于以太坊区块链的隐蔽通信方法,其特征在于:
3.根据权利要求1所述的高效地基于以太坊区块链的隐蔽通信方法,其特征在于,在所述步骤s3中:
4.根据权利要求3所述的高效地基于以太坊区块链的隐蔽通信方法,其特征在于:
5.根据权利要求1所述的高效地基于以太坊区块链的隐蔽通信方法,其特征在于,在所述步骤s4中:
...【专利技术属性】
技术研发人员:韩鹏,陈维,李嫄源,熊黎丽,张绪航,周扬眉,唐四强,侯锋,黄鑫,郑申海,朱智勤,
申请(专利权)人:重庆市科学技术研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。