曲線密碼學(ECC)

橢圓曲線密碼學是區塊鏈公私鑰系統的數學基礎,用較短的金鑰提供高度安全性。

橢圓曲線密碼學(Elliptic Curve Cryptography, ECC)是一種利用橢圓曲線數學特性的加密技術。區塊鏈用它來生成公私鑰對——私鑰用來簽名交易,公鑰用來驗證簽名。


為什麼區塊鏈選擇 ECC?

傳統的 RSA 加密要達到足夠安全,需要 2048 甚至 4096 位元的金鑰。而 ECC 只需要 256 位元就能達到同等安全等級。

安全等級
RSA 金鑰長度
ECC 金鑰長度

80 bit

1024 bit

160 bit

112 bit

2048 bit

224 bit

128 bit

3072 bit

256 bit

256 bit

15360 bit

512 bit

circle-info

更短 = 更好

更短的金鑰意味著更快的運算、更小的儲存空間、更少的網路流量。對於每秒處理數千筆交易的區塊鏈來說,這至關重要。


橢圓曲線是什麼?

橢圓曲線並不是橢圓形的曲線!它是一種數學方程式:

y² = x³ + ax + b

這個方程式在座標平面上畫出來的曲線,有一些神奇的數學特性,可以用來做加密。

比特幣和以太坊使用的曲線叫做 secp256k1


公私鑰如何產生?

1. 生成私鑰

私鑰就是一個隨機的 256 位元數字。

2. 計算公鑰

把私鑰乘以曲線上的一個特定點(生成點 G),得到另一個點,這就是公鑰。

3. 單向性

從私鑰計算公鑰很容易,但從公鑰反推私鑰在數學上是不可行的。這就是 ECC 的安全基礎。

circle-check

數位簽名(ECDSA)

區塊鏈用 ECC 來做數位簽名,證明交易是由私鑰持有者發起的:

  1. 簽名:用私鑰對交易訊息簽名,產生簽名資料

  2. 廣播:把交易和簽名發送到網路

  3. 驗證:任何人都可以用公鑰驗證簽名是否有效

如果簽名有效,就證明這筆交易確實是私鑰持有者授權的。


ECC 在區塊鏈中的應用

區塊鏈
使用的曲線
簽名算法

Bitcoin

secp256k1

ECDSA

Ethereum

secp256k1

ECDSA

Solana

ed25519

EdDSA


延伸閱讀


參考資料

Last updated