彩虹表是一種破解雜湊演算法的技術,從原理來說能夠對任何一種hash演算法進行攻擊。簡單的說,彩虹表就是一張採用各種hash演算法生成的明文和密文的對照表。在彩虹表中,表內的每一條記錄都是一串明文對應一種hash演算法生成的一串密文。我們得到一串加密字元,以及它採用的加密演算法後,通過使用相關軟體工具在彩虹表中查詢,比較,運算,能夠迅速得出此加密字串對應的明文,從而實現對密文的破解,如圖所示
正因為彩虹表採用這種最笨拙的方法,一一窮舉儲存明文和密文的所有組合,所以彩虹表非常龐大,根據密文所對應明文的長度和複雜度,常用的彩虹表幾百m和幾十g不等。
近年來,隨著一些大型**的使用者資料庫淪陷,所暴露出來的使用者資料在黑客圈子裡流傳,使得彩虹表的資料越來越豐富,越來越準確。並且隨著計算機硬體的發展,也使彩虹表破解hash演算法的效率越來越高。對hash演算法來說,彩虹表是不可忽視的威脅
hash表 hash演算法
概念 雜湊表 hash table。也叫雜湊表 是依據關鍵碼值 key value 而直接進行訪問的 資料結構。也就是說,它通過把關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做雜湊表。給定表m,存在函式f key 對隨意給定的keyword值ke...
用彩虹表破解MD5 LM Hash等複雜加密密碼
一 什麼是彩虹表?彩虹表 rainbow tables 就是乙個龐大的 針對各種可能的字母組合預先計算好的雜湊值的集合,不一定是針對md5演算法的,各種演算法的都有,有了它可以快速的破解各類密碼。越是複雜的密碼,需要的彩虹表就越大,現在主流的彩虹表都是100g以上。二 上哪找彩虹表去?1。md5的彩...
《演算法導論》之hash表
hash表原理不難,難在如何選擇表的大小以及hash函式,這個涉及到很多數學的東西,這裡就先不詳述了,而是先整理下基本概念和一些結論。hash就是通過函式,將大範圍的key值對映到小範圍的hash表中,相比起直接對映來說更加節省空間。而這種方法的乙個問題就是會出現 碰撞 即有多個值會對映到同乙個 項...