区块链中的数据安全:使用您的电子钱包密码数据

以太币和比特币(包括它们的分叉)钱包是使用椭圆曲线算法从私钥生成的,因此也生成了公钥。

但是,由于缺少库或简单工具,很少有人使用非对称加密货币机制来加密货币数据,然后再将数据发送给业务合作伙伴或在区块链上注册。甚至很少有人拥有他们的私钥和公钥,这是你钱包地址的基础。

我们在使用HTTPS(TLS)浏览互联网时每天都会使用非对称加密货币。我们将加密货币数据发送到服务器,使用这些服务器的公钥对其进行加密。只有那些拥有私钥的服务器才能解密数据,反之亦然。然而,使用的算法是RSA,其与比特币和以太坊(椭圆曲线)使用的算法不同。

那么,你如何使用相同的比特币算法并具有相同的安全性,以便只有收件人或我们自己才能解密我们发送的数据?

为了帮助解决这个问题,我开发了一个名为EC 加密的开源库(https://github.com/novatrixtech/eccryptonx)。使用以太坊和Decred提供的资源,可以创建可以加密货币数据的应用程序,这样只有钱包的所有者才能使用私钥解密,只使用收件人钱包的公钥。
有了这个库和将从中创建的应用程序,任何人都可以在区块链上安全地发送或注册数据。

下面是Go中的一个简单示例:

secretText:=“Hal Finney是中本聪。”
pubKeyIKnowInHex:=“0433e59593e3ac1dbf8e7167250c49f5a75f38d37afacc71df97755f3d56cd436c68ee7190f03a9eacddf88911226f1464694e2b9397e1c023aea09efc18591e00”
encryptedText,err:= EncryptECWithPublicKey(pubKeyIKnowInHex,secretText)
if err= nil { 
log.Fatal(“Error encrypting text:”,err)
}
log.Printf(“hexa中的加密货币文本:%x \ n”,encryptedText)

为了解密它,收件人必须使用这个简单的代码:

myPrivateKey:=“MySuperSecretPrivateKey1234567890”//记住:你必须以安全的方式恢复私钥;)
decryptedText,err:= DecryptWithECPrivateKey(myPrivateKey,encryptedText)
if err= nil { 
log.Fatal(“Error decryting text:”,err)
}
log.Println(“In”,secretText,“ -  Out”,decryptedText)

以下是该地址的Mac和Linux用户的完整示例Go应用程序源代码的链接:

https://github.com/jeffprestes/verificaassinaturacrypto/tree/master/cryptographing

请继续关注有关带屏幕的应用程序的新闻。再见

提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢