Private-Key

作為開發人員,我需要採取哪些步驟來生成私鑰?

  • August 27, 2021

開發時(我使用的是 Apple Swift),需要哪些步驟才能獨立創建我自己的一對私鑰-公鑰(能夠從助記詞中恢復私鑰)?

沒有必要詳細描述每個步驟,我只想了解大致的想法。

我將省略一些細節以保持答案緊湊,但總體構想是:

橢圓曲線點是二維點 (x, y),其中 x 和 y 座標遵循曲線方程 y^2 = x^3 + 7

私鑰只是范圍內的一個整數1..0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

公鑰是一個 EC 點(兩個座標)

0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798G 是一個座標為 ( , 0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8)的特殊點

創建私鑰/公鑰的步驟

  1. 實現橢圓曲線點相加(兩點相加)
  2. 實現橢圓曲線點乘法(EC點與整數的乘法)
  3. 生成上述範圍內的隨機整數,即你的私鑰
  4. 使用步驟 2 將您的私鑰與點 G 相乘,這就是您的公鑰

為了從助記符生成密鑰,有兩個描述該過程的 BIP。

  • BIP-39描述瞭如何將助記詞轉換為 512 位種子
  • BIP-32描述瞭如何將種子和派生路徑轉換為 EC 密鑰

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