Wallet

具有偶數 y 座標的公鑰是否對應小於 n/2 的私鑰,反之亦然?(Secp256k1)

  • September 18, 2022

這個問題有點複雜,旨在清除問題。

假設這n是循環群的順序。它n - 1是所有可能的私鑰的數量

n = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141

我們還知道,每個私鑰和公鑰都有其模逆。為了得到私鑰的模逆,我們需要從 中減去私鑰n

n - privKey

為了獲得公鑰的模逆,我們必須將其y座標乘以-1和模乘以p有限域的 - 階。

x,y = x, -y % p

模逆公鑰與x原公鑰的座標相同,但y座標不同,且y座標的極性始終不同。如果原件y是奇數,則在模組化逆密鑰中它將是偶數,反之亦然。

如果一個壓縮的公鑰"02"在 biggining 時有索引,那麼它甚至有y. 如果是"03",那就奇怪了。

問題是,如果y一個公鑰的座標是偶數,是否意味著對應的私鑰小於n/2它的值?如果y是奇數,則私鑰大於n/2?

y(或x)座標的奇偶性與對應私鑰的值之間有什麼關係嗎?

有什麼方法可以知道私鑰比n/2不知道私鑰本身多還是少?

有沒有辦法找出一個從未發送比特幣但只接收它的地址的公鑰?

我們還知道,每個私鑰和公鑰都有其模逆。為了得到私鑰的模逆,我們需要從 中減去私鑰n

只是一個術語說明:這是一個模否定,而不是模逆。vmod的模逆n將是這樣的a數字a*v = 1 mod n。我相信,模逆與您的問題無關,只是想澄清一下。

模逆公鑰與原公鑰具有相同的x座標,但y座標不同,並且y座標的極性總是不同的。如果原件y是奇數,則在模組化逆密鑰中它將是偶數,反之亦然。

這都是正確的。取反私鑰(在有限域模中n)對應於取反點,取反點取反 Y 座標,假設座標域大小為奇數,取反取模會改變奇偶性。

問題是,如果公鑰的y座標是偶數,是否意味著對應的私鑰小於n/2其值?如果y是奇數,則私鑰大於n/2?

不,不存在這樣的關係。

y(或x)座標的奇偶性與對應私鑰的值之間有什麼關係嗎?

不,看到公鑰不應讓您推斷出有關相應私鑰的*任何資訊。*如果有一種方法可以學習任何東西,那麼 ECDLP(橢圓曲線離散對數問題)假設就會被打破(該假設粗略地說,看到公鑰的計算受限的攻擊者無法比隨機猜出更有意義的私鑰)。

有什麼方法可以知道私鑰比n/2不知道私鑰本身多還是少?

不。

有沒有辦法找出一個從未發送比特幣但只接收它的地址的公鑰?

這是一個不相關的問題,但簡而言之:不。這確實取決於您正在談論的地址類型。對於 P2PKH、P2SH 或 P2WPKH 地址顯然不是,因為涉及到雜湊函式。對於 P2TR(taproot)地址,(調整的)公鑰的 X 座標直接編碼(未散列),但沒有 Y 座標。

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