選擇我自己的種子助記符有風險嗎?
我讀到“人類不擅長隨機性”,應該始終讓算法為您選擇種子。
雖然我同意也許不建議將我的大腦錢包“動物園”x 23 + 校驗和作為一個易於記憶的片語,但除了顯而易見的之外,選擇自己的種子還有什麼真正的風險?
我還讀到過,如果您使用日期作為種子的種子(俗稱的片語,我的 nmemonic 種子是從中創建的隨機函式的種子),那麼如果攻擊者知道這一點,他們就可以用它來破解我的錢包容易地。
還有什麼問題?例如,如果我決定使用列表中的所有食物詞,但將其中一個更改為易於記憶的替代名詞,那麼我有一堆食物詞和一個隨機不合適的非食物詞(接縫可以我)。是否有可以利用這一點的蠻力算法?
BIP39 單詞列表由 2048 個單片語成。
對於正常的 24 字助記符,您有: 2048^23 種排列非校驗和字的方法。以每秒 1 萬億個組合計算,這將花費您 ≈ 3.3×10^46 倍的宇宙年齡來計算,甚至在您檢查校驗和選項之前。
現在,假設在這 2048 個單詞中,有 500 個是食物(這是一個說明性的例子,我實際上並沒有計算它們)。現在,您的組合是這 500 個項目中的 22 個項目(可能重複)的某種組合,加上 2048 個中的一個隨機詞。
這計算為 500^22 * 2048 * 21。以每秒 1 萬億次組合計算,這將需要你 ≈ 2.4×10^46 倍的宇宙年齡來計算。雖然這仍然是一個非常大的數字,但仍然比初始情況少了近 30%,這是一個不平凡的熵損失。
此外,如果攻擊者能夠從您的助記符中發現幾個單詞(可能是朋友在訪問時達到了頂峰,或者您在趕上之前將片段輸入到詐騙錢包中,或任何其他情況),您可能的組合下降非常快。即使是感知到的少量熵損失也可能意味著在 6 個已知單詞後被暴力破解和在 19 個已知單詞後被暴力破解之間的差異。
在 2019 年,幾乎所有設備都可以使用可靠的熵生成,因此嘗試提出複雜的方案根本不值得。
生成種子詞的方式是從數字種子熵(通常以十六進製表示)開始,然後 BIP39 標準將其轉換為種子詞。並非單詞表中的每個單片語合都是有效的。
如何生成種子熵取決於您,但從單詞開始並不一定有效。你可以很容易地想出一個無效的序列。
如果您真的有信心可以創建一個易於記憶的單詞序列,但看起來足夠隨機以抵抗被破解,那麼您可以散列並以這種方式創建種子熵。不過,沒有人推薦這種方法。大腦錢包經常被破解和耗盡,因為許多創建它們的人都高估了他們的密碼/密碼的強度。