Passwords

是否可以反轉生日攻擊計算?

  • September 19, 2015

我發現對於我們數據庫中的每 100 個密碼鹽,我們平均只有 94.73 個不同的鹽值(平均超過 1800 萬個)。有沒有辦法進行觀察併計算我們在鹽中的有效熵(或任何正確的術語)的量?

顯然,我們需要改進生成鹽的方式。但是,與此同時,我想更好地理解觀察背後的理論。

**編輯:**我已經問過這個問題,旨在正確生成我們的密碼鹽。

可以反轉生日界限計算。您可以使用預期的碰撞次數獲得易於計算的近似值:

如果你有隨機 $ n $ -位鹽,之後 $ k $ 您期望的值 $ 2^{-n}\binom{k}{2} $ 碰撞。如果碰撞很少,它們大多是單個碰撞,所以大約有 $ u = k-2^{1-n}\binom{k}{2} $ 獨特的、非衝突的值。所以你的結果 $ k = 1.8 \cdot 10^7 $ 和 $ u \approx 1.7 \cdot 10^7 $ 可以生成 $ n \approx 28.3 $ . 也就是說,它們可以是介於 0 到 3.4 億之間的隨機數,可以是給也可以是取。

在評論中連結的這個問題Neil Slater的答案中可以找到更精確的公式。根據您的數字,他們給出的答案約為 27.3。這是有道理的,因為上面的近似忽略了多次碰撞,這會留下比估計更多的唯一值。

然而,這並不意味著它們有 27-28 位的熵。他們本來可以少得多。例如,它們可能是在約 17500000 個項目之後環繞的計數器的結果。僅憑您提供的數據無法知道。然而,它們很可能每個熵不超過28 位。

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