Passwords

如果將隨機符號插入單詞中的隨機位置,每個 Diceware 單詞的熵是多少?

  • July 14, 2014

Diceware頁面上有這個小寶石:

為了在不添加其他單詞的情況下獲得額外的安全性,請將隨機選擇的一個特殊字元或數字插入您的密碼片語中……隨機插入一個字母會增加大約 10 位熵。

通過這種說法,這是否意味著將隨機字元添加到 Diceware 單詞中的隨機位置會為每個單詞添加 10 位?

如果使用隨機可列印的 ASCII 字元代替,每個 Diceware 單詞的熵是多少?

如果在每個 Diceware 單詞的隨機位置使用隨機 Diceware 單詞作為隨機符號,每個 Diceware 單詞的熵是多少?

這具體如何計算?

如果你將一個真正隨機的字元添加到一個單詞的一個真正隨機的位置(統一選擇),你會得到“位置熵”+“字元熵”作為單詞熵的加法。(不完全是,它有點少)。字元的熵是可能字元的大小。64 個可能的字元是 $ log2(64) = 6 $ 一點點的熵。位置熵是可以放置字元的可能位置的數量。使用長度為 4 個字元的單詞,您可以獲得 5 個位置。(單詞長度加 1。“foo”有 4 個可能性:“?foo”、“f?oo”、“fo?o”和“foo?”。)

範例:你得到了“你好”這個詞。現在你想添加一個可能的字元 $ 26+26+10 = 62 $ 字元(大小寫字母和數字)到單詞中。可能的結果:“h9ello”、“helalo”、“heXllo”、…“hello”的熵:假設為 0,因為在此範例中它是一個常數值。字元熵: $ log2(62) = 5.95 $ 位。位置熵: $ log2(4+1) = 2.32 $ 位。全熵:8.27 位。問題:這並不完全正確,因為您會因特定效果而失去一點熵。查看範例“hello”:您可以在單詞中的 e 之後,也可以在 e 之前添加一個“e”。無法區分這兩種可能性(“h e ello”和“he e llo”),它們是相同的。這比我們計算的要少一種可能性。您可以對單詞的每個字母執行此操作。像“hhhhh”這樣的詞更糟糕,因為每次隨機字元都是“h”時,你無法分辨它是在單詞中的哪個位置添加的。

引用自:https://crypto.stackexchange.com/questions/18119