ECC算法普遍被认为是最强大的非对称算法,基于ECC算法在实际应用中的优势,它在很多领域都有着广泛的应用。下面我们就来了解一下ECC算法在区块链中的应用。
ECC算法在区块链中的应用
ECC算法在区块链中最为典型的应用场景就是数字签名,常用的数字签名体制包括RSA、EIGamal、ECDSA等,而在区块链中,主要使用的是基于ECC算法的数字签名算法ECDSA。
ECDSA的原理
ECDSA又名椭圆曲线签名算法,设私钥、公钥分别为k、K,即K = kG,其中G为G点。
- 私钥签名:
1、选择随机数r,计算点rG(x, y)。
2、根据随机数r、消息M的哈希h、私钥k,计算s = (h + kx)/r。
3、将消息M、和签名发给接收方。
- 公钥验证签名:
1、接收方收到消息M、以及签名。
2、根据消息求哈希h。
3、使用发送方公钥K计算:hG/s + xK/s,并与rG比较,如相等即验签成功。
- 原理如下:
hG/s + xK/s = hG/s + x(kG)/s = (h+xk)G/s
= r(h+xk)G / (h+kx) = rG
ECDSA的优点
椭圆曲线离散对数问题远难于离散对数问题,所以,ECC的安全强度要远高于传统的离散对数算法。因此,在使用较短的密钥的情况下,ECC可以达到更高的安全级别。
这带来的好处就是计算ECDSA参数更小,密钥更短,运算速度更快,签名也更加短小。因此ECDSA尤其适用于处理能力、存储空间、带宽及功耗受限的场合。
另外,ECC算法不仅可以用于签名验签,还可以用于数据加密,从而提高了数据传输的安全性。因为ECDSA具有极高的安全性,目前已广泛应用在比特币、以太坊、超级账本等区块链项目中。
免责声明:素材源于网络,如有侵权,请联系删稿。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。