作者Raziel
這兩件事情並不一樣. 使用彩虹表不是逆推原文, 而是收集夠多的原文與hash值的對應,
透過比對hash值來還原"可能"的原文. 因為帳密這種東西, 你可以假設他最多有幾個字,
讓範圍縮限, 而且你是直接做比對, 不是進行運算, 效率當然可以增加百倍. 然而, 彩虹表
也不是無敵, 如果你所使用的字串內容只要有一個字沒被你使用的彩虹表涵蓋到,
那很抱歉, 100年也解不出來. 假設你用的彩虹表只有cover 8個字以內的英數字大小寫,
結果對方密碼有一個字是驚嘆號, 或是密碼是24個字, 那彩虹表也是會破功的.
那麼你會說 彩虹表設的組合夠大夠多元,應該就都可以涵蓋到了吧~ 理論上是對的,
但是如果你製作出來的彩虹表, 大到數百GB,無法放進RAM裡面運作, 你也不要期望它能
比對多快. 有一攻有一防, 沒有絕對的安全, 只有相對的較低風險. 沒有無敵的攻擊, 只有
相對高的代價.
|