Passwords

密碼的質量是如何計算的,它是什麼意思?

  • January 23, 2017

在使用Keepass並使用它生成隨機密碼時,我一直注意到“質量”部分,但實際上從未知道它的實際含義。

質量

所以我的問題是;

  1. 多少熵才足夠?
  2. 多少是矯枉過正?
  3. 熵實際上如何應用於攻擊者猜測密碼所需的時間長度?
  4. 熵是如何計算的,我添加一個新字元會如何影響位數?
  5. 理論最大值是多少?

謝謝!

多少熵才足夠?

對於密碼,真正的 96 位熵就足夠了。畢竟密碼通常會經過一些緩慢的密碼散列,這會顯著增加攻擊的工作量。即使具有超快速驗證功能,96 位也應該是攻擊者無法觸及的。

多少是矯枉過正?

超過 500 位很可能是矯枉過正,即使對於一個實際上不完美的熵源也是如此。如果您的熵是“真實的”(即所報告的實際上是熵),那麼超出 256 位甚至 192 位實際上是沒有意義的。

熵實際上如何應用於攻擊者猜測密碼所需的時間長度?

熵表示字元串1中的不確定性,並以位為單位進行對數測量。因此,如果將熵增加一倍,則字元串的不確定性會增加一倍,因此可以取兩倍的值,這意味著攻擊者必須嘗試兩倍數量的密碼。簡而言之:讓 $ l $ 是實際的熵(以位為單位),則有 $ 2^l $ 可能要嘗試的不同值。

熵是如何計算的,我添加一個新字元會如何影響位數?

我強烈懷疑這個工具要做的是分析密碼中使用的字元集,在字典中查找常用詞,然後猜測熵(通過比較 的熵來嘗試potatpotato後者報告於12 位,前者為 20 位)。熵的上限

$$ \leq{|\Sigma|}^n $$在哪裡 $ \Sigma $ 是工具估計可能出現在您的密碼中的字母表/字元組,並且 $ n $ 是密碼的長度。例如,如果您使用大寫字母,它將包含那些而不是排除它們,如果您沒有大寫字母。

請注意,該工具報告的內容充其量只是一個估計值,由於使用了錯誤的 RNG、實現缺陷或您只是運氣不好並擊中了一個更容易被攻擊者猜到/猜到的字元串,實際熵可能會顯著降低.

理論最大值是多少?

理論上是沒有的。實際上,它可能受到 RAM 大小的限制(因為密碼必須適合其中)。


1實際上是隨機變數的不確定性,但這是細節。

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