@SIR_Thomas_TMC
Ich habe mir nicht die Mühe einer allgemeinen Relation gemacht, aber die Zahlen in meinen Beispielen sind alle überschlagsmäßig durchgerechnet. Grundsätzlich spielen vier Parameter mit:
- Eine Vergrößerung des Zeichensatzes hebt den Wert jeder bestehenden Stelle an.
- Eine Vergrößerung der Anzahl von Stellen hebt den Wert jedes Zeichens im bestehenden Satz an.
- In der Praxis ist die genutzte Länge von Passwörtern meist begrenzt.
- Gängige Vergrößerungen des Zeichensatzes arbeiten in großen Blöcken.
Die ersten beiden Parameter sind spiegelbildlich und verlangen nach einer Balance zwischen beiden Größen – ein sehr kurzes Passwort mit bereits großem Zeichensatz zu verlängern bringt viel mehr, als den Zeichensatz noch weiter zu steigern; ein bereits langes Passwort auf mehr Zeichen zu stellen ist effektiver als noch ein paar weitere Stellen anzuhängen. Punkt 3 und 4 geben dabei den Ausschlag: Das Basis-Alphabet hat 26 Zeichen, mit deutschen Umlauten und SZ (sofern akzeptiert) sind wir bei 30. Die Ziffern dazu und man ist bei 40. Auch Großbuchstaben sind noch einmal 26-29 dazu (mit großem SZ wären es in der Summe 70). Im QWERTZ-Layout gibt es, inklusive der 3 Accents, weitere 37 direkt erreichbare Sonderzeichen on top. Ergibt also beim Maximalausbau* 107 statt 26 Zeichen. Um die gleiche Komplexitätssteigerung durch zusätzliche Stellen zu erreichen, müsste man ein nur-Buchstaben Passwort um Faktor log26(107) = 1,64 verlängern – was zum Beispiel von 12 auf 20 gegebenenfalls gar nicht möglich ist, weil so viele Zeichen nicht mehr ausgewertet werden.
Meine eigentliche Kernaussage ist aber, dass solche Rechnungen nur für Zufallspasswörter gelten. Sobald das Passwort systematisch aufgebaut wird, zum Beispiel aus Wörtern, sinkt seine Mächtigkeit dagegen extrem ab. "CorrectHorseBattery" hat 19 Stellen und selbst wenn man nur einfache Buchstaben ohne Groß-/Kleinschreibung nutzt, sind damit 766467265200361890474622976 Kombinationen möglich. Oder in Worten: Knapp Achthundert
quadrilliarden. Es ist aber eben nicht zufällig, sondern eine Aneinanderreihung von drei Wörtern, die im Schnitt zu den Top-1.500 gehören (das nicht bezifferbare "Staple" lass ich im Beispiel mal weg). Statt 26^19 liegt die Komplexität daher nur bei 1.500^3 oder näherungsweise 3000000000 aka Drei
milliarden. Diese Komplexität könnte man auch mit 107^4,1 erreichen. "CorrectHorseBattery" ist also gerade einmal so "komplex", wie ein vier Stellen kurzes Zufallskennwort, dass die gesamte QWERTZ-Tastatur nutzt, obwohl man knapp fünf mal so viel eintippt. Vorsicht also mit solchen
EselsPferdebrücken.
*: Wer richtig fies zu Angreifern sein will, merkt schmeißt noch ASCII-Codes rein. Als Redakteur hat man zum Beispiel "×", "–" oder " " (geschütztes Leerzeichen) im Blut, "Å" wird künftig wohl auch wichtiger werden. Muss der Angreifer den kompletten Satz berücksichtigen, weil sowas mit drin ist, hat man ein Basis von gut über 200 Symbolen (theoretisch 255, aber die Steuerungsbefehle in ASCII taugen wohl eher nicht). Lässt sich dann aber nur noch mit Betriebssystem abhängigen Kombinationen eingeben, die unter Windows zudem allesamt einen Numblock erfordern.^^