Salt
規劃密碼加鹽策略中的生日攻擊計算
Fergusun, Schneier, Kohno所著的Cryptography Engineering第 2.7.1 節解釋了生日攻擊:“一般來說,如果一個元素可以取 N 個不同的值,那麼在選擇 sqrt(N) 個隨機元素後,您可以預期第一次碰撞。” 這是一個近似值。
我們計劃升級我們在數據庫中儲存密碼雜湊和鹽的方式。我們需要考慮大約 1 億個鹽,即 26 到 27 位(2 的 26 或 27 次方;我不知道如何在這里格式化上標)。把我帶到大約 54 位的正方形。
七個字節是 56 位。假設 /dev/urandom 足夠隨機(均勻分佈且不可預測),七字節隨機鹽是否符合生日攻擊標準?
我意識到這不是挑選鹽的唯一考慮因素。我試圖找出我是否正確應用了生日攻擊理論。
**編輯:**書名章節末尾的最後一個練習提出了同樣的問題,我現在可以自信地回答了!
是的!我建議至少 64 位,但這只是因為 2 的冪很方便而且空間很便宜。此外,通常你使用的雜湊塊大小的鹽通常是最好的,因為加鹽幾乎總是會涉及一個額外的塊,所以為什麼不把它填滿,因為不會對性能產生影響呢?
但是再一次,是的,您對生日問題的分析是正確的。