Re: Ein Zufallspasswort generieren
20. Jul 2003, 14:57
Die Anwendung solcher Passwörter ist sicherlich besser als das eigene Geburtsdatum oder den Namen der Freundin zu verwenden, aber man sollte zur obigen Methode bemerken das sie nicht sehr viel sicherer ist.
Der Zufallsgenerator von Delphi arbeitet als LCG = Linear Congruental Generator. Diese LCG's sind sehr gut erforscht und nicht kryptograpisch sicher. D.h. man kann aus einer durch den LCG erzeugten Sequenz von Bytes den Startwert des LCG's berechnen.
Borlands LCG hat im besten Falle eine Periode von 2^32. D.h. man kann nur 2^32 verschiedene Sequenzen erzeugen und somit auch nur 2^32 verschiedenen ~2 Zeichen Passwörter.
Damit würde obiger Code eine ideale Basis für eine Tabellenorientierte Brute Force Attacke darstellen, ohne das man eine Tabelle vorrausberechnen müsste.
Erzeugt man durchschnittlich 24 Zeichen Passwörter dann würde dies die Anzahl der möglichen Passwörter reduzieren auf 2^25.
Heutige Annahmen gehen davon aus das ein 128 Bit Schlüssel bestehend aus echten Zufall sicher ist (2^128 mögliche Schlüssel), und keine akzeptablen Brute Force Attacken durchführbar machen.
Wenn man also mit obigen Algorithmus 128 Bit Passwörter erzeugen würde dann würde aus allen 2^128 möglichen Passwörtern nur 2^32 verschiedene gewählt. Der Algo. wäre somit nut 1 / 2^92 so stark wie echte 128 Bit Passwörter. Daher könnte man von vorhinen nur mit 32Bit Passwörtern, eg. ~6 zeichen lang, benutzen.
Eine Brute Force Attacke mit einem Set von 2^32 möglichen Passwörtern ist absolut durchführbar.
Gruß Hagen
PS: Die Zeichencodierung spielt dabei weniger ein Rolle. In meiner Analyse ging ich vom MIME Base 64 Zeichensatz aus.
|