Mnemonic-Seed

將我的 BIP39 種子的 sha256 雜湊儲存在區塊鏈上是否安全?

  • July 8, 2015

根據<https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki>,一個 12 字的 BIP39 密碼具有 128 位的熵。

我這樣做的原因是,當我想檢查我是否正確記住了我的密碼時,我可以將其與雜湊進行核對,而不必生成 HD 錢包地址並檢查其餘額。

那麼在區塊鏈上儲存我的 BIP39 種子的雙 sha256 雜湊是否安全?

你可以而且這可能不是一個直接的安全問題,但試圖再次找到它是一種毫無意義的浪費時間。請記住,這樣做會不必要地破壞種子中使用的 PBKDF2 密鑰拉伸。如果您真的需要該功能,Electrum 會使用其 12 字種子(使其成為 13 字種子)儲存校驗和,但很明顯,當錢包中的錢恢復時您是否擁有正確的功能。

這可能不是一個嚴重的風險,假設你的密碼確實像你說的那樣有這麼多的熵,儘管它似乎也沒有提供很多真正的好處。如果您希望能夠檢查您是否記得密碼,為什麼不將雜湊保存在只有您可以訪問的地方?將其公開只會增加您的風險(儘管可能不會顯著)。

主要區別在於這一點。假設你的密碼片語有 N 位熵,並且有人試圖暴力破解它。

  • 如果他們有權訪問雜湊,那麼對於他們嘗試的每個片語,他們只需執行兩次 SHA256 計算。這樣的操作可以相對較快地完成,例如通過採礦 ASIC 的一些變體。
  • 如果他們沒有雜湊,那麼對於他們嘗試的每個片語,他們必須從片語中計算一個種子,從種子中生成足夠多的私鑰,計算它們對應的公鑰和地址,並查找它們在區塊鏈索引中查看這些地址是否包含硬幣。這將比僅計算 2 x SHA256 慢許多數量級。

因此,發布雜湊顯著減少了暴力攻擊者必須做的工作量。

現在,如果您的密碼確實具有 N=128 位熵,那麼區別就沒有真正意義,因為計算 SHA256 的 2^N 次迭代實際上仍然是不可能的。但是,如果 N 有可能小得多(例如,您的 RNG 有問題或受到損害),那麼原則上,發布雜湊可能是暴力攻擊是否具有成本效益之間的區別。

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