Rainbow tabulky se používají k výpočtu PSK, nikoliv PTK. Předpočítám si PSK na farmě GPU pro nejpoužívanější SSID a určitá hesla (krátká, slovníková apod.). Dále si vygeneruji PTK a poté budu počítat MIC druhé zprávy 4-way handshaku a porovnávat ho s právě zachyceným MIC.
Výhodou tudíž je, že vyhledání v předpočítáné tabulce je mnohonásobně rychlejší, než počítání 8096 SHA1 hashů pro výpočet jednoho PSK. A právě výpočet PSK pro všechny možné kombinace hesel je nejpomalejší částí algoritmu.
chcete se tedy vyhnout tem 4k iteracim pri vypoctu PSK? Asi to stale nechapu, protoze rb-lookup bude jiste mnohem narocnejsi nez ty iterace samotne. Musite vypocitat chain, ktery sam o sobe bude mit jiste vic nez 4k prvku, ty pak tridit a hledat v 1TB souboru, ktery se asi do pameti nevleze a nejspis si pri tom sahnete na disk. Kde je uspora?
Vy ale v té RB tabulce nevyhledáváte. Pouze jste si předpočítal PSK pro dané SSID a všemožná hesla a následně tuto tabulku procházíte lineárně prvek po prvku. Spočítal jste si to tedy jednou, uložil a následně využil pro prolamování N sítí, kde všechny mají nějaké často používané SSID.
A číst prvek po prvku z nějaké datové struktury je jednoznačně znatelně rychlejší, než počítat 8192 SHA1 hashů.
Michal Novák: Super! Uz tomu rozumim. Chytre! Rozsiril jste mi obzory, diky!
risototh: vyhledat v 1TB databazi jednoznacne = cteni z disku a to nejspis nebude rychlejsi nez 8000xSHA1 v pameti. Navic, rainbow-table ma k b-tree dost daleko. Doporucuji prostudovat, je to velmi chytra struktura: https://en.wikipedia.org/wiki/Rainbow_table