Cryptography

比特幣中使用的生成點 G 的順序

  • October 7, 2020

嗨,我只是想知道比特幣中使用的生成點 G 的順序是如何計算的。

從為 secp256k1 列出的規範<http://www.secg.org/SEC2-Ver-1.0.pdf>我可以看到列出的是生成器點 G 及其順序,但是我不確定這是如何實際計算的。

在我正在瀏覽的一本書中,提到了哈斯定理用於計算這個值,但是在查找這個定理時,這似乎只提供了一個界限。任何見解都會受到讚賞,謝謝:)

驗證階數 (n) 很容易:將 G 乘以 n 並發現您得到無窮大的點。這證明了 n 要麼是它的階數,要麼是它的倍數。然後使用Baillie-PSW素數測試說服自己 n 是素數,所以它必須是訂單本身,而不是它的倍數。

查找訂單並不像驗證它那麼簡單。為此,您將使用Schoof’s_algorithm,這需要相當多的數論複雜性。關於 Schoof 的 Wikipedia 文章解釋了 Hasse 定理如何通過限制可能是正確順序的順序範圍來對這一過程至關重要。

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