Menschen sind schlecht darin, sich gute lange Passwörter zu merken. Computer sind dafür prädestiniert, schlechte (weil kurze) Passwörter zu knacken. Randall Munroe hat das in einem recht bekannten XKCD Comic dargestellt.
Mit xkcdpass
(Link) gibt es ein Python-Modul zur Erstellung von Passwörtern nach dem „xkcd-Schema“, das sich mittels pip install xkcdpass
einfach installieren lässt.
Startet man xkcdpass ohne weitere Parameter, so spuckt es einfach eine Reihe englischer Wörter aus:
C:\Users\Uwe>xkcdpass
tackle tonsorial satisfied gecko fission decor
Um xkcdpass
die Ausgabe deutscher Passwörter beizubringen, geht man wie folgt vor.
1) Mittels --help
Parameter kommt man an die Liste aller Optionen, hier ist besonders -w
für die Angabe der Wortdatei spannend.
C:\Users\Uwe>xkcdpass --help
usage: xkcdpass [-h] [-w WORDFILE] [--min MIN_LENGTH] [--max MAX_LENGTH]
[-n NUM_WORDS] [-i] [-v VALID_CHARS] [-V] [-a ACROSTIC]
[-c COUNT] [-d DELIM] [--allow-weak-rng]
optional arguments:
-h, --help show this help message and exit
-w WORDFILE, --wordfile WORDFILE
Specify that the file WORDFILE contains the list of
valid words from which to generate passphrases.
--min MIN_LENGTH Generate passphrases containing at least MIN_LENGTH
words.
--max MAX_LENGTH Generate passphrases containing at most MAX_LENGTH
words.
-n NUM_WORDS, --numwords NUM_WORDS
Generate passphrases containing exactly NUM_WORDS
words.
-i, --interactive Generate and output a passphrase, query the user to
accept it, and loop until one is accepted.
-v VALID_CHARS, --valid-chars VALID_CHARS
Limit passphrases to only include words matching the
regex pattern VALID_CHARS (e.g. '[a-z]').
-V, --verbose Report various metrics for given options.
-a ACROSTIC, --acrostic ACROSTIC
Generate passphrases with an acrostic matching
ACROSTIC.
-c COUNT, --count COUNT
Generate COUNT passphrases.
-d DELIM, --delimiter DELIM
Separate words within a passphrase with DELIM.
--allow-weak-rng Allow fallback to weak RNG if the system does not
support cryptographically secure RNG. Only use this if
you know what you are doing.
2) Man besorgt sich eine Datei mit dem deutschen Wortschatz, per Google bin ich auf die folgende Seite der Uni Leipzig gestoßen: http://wortschatz.uni-leipzig.de/html/wliste.html. Hier gibt es Listen für die häufigsten 100, 1000 und 10’000 Wörter der deutschen Sprache (sowie auch für französisch, englisch und niederländisch). Die Liste mit den 10’000 häufigsten Wörtern speichern wir ab.
Ein Hinweis noch zur sprachlichen Einschätzung der 10000 Wörter: Der Duden geht davon aus, dass ein durchschnittlicher Deutsch-Sprecher zwischen 12’000 und 16’000 Wörter spricht, aber rund 50’000 deutsche Worte versteht.
3) Mit der Wortschatzdatei auf der Festplatte können wir jetzt einfach wieder xkcdpass aufrufen und nutzen gleich noch -c 10
für die Erzeugung von 10 Zeilen mit jeweils sechs Passwörtern:
C:\Users\Uwe>xkcdpass -c 10 -w e:\top10000de.txt
Munition Alexander Bernhard Wissen Erstmals geraumer
wissen genießt wenigen Verlierer wunderbar Teufel
Wiesen Hartmut länger römische älter Stimme
irgendwie Monitor operative läuft Vertrieb Optionen
Stahl Brust Polizei Hoffnung Verlauf runden
Ärzte Mafia Dieter Pakistan Systems Areal
trieb hinweg Kanzlers unterlag zweimal zuviel
vollzogen Sparen zwölf verlieren Dutzende Länge
Infotyp beliebten gewisser Malerei gefunden Blätter
Peking äußerten fährt Einblick Interesse schwach
Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined.
Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.
More Posts - Website