什麼是Secp256k1

Published: Nov 18, 2019 by Cypherpunks Core

[原文]secp256k1 是指比特幣中使用的 ECDSA 曲線的參數 ,並且在高效密碼學標準(SEC)(Certicom Research,文件)中進行了定義。

在比特幣開始流行之前,secp256k1 幾乎從未使用過,但由於其幾個不錯的屬性,它現在越來越受歡迎。大多數常用曲線具有隨機結構,但 secp256k1 是以特殊的非隨機方式構建的,可以實現特別高效的計算。 因此,如果實施得到充分優化,它通常比其他曲線快 30% 以上另外,與流行的NIST曲線不同,secp256k1 的常量是以可預測的方式選擇的,這大大降低了曲線建立者在曲線中插入任何後門的可能性。

下面看一下這裡面的函數圖:

Secp256k1 是 secp256k1 橢圓曲線在實數上的圖形。請注意,因為 secp256k1 實際上是在欄位上定義的,所以它的圖形實際上看起來像是隨機分散的點,而不是像圖中這樣是連續的點。

技術細節

從標準摘錄:

與 Koblitz 曲線 secp256k1 相關聯的上的橢圓曲線域參數由單元指定,其中有限域由下式定義:

p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
= 2256 - 232 - 29 - 28 - 27 - 26 - 24 - 1

上的曲線E:由下式定義:

a = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
b = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000007

壓縮形式的基點是:

G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

而在未壓縮的形式是:

G = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8

最後,的迴圈因子(就是指)和輔因子如下:

n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
h = 01

屬性

  • secp256k1 具有特徵,它的素數域定義為 ℤp。常用的一些其他曲線具有特徵2,並且在二進位制伽羅瓦(Galois)域上定義,但 secp256k1 不是其中之一。
  • 因為一個常數為零,曲線方程中 ax 項始終為零,因此曲線方程變為

也可以看看

原文

Latest Posts

MuSig:一個新的多重簽名標準
Cosmos 區塊鏈的工作原理,Part-1:比較Cosmos 與比特幣、以太坊
Cosmos 區塊鏈的工作原理,Part-1:比較Cosmos 與比特幣、以太坊

編者注:本文對 Cosmos 網路中區塊鏈和比特幣、以太坊進行了鉅細靡遺的比較。作者先從區塊鏈系統的棧層出發,分析了比特幣、以太坊在不同棧層上的技術要點,最後迴歸到 Cosmos 網路中的區塊鏈,概念解釋尤為清晰,是不可多得的解釋文。

多媒體區塊鏈:分散式且防竄改之媒體交易框架
多媒體區塊鏈:分散式且防竄改之媒體交易框架

當前多媒體發佈不會保留可自我檢索的訊息交易或內容修改之歷史記錄,經常對原始媒體進行編輯以獲取創意內容準備或篡改通過社交媒體進行錯誤宣傳,然而現在沒有可信任之機制可以輕鬆檢視交易記錄或修改歷史。