Rainbow Tables: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Kette) |
|||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
=Rainbow Tables= | =Rainbow Tables= | ||
| + | *Eine volle Hash-Tabelle für alle Passwörter wäre Petabytes groß - unbaubar. | ||
| + | *Rainbow Tables schrumpfen das auf ein paar Hundert GB, damit es überhaupt auf eine Platte passt. | ||
| + | *Bezahlt wird's mit Rechenzeit beim Suchen. | ||
=Idee= | =Idee= | ||
| Zeile 15: | Zeile 18: | ||
=Kette= | =Kette= | ||
*abwechselnd H und R anwenden | *abwechselnd H und R anwenden | ||
| − | + | [[Datei:Rainbow.png|900px]] | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
*nur Anfang und Ende jeder Kette speichern | *nur Anfang und Ende jeder Kette speichern | ||
*1000 Glieder pro Kette -> 1 Eintrag statt 1000 -> Platzgewinn | *1000 Glieder pro Kette -> 1 Eintrag statt 1000 -> Platzgewinn | ||
Aktuelle Version vom 25. Juni 2026, 05:10 Uhr
Rainbow Tables
- Eine volle Hash-Tabelle für alle Passwörter wäre Petabytes groß - unbaubar.
- Rainbow Tables schrumpfen das auf ein paar Hundert GB, damit es überhaupt auf eine Platte passt.
- Bezahlt wird's mit Rechenzeit beim Suchen.
Idee
- Mittelweg zwischen Brute Force und voller Hash-Tabelle
- Brute Force: nichts gespeichert, alles live hashen → langsam, kein Platz
- Volle Tabelle: alles gespeichert → schnell, aber riesig (Petabytes)
- Rainbow Table: nur Teil gespeichert, Rest beim Suchen nachrechnen → tauscht Platz gegen Rechenzeit
Zwei Funktionen
- H = Hash (Passwort -> Hash)
- normale Richtung
- R = Reduktion (Hash -> Passwort-String)
- keine Umkehrung, erzeugt nur wieder etwas passwortförmiges
Kette
- abwechselnd H und R anwenden
- nur Anfang und Ende jeder Kette speichern
- 1000 Glieder pro Kette -> 1 Eintrag statt 1000 -> Platzgewinn
Suchen
- ab eigenem Hash selbst Kette bauen (R, H, R, H ...)
- nach jedem Schritt prüfen: Treffer auf gespeichertes Ende?
- Treffer -> zugehörigen Anfang nehmen
- Kette von vorne durchrechnen -> darin liegt das Passwort
Warum "Rainbow"
- pro Position andere Reduktionsfunktion (R1, R2, R3 ...)
- verhindert Zusammenlaufen/Kollision der Ketten
- Abfolge der Funktionen = "Regenbogen"