曲線密碼學(ECC)
橢圓曲線密碼學是區塊鏈公私鑰系統的數學基礎,用較短的金鑰提供高度安全性。
Last updated
橢圓曲線密碼學是區塊鏈公私鑰系統的數學基礎,用較短的金鑰提供高度安全性。
傳統的 RSA 加密要達到足夠安全,需要 2048 甚至 4096 位元的金鑰。而 ECC 只需要 256 位元就能達到同等安全等級。
80 bit
1024 bit
160 bit
112 bit
2048 bit
224 bit
128 bit
3072 bit
256 bit
256 bit
15360 bit
512 bit
更短 = 更好
更短的金鑰意味著更快的運算、更小的儲存空間、更少的網路流量。對於每秒處理數千筆交易的區塊鏈來說,這至關重要。
橢圓曲線並不是橢圓形的曲線!它是一種數學方程式:
y² = x³ + ax + b這個方程式在座標平面上畫出來的曲線,有一些神奇的數學特性,可以用來做加密。
比特幣和以太坊使用的曲線叫做 secp256k1。
私鑰就是一個隨機的 256 位元數字。
把私鑰乘以曲線上的一個特定點(生成點 G),得到另一個點,這就是公鑰。
從私鑰計算公鑰很容易,但從公鑰反推私鑰在數學上是不可行的。這就是 ECC 的安全基礎。
為什麼反推不了?
這叫做「離散對數問題」。就像你知道 3 × 5 = 15 很容易,但如果只告訴你答案是 15,要你猜出原來的數字是 3 和 5,就難多了。ECC 的版本比這複雜得多。
區塊鏈用 ECC 來做數位簽名,證明交易是由私鑰持有者發起的:
簽名:用私鑰對交易訊息簽名,產生簽名資料
廣播:把交易和簽名發送到網路
驗證:任何人都可以用公鑰驗證簽名是否有效
如果簽名有效,就證明這筆交易確實是私鑰持有者授權的。
Bitcoin
secp256k1
ECDSA
Ethereum
secp256k1
ECDSA
Solana
ed25519
EdDSA
Last updated
公鑰 = 私鑰 × G