橢圓曲線密碼學基礎:以太坊簽章機制與零知識證明的數學理論

橢圓曲線密碼學(ECC)是現代密碼學的基石,也是比特幣和以太坊所採用的核心密碼學技術。secp256k1 曲線被用於以太坊的交易簽章,BLS 簽名在共識層發揮關鍵作用,而零知識證明系統(如 zk-SNARK、zk-STARK)則構建於橢圓曲線配對之上。本文將從數學原理出發,深入解析橢圓曲線密碼學的理論基礎,闡述離散對數問題的複雜性如何保障系統安全,並詳細說明這些理論如何應用於以太坊的各類密碼學實踐。

橢圓曲線密碼學基礎

橢圓曲線密碼學(ECC)是現代密碼學的基石,比特幣和以太坊都用它。搞密碼學應用的話,這些基礎必須懂。

橢圓曲線方程式

y² = x³ + ax + b (mod p)

以太坊用的 secp256k1 曲線:

點加法

曲線上的兩點可以「相加」:

普通加法(P ≠ Q)

λ = (y₂ - y₁) / (x₂ - x₁) mod p
x₃ = λ² - x₁ - x₂
y₃ = λ(x₁ - x₃) - y₁

倍點(P = Q)

λ = (3x₁² + a) / (2y₁) mod p
x₃ = λ² - 2x₁
y₃ = λ(x₁ - x₃) - y₁

為什麼安全?

離散對數問題(ECDLP):

給定 G 和 Q = dG,求 d

目前沒有已知的多項式時間算法。這是比特幣和以太坊安全的基礎。

在零知識證明中的應用

Pedersen 承諾

Commit(m, r) = m·G + r·H

同態性:

Commit(m₁, r₁) + Commit(m₂, r₂) = Commit(m₁+m₂, r₁+r₂)

配對(Pairing)

雙線性配對 e(G, H):

e(aG, bH) = e(G, H)^(ab)

配對讓 ZK-SNARK 驗證變得高效。

結語

橢圓曲線密碼學看起來數學很多,但其實核心思想很簡單:利用曲線上的點運算構建單向函數,讓「知道結果容易、知道私鑰困難」成為可能。

COMMIT: Add elliptic curve cryptography fundamentals guide

延伸閱讀與來源

這篇文章對您有幫助嗎?

評論

發表評論

注意:由於這是靜態網站,您的評論將儲存在本地瀏覽器中,不會公開顯示。

目前尚無評論,成為第一個發表評論的人吧!