ECC加密算法在區(qū)塊鏈中的應(yīng)用

ECC算法普遍被認(rèn)為是最強(qiáng)大的非對稱算法,基于ECC算法在實際應(yīng)用中的優(yōu)勢,它在很多領(lǐng)域都有著廣泛的應(yīng)用。下面我們就來了解一下ECC算法在區(qū)塊鏈中的應(yīng)用。

ECC算法在區(qū)塊鏈中的應(yīng)用

ECC算法在區(qū)塊鏈中最為典型的應(yīng)用場景就是數(shù)字簽名,常用的數(shù)字簽名體制包括RSA、EIGamal、ECDSA等,而在區(qū)塊鏈中,主要使用的是基于ECC算法的數(shù)字簽名算法ECDSA。

ECDSA

ECDSA的原理

ECDSA又名橢圓曲線簽名算法,設(shè)私鑰、公鑰分別為k、K,即K = kG,其中G為G點。

  • 私鑰簽名:

1、選擇隨機(jī)數(shù)r,計算點rG(x, y)。

2、根據(jù)隨機(jī)數(shù)r、消息M的哈希h、私鑰k,計算s = (h + kx)/r。

3、將消息M、和簽名發(fā)給接收方。

  • 公鑰驗證簽名:

1、接收方收到消息M、以及簽名。

2、根據(jù)消息求哈希h。

3、使用發(fā)送方公鑰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

ECDSA的優(yōu)點

橢圓曲線離散對數(shù)問題遠(yuǎn)難于離散對數(shù)問題,所以,ECC的安全強(qiáng)度要遠(yuǎn)高于傳統(tǒng)的離散對數(shù)算法。因此,在使用較短的密鑰的情況下,ECC可以達(dá)到更高的安全級別。

這帶來的好處就是計算ECDSA參數(shù)更小,密鑰更短,運(yùn)算速度更快,簽名也更加短小。因此ECDSA尤其適用于處理能力、存儲空間、帶寬及功耗受限的場合。

另外,ECC算法不僅可以用于簽名驗簽,還可以用于數(shù)據(jù)加密,從而提高了數(shù)據(jù)傳輸?shù)陌踩浴R驗镋CDSA具有極高的安全性,目前已廣泛應(yīng)用在比特幣、以太坊、超級賬本等區(qū)塊鏈項目中。

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系刪稿。