Address

256 位整數秘密指數是否定義了 X、Y 對?

  • September 22, 2015

我試圖更好地理解比特幣是如何工作的,但我被困住了。我讀過一篇部落格,展示瞭如何從 256 位秘密整數構造 WIF,直到那時,我想我都遵循了。

但是,當談到(X,Y)點時,我“迷路了”。

在以下有趣的範例中(其中 256 位秘密指數被故意設置為“1”),X 和 Y 的值是什麼定義的?

一個相關的問題:對於相同的秘密指數(在這種情況下為“1”),我們最終會得到不同的(X,Y)嗎?

secret exponent: 1
 hex:           1
WIF:             KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn
 uncompressed:  5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf
public pair x:   55066263022277343669578718895168534326250603453777594175500187360389116729240
public pair y:   32670510020758816978083085130507043184471273380659243275938904335757337482424
 x as hex:      79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
 y as hex:      483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
y parity:        even
key pair as sec: 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
 uncompressed:  0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\
                  483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
hash160:         751e76e8199196d454941c45d1b3a323f1433bd6
 uncompressed:  91b24bf9f5288532960ac687abb035127b1d28a5
Bitcoin address: 1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH
 uncompressed:  1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm

該範例是使用您可以在此處找到的實用程序生成的:

<http://blog.richardkiss.com/?p=371>

我通常使用以下類比來過度簡化事情:密鑰是您從已知點開始沿著已知曲線走多遠,而公共點是您完成時在曲線上結束的位置。如果你重複同樣的步行,你總是會在同一個地方結束。操作是不可逆的,因為曲線很複雜,你只能通過採取措施來弄清楚你在哪裡結束。給定一個目的地,你不知道怎麼去那裡,因為你必須走整數步。

對於 OP 來說,這個答案可能為時已晚,但對於以後遇到相同問題的人來說,它可能會解決問題。所以這裡是:

我假設您(就像我剛才所做的那樣)有這樣的誤解,即私鑰也是橢圓曲線中的一對 (x, y) 座標,就像公鑰一樣。好吧,簡單的答案,它不是。私鑰實際上只是一個數字,這裡稱為“秘密指數”。這個數字乘以生成器點,這就是您獲取公鑰的方式。

所以我們有:

K = k * G

其中K是公鑰,k是私鑰,G是生成點。所以這個生成點G;規範給出的常數是這裡的實際點。你的私鑰只是一個數字。生成器點與自身相加以提供公鑰的次數。

這可能會令人困惑,因為人們一直稱“指數”使它看起來像這裡有重複的乘法,而實際上我們所擁有的是重複的總和。因此,它可能應該被稱為“秘密因素”。但請記住,這是橢圓曲線乘法,而不是每天的正常乘法,所以我假設您可以隨意命名它。

只是稱它為“指數”有點誤導。

引用自:https://bitcoin.stackexchange.com/questions/21027