Private-Key

從單個助記詞生成私鑰

  • February 15, 2021

我想從一個單詞助記符生成一個乙太坊私鑰。例如,

**(1)**我可以使用keccack256線上工具將單詞轉換為私鑰。這會是一個有效的密鑰嗎?有沒有其他方法可以做到這一點?

(2)在 12-24 詞助記詞的情況下,可以從助記詞生成 512 種子,用於生成私鑰。僅用一個詞作為種子“片語”如何做到這一點?我知道這是可能的,因為它已經完成,但我不明白如何。它會以與 12 個單詞助記符的種子的來源完全相同的方式完成嗎?

那麼如何從一個單詞生成私鑰。是否只能使用案例(1)或案例(2)和其他?

(1) 我可以使用 keccack256 線上工具將單詞轉換為私鑰。這會是一個有效的密鑰嗎?

任何 256 位數字都是有效的私鑰,所以是的,它將是有效的密鑰。但這還不足以生成安全私鑰。我可以執行字典中的每個單詞keccak256()(以及生成 256 位數字的所有其他廣泛使用的散列函式)並檢查是否有任何資金與每個私鑰相關聯,直到找到你的。

使用 12-24 個字典單詞作為種子的整個想法是使熵足以使其安全。

https://xkcd.com/936/

您不能同時擁有已知或易於猜測的種子和散列函式。keccak256()眾所周知,字典單詞很容易猜到。)

那麼如何從一個單詞生成私鑰。

您有 2 個選擇:

  1. 使用具有已知散列函式的難以猜測的種子,或
  2. 使用難以猜測的雜湊函式和易於猜測的種子

對於第一個選項,您可以使用密碼管理器生成安全密碼,然後執行該密碼keccak256()或任何其他可以為您提供 256 位數字的雜湊函式。但是,您的安全密碼(高熵)不屬於您對“助記符”的定義。

對於第二個選項,您需要通過您自己編寫的散列函式(或者,按照只有您知道的順序的一系列已知散列函式)執行您選擇的字典單詞(低熵)。

引用自:https://ethereum.stackexchange.com/questions/93221