Hash
使用鹽如何減少彩虹表攻擊?
我可以為特定的鹽值創建一個彩虹表,並且仍然可以創建一個類似於沒有鹽值的成功攻擊。
用於密碼破解的彩虹表的要點是允許攻擊多個密碼雜湊,而只需比破解單個密碼雜湊少一點工作。
建構彩虹表所花費的時間與破解單個密碼雜湊的最壞時間一樣多(僅計算加密操作,而不是表成本)。假設均勻分佈,這大約是平均開裂時間的兩倍。
這意味著對於單個密碼的攻擊,彩虹表的優點是它可以在我們真正知道搜尋的雜湊之前建構。彩虹表只有在攻擊多個密碼時才真正值得,因為查找比建構表要快得多(實際查找時間取決於表使用的空間)。
當我們為每個鹽建立一個新表時,我們失去了兩個優勢——我們不能在知道鹽之前建立表,而且我們不能將它用於多個密碼(假設鹽是唯一的)。所以你仍然可以用彩虹表攻擊一個加鹽密碼,但這比直接攻擊它的成本更高——換句話說,彩虹表是沒有用的。