Das ist nicht ganz korrekt. Der Server gibt keine Erfolgsmeldung zurück, wenn ein Zeichen des ganzen enthalten ist. Das wiederspräche dem Grundgedanken eines Passworts.
Er gibt nur eine Erfolgsmeldung zurück, wenn das gesammte Paswort stimmt.
Auch, dass solche Programme immer so ablaufen, wie du sagtest, ist nicht richtig, weil (wie ich auch schon erwähnte) es verschiedene Algorythmi gibt. Das Programm könnte beispielsweise auch inverse laufen.
Und eine allgemeine Aussage über die Dauer, kann man nicht machen, wie ich schon erwähnte.
Machen wir ein kleines Gedankenexperiement.
Es sei das Programm gegeben, das einen Algorythmus nach deinem Muster aufweist.
Es sei auch gegeben, das das Passwort aus groß und klein geschriebenen Buchstaben bestehen kann.
Weiter sei gegeben, dass es Zahlen enthalten kann. Nun sei auch gegeben, dass es das Freizeichen enthalten kann.
Schließlich sei noch die Verbindung zum Server so eingestellt, dass es 0,05 Sekunden für eine Antwort braucht.
Nun müssen wir uns ausrechnen, wie lange das Programm laufen würde, wenn weiter keine Einflüsse vorhanden sind.
Wie viele Buchstaben haben wir?
Also:
a bis z sind 26
ä, ö, ü sind 3
das ß ist 1
Das ergibt: 26 + 3 + 1
Da wir aber zwischen großen und kleinen Buchstaben unterscheiden, kommen alle bisherigen Buchstaben, außer das "ß", 2 mal vor. Also:
2 * (26+3) + 1
Also insgesammt 59 verschiedene Zeichen.
Jetzt kommt noch das Freizeichen dazu, was genau ein Zeichen mehr bedeutet.
59 + 1 = 60
Jetzt fehlen uns noch Zahlen. Jede Zahl entspricht ein Zeichen.
0 bis 9 sind insgesammt 10 Zeichen, die wir zu unseren schon vorhandenen Zeichen addieren müssen.
60 + 10 = 70
Ok jetzt haben wir schon 70 verschiedene Zeichen. Das muss mit unserem Algorythmus also geprüft werden.
Wir beschränken uns jetzt mal darauf, dass das Passwort eine Länge von höchstens 5 Zeichen hat. Also können wir schonmal errechnen, wieviele Möglichkeiten es gibt, bei der (geringen) Anzahl verschiedener Zeichen.
70 ^ 5 = 1680700000
Es gibt also 1680700000 (zehnstellige Zahl) Möglichkeiten, die alle vom Programm geprüft werden müssen (Ausnahme ist, wenn die Prüfung vorher eine Erfolgsmeldung geliefert hat).
Nun berechnen wir noch, wie lange das Überprüfen dauern würde.
Wir beachten mal nicht die Leistung und Geschwindigkeit des Programms in Abhängigkeit zu der benötigten Hardware.
Da eine Antwort vom Server ja 0,05 Sekunden dauert, berechnen wir die Gesammtzeit, indem wir die Antwortdauer mit den Möglichkeiten multiplizieren.
1680700000 * 0,05 s = 84035000 s
In Jahren ausgedrückt ergäbe das dann rund 2,7 Jahre. Und das nur bei einem Passwort mit der Länge von 5 Zeichen.
Je mehr Zeichen ein Passwort hat, desto exponentiell länger dauert das. Zudem muss noch mitberechnet werden, wie lange das Programm selbst braucht, um die Daten zu verarbeiten. Die 2,7 Jahre muss auch der PC durch laufen, der Strom muss vorhanden sein und das Internet müssen durchgängig laufen. Selbst der Server, auf dem das Passwort gespeichert ist, muss so lange durchlaufen.
Und last but not least, darf sich das Passwort nicht ändern.
Abgesehen davon, dass soviele Zugriffe auf den Server sicherlich auffallen werden, kann der Server nach 3 Fehlschlägen schon dichtmachen oder einfach den Account für mehrere Sekunden sperren. Insgesammt eröhen solche "Zwischenfälle" nämlich die Zeit. Da können aus2,7 Jahren schnell mal 5 Jahre werden.
Die Aussage, dass das nen paar Monate dauern würde, ist also nicht bewiesen.
Übrigens kannst du während des Wartens auf eine Erfolgsmeldung vom Server schonmal deine Sachen für den Knast packen, weil es nämlich egal ist, ob das dein eigener Account ist, oder nicht.
Zuletzt bearbeitet von ronsn am 06.09.2007, 19:13, insgesamt 3-mal bearbeitet
|