Hallo,
ich habe eine vermutlich ziemlich dumme Frage.
ein wenig seltsam vielleicht, aber dumm finde ich die Frage keineswegs.
Die Wahrscheinlichkeit, dass ein _vollkommen_ unintelligenter Algorithmus ein Passwort knacken (=Passwort erraten) kann, ist abhängig von zwei Faktoren:
a) der Länge des Passworts
b) der Anzahl der Zeichen des genutzen Alphabets (=Liste der erlaubten Zeichen)
Die Liste der erlaubten Zeichen spielt nur dann eine Rolle, wenn sie bekannt ist und man den "unintelligenten" Algorithmus entsprechend einschränken kann.
die Verteilung der Zeichen innerhalb des Passworts ist bei solch einem Algorithmus egal.
ob ein Passwort nun "aaa" heisst, oder "abc" bei einem gegebenen bzw. erlaubten Alphabet (a,b,c) ist rein von der Wahrscheinlichkeit her egal. Wie gesagt, ich rede von unintelligenten Algorithmen, die bar jedweder Logik oder Spielereien wie Regenbogentabellen sind etc.
Ja. Die Zahl der Möglichkeiten ergibt sich aus der Zahl der erlaubten Zeichen, potenziert mit der Länge des Passworts. Da man auch die tatsächliche Länge nicht kennt, muss man diese Potenzen noch bis zu einer angenommenen Maximallänge aufsummieren.
Nimmt man als sehr einfaches Beispiel ein "Passwort", das nur aus maximal vier Ziffern (0..9) bestehen darf, dann ergeben sich daraus
10⁴ + 10³ + 10² + 10¹ + 10⁰ = 11111
Möglichkeiten. Die letzte, die sich aus dem Term 10⁰=1 ergibt, entspricht dem leeren Passwort, das man aber vermutlich ausschließen kann. Ansonsten ist jede der verbleibenden 11110 Möglichkeiten statistisch gesehen gleich wahrscheinlich, aber wenn man Nutzer-Intelligenz mit einbezieht, wird die Wahrscheinlichkeit wohl mit der Stellenzahl stark abnehmen.
Daraus ergibt sich zum Beispiel, dass ein Passwort, welches als erlaubte Zeichen nur Zeichen des Ascii-Zeichensatzes zulässt, per se unsicherer ist, als ein Passwort, welches den Unicode-Zeichensatz zulässt. Ganz einfach aus dem Grund, dass ein potentieller Angreifer, (der im Idealfall Kenntnis von dem zugrundeliegenden Alphabet hat), sehr viel mehr Möglichkeiten durchgehen muss.
Nur wenn die Menge der erlaubten Zeichen bekannt ist. Falls nicht, muss man als Hacker dennoch davon ausgehen, dass alle denkbaren Zeichen erlaubt sind - wobei man das sicher auf die 256 möglichen Werte eines Bytes begrenzen kann, denn auch Unicode-Strings bestehen aus einzelnen Bytes, auch wenn diese Bytes für rund eine Million verschiedener Zeichen stehen können.
Beim Brute-Force-Angriff kann ich nicht zwischen einem falschen und einem nicht erlaubten Passwort unterscheiden, das System wird mir vermutlich in beiden Fällen signalisieren: Login failed.
wenn ich als Hacker ein Passwort "knacken" wollte, von welchem Alphabet würde ich ausgehen?
Von einem String aus Bytes mit den Werten 0x00..0xFF.
Ciao,
Martin
Kleine Geschenke erhalten die Freundschaft.
Große verderben sie aber meist auch nicht.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(