Passwords

如何證明彩虹表是完備的?

  • January 19, 2021

可以使用彩虹表破解散列但未加鹽的密碼。我經歷了這個很好地解釋了彩虹表背後的邏輯。

但是我錯過了關於彩虹桌的一些東西;如何確定所有有效密碼的雜湊值都包含在表中?

假設密碼是 8 個字元,從

$$ a-z $$$$ A-Z $$$$ 0-9 $$. 如果我正在建構一個具有 10000 個雜湊和反向迭代鏈的彩虹表,我如何確定該表在什麼時候完成?即:儲存的密碼和最終散列包括鏈中某處所有 62 8個有效密碼的散列? 有沒有一種數學方法可以驗證彩虹表的完整性?

彩虹表不完整。但有些覆蓋面很好。我們使用統計工具估計彩虹表覆蓋了多少不同的雜湊值。

我們可以建造完美的彩虹桌,在那裡我們可以扔掉碰撞的鏈條。這減少了最終表中的冗餘。但即使在“完美”的彩虹中,某個雜湊值也可能出現兩次(但不在同一列中),所以我們仍然需要估計覆蓋率。

隨著我們接近全面覆蓋,它變得越來越昂貴。因為有了一個覆蓋率很高的表,幾乎我們添加的任何東西都已經被覆蓋了。

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