这篇文章主要介绍了以太坊交易签名算法 ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。

https://www.interchains.cc/21191.html

以太坊交易签名算法是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,以太坊交易签名算法学习起来其实是很简单的,

不多的几个较为抽象的概念也很容易理解,之所以很多人感觉以太坊交易签名算法比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难

以太坊eth交易签名算法

简要介绍以太坊eth的签名算法secp256k1

在密码学中,加密(英语:Encryption)是将明文信息改变为难以读取的密文内容,使之不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。

加密算法就是加密的分类,加密算法分对称密码加密算法和非对称加密算法。对称加密就是将信息使用一个密钥进行加密,解密时使用同样的密钥,同样的算法进行解密。非对称加密,又称公开密钥加密,是加密和解密使用不同密钥的算法,广泛用于信息传输中。

在非对称加密中,使用公钥加密数据,再使用私钥解密数据。比如,小明用小红的公钥加密一条聊天内容“今晚我们约会吧”,小红就可以使用她自己的私钥解密这条消息。

如果使用私钥加密数据,公钥解密数据是否可行呢?实际上是完全可行的。 不过,我们仔细想一想。私钥是保密的,公钥是公开的。用公钥解密数据有什么好处呢,这种加密又有什么意义呢?

这样加密的意义在于:可以让别人确信的知道这条消息是谁发送的。比如小明使用自己的私钥加密消息“今晚不能赴约了”,任何人都可以使用小明的公钥解密出这条消息。即使小红没有及时看到留言,别人也可以直接告诉他小明今晚不回来,只需要拿出这条消息给小红看,小红就会相信,因为只有小明的私钥才能加密出这条消息,小明想否认都不行。

实际上,这种密钥加密数据就完成了数字签名。要验证这个签名是否正确,只需用私钥持有者的公钥进行解密验证。使用数字签名的目的就在于为了确认某个信息确实是有某个发送方发送的,任何人都不能伪造消息,并且,发送方也不能抵赖。

在实际应用时,签名针对的不是消息原始内容,而是针对消息的哈希值进行签名,即:

signature = encrypt(privateKey, SHA3-256(message))

对签名的验证,就是使用公钥来解密并验证得到的哈希值是否和原始消息的哈希值一致。

hash = decrypt(publicKey, signature)  ok = hash == SHA3-256(message)

常见的数字签名算法主要有RSA、DSA、ECDSA三种。椭圆曲线签名算法ECDSA是用于数字签名,是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。而ECC(全称Elliptic Curves Cryptography)是一种椭圆曲线密码编码学。

<a href=以太坊eth交易签名算法” />

ECDSA的特点是可以从私钥推导出公钥。 BTC就是使用的 ECDSA 下的标准算法 secp256k1。

secp256k1 是高效密码组标准(SECG) 协会开发的一套高效的椭圆曲线签名算法标准。 在BTC流行之前,secp256k1并未真正使用过。secp256k1 命名由几部分组成:sec来自SECG标准,p表示曲线坐标是素数域,256表示素数是256位长,k 表示它是 Koblitz 曲线的变体,1表示它是第一个标准中该类型的曲线。

<a href=以太坊eth交易签名算法” />

SECG(Standards for Efficient Cryptography Group) 成立于1998年,一个从事密码标准通用性潜力研究的组织。旨在促进在各种计算平台上采用高效加密和提高互操作性。

那为什么BTC要选择 secp256k1 签名算法而不是其他已流行的算法呢?BTC开发者社区曾讨论过 secp256k1 是否安全。中本聪没有明确解释,只是说道”有根据的推测”。社区的讨论不外乎是在安全和效率上做权衡,选择一个不受任何政府控制、无后门的签名算法是BTC的首要考虑因素,其次,也需要提供计算速度,毕竟在BTC中加密、签名、校验签名是不断在处理的事情(60%左右的CPU时间几乎全用在这上面),而具有可预测性、高计算效率特性的Koblitz曲线是不错的选择。基于安全第一,效率第二原则,secp256k1 就是一个最优解。

同样的,以太坊eth的签名算法也是沿用 secp256k1,只不顾在此基础上稍微包装了一次。

部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/21191.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 以太坊交易签名算法

提供最优质的资源集合

立即查看 了解详情