网络的密钥交换与公钥分发的方法_POLO:COP

一、背景

在当前的网络环境中,ETH网络要想保证两个节点间通信中的数据是安全的,通常需要混合使用公开密钥算法来进行密钥交换,然后使用对称加密算法将数据加密,使用单向散列函数生成数据指纹,使用签名算法生成数据签名,然后一起将加密数据,数据指纹,数据签名一起发送给对方。

这是目前通用的密钥交换的方式,但也有一个无法避免的问题,就是需要第三方来保证公钥的正确性,同时在双方通信之前,都需要可信的第三方提供对方的公钥。

本文介绍一种不使用公开密钥算法而是采用工作量证明来进行密钥交换的方法,整个过程不需要第三方的参与。

ETH网络的平均交易费用为3美元,创去年12月以来的新低:金色财经报道,据Kaiko分享的研究,截至2022年8月,ETH网络的平均交易费用为 3 美元,是自 2020年12月以来的最低水平。?交易费用在2022年5月达到峰值,接近200美元,这与BAYC的土地出售有关。在社区之前对被认为过高的费用表示担忧之后,交易费用的下降对以太坊网络来说是一种解脱。因此,低费用可能会推动网络在DeFi和NFT等领域的采用。[2022/8/5 12:05:19]

二、方案

假设通信双方为A和B,方法中x为随机数,y为需要交换的n位加密密钥,n是固定值。过程描述如下:

Synthetix 将发布Debt Pool Synthesis,合并以太坊主网和 Optimism 网络的债务池:3月13日消息,合成资产协议Synthetix将发布DebtPoolSynthesis,进行以太坊主网和Optimism网络的债务池合并,从而允许Synthetix协议在L1和L2的流动性具有可互换性。

合并完成后,SNX通货膨胀质押奖励将按比例提供给所有质押者,在Optimism或以太坊主网不会有SNX奖励差异,sUSD(交易)费用仍将根据网络抵押获得,同时债务对冲将不再依赖于用户所质押的网络上的债务,而将取决于综合的债务池。[2022/3/13 13:53:55]

1、A使用随机数算法,生成x,生成n位密钥y,使用y对x进行对称加密生成密文Sx。

动态 | 泰达由比特币网络向以太坊网络的2亿枚USDT切换基本完成:北京链安链上监测发现,北京时间下午15:34分,Tether Treasury在以太坊网络上向币安交易所转账约2亿枚(200,000,010)USDT,此前,泰达已经公告将进行比特币OMNI USDT向以太坊网络2亿枚USDT的切换,并在昨日率先在以太坊上增发2亿枚USDT。而今日12:27分,在比特币网络上,币安交易所向Tether Treasury转入2亿枚OMNI USDT。经过以上操作,本次切换基本完成,接下来,最后还需等待Tether Treasury在比特币网络将2亿枚OMNI USDT转入32TLn1开头地址,执行Revoke Property Tokens命令销毁,才算完成整个无总量增发的切换。[2019/12/10]

2、A重复步骤1执行m次,生成m个Sx。因为x是随机生成的,所以m个x,y,Sx都是不一样的。

动态 | OmiseGO发布最新版本Samrong 将取代OmiseGO网络的第一个版本Ari:据bitcoinist报道,OmiseGO早期得到了Vitalik Buterin的支持,最近发布了其最新版本Samrong,实现了它的路线图。这包括等离子体(Plasma)升级,最终将取代OmiseGO网络的第一个版本Ari。[2019/5/24]

3、A将m个x,Sx发送给B。

4、B从m个x,Sx中随机选择一对,然后进行穷举破解,破解出y。穷举破解的过程即为工作量证明。

5、B将选中的x发送给A。此时A与B都知道了密钥y。之后使用y加密数据进行通信即可。

此方法的可行性主要在单次穷举破解的复杂性以及消息的数量m。破解的复杂度太高会导致工作量证明花费的时间太多,消息的数量m太少也不行,太少会降低破解的难度。

当然,上述方法还存在其他问题,比如如果在第3步,第5步数据被截获,虽然通过第3步暂时无法破解具体的x,y,但是第5步是可以破解x,y的。如果在后续的通信中,仅使用y对数据加密,也存在数据完整性和防抵赖方面的问题。有一种情况是非常适合使用此方式的。就是双方在不知道对方公钥的情况下,同时又不想依赖第三方的时候,可以依赖此方式进行安全的密钥交换和公钥分发以及安全通信。因此我们继续完善方案:

三、优化方案

上述方案的前提条件不变,同时A,B各自生成自己的公私钥对。

1、上述步骤1,2不变。

2、A将m个x,Sx,Pxa发送给B,其中Pxa为使用y加密Pa的结果,Pa为A的公钥。

3、B随机选择一个暴力破解出y,然后根据y解密Pxa,此时也知道了Pa。

4、B使用Pa加密x,使用y加密Pb发送给A。

5、A收到使用私钥解开x,则知道了y,使用y可以知道Pb。至此,A,B都知道y,以及对方的公钥。

从安全性上,即使第2步,第4步中,即使数据包被截获,攻击者也无法从m个x,Sx中破解出来需要的y,也无法知道双方的公钥。

该优化方案还解决了另一个问题,就是公钥的分发问题。现在常用的公钥分发都是先将公钥存储在集中的数据库中,然后到数据库中获取对应的公钥,但是由于事前用户并不知道需要跟谁通信,因此就必须保证用户计算机与数据库服务器是连通的。而此方法并不需要中心化的数据库来支持分发,只需要通信双方能够知道对方存在即可。

作者:感谢HPB蓝莲花团队整理供稿。

注:如有问题请在下方留言联系我们技术社群。

汪晓明博客:http://wangxiaoming.com/

汪晓明:HPB芯链创始人,巴比特专栏作家。十余年金融大数据、区块链技术开发经验,曾参与创建银联大数据。主创区块链教学视频节目《明说》30多期,编写了《以太坊官网文档中文版》,并作为主要作者编写了《区块链开发指南》,在中国区块链社区以ID“蓝莲花”知名。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-5:654ms