Hur skapas lösenorden?
Kodgeneratorn använder svenska ord för att skapa unika fraser som är lätta att komma ihåg. Fraserna baseras på olika ordklasser. I dagsläget finns det 393 verb, 3249 adjektiv och 401 substantiv, det blir riktigt många* unika lösenord som kan skapas. Om du väljer att skapa ett lösenord med endast ett ord använder jag en tabell som innehåller 119074 unika ord**.
Lösenorden genereras utifrån olika former beroende på hur många ord du väljer att inkludera, detta för att skapa så tydliga men samtidigt ologiska meningar som du lätt kan komma ihåg. Beroende på vad du gör för val inkluderas även siffror, specialtecken och svenska tecken, antingen slumpmässigt placerade eller placerade på platser i meningen som gör det lättare att komma ihåg lösenordet.
När lösenordet är skapat räknas styrkan ut utifrån hur många lösenord som hade kunnat skapas med samma val. Kodgeneratorn utgår från att den som försöker gissa lösenordet vet hur det är skapat och har tillgång till samma ordlistor. Därför räknas varje ord som ett val bland alla ord i listan, inte som en massa slumpmässiga bokstäver. Ett ord är värt ungefär 15–17 bitar beroende på ordlista, en siffra drygt 3 bitar och ett specialtecken knappt 5 bitar. Slumpmässig placering av siffror, specialtecken och versaler ger några bitar till.
Det betyder att ett lösenord med ett enda ord, även med en siffra i slutet, är lättgissat. Med tre ord, en siffra och ett specialtecken blir det runt 37 bitar, alltså över hundra miljarder möjliga lösenord.
Lösenordet körs även genom zxcvbn, en algoritm som hittar vanligt förekommande mönster, t.ex. qwerty och 123, och engelska ord. Det svagaste av de två resultaten är det som visas. Testar du ett eget lösenord känner Kodgeneratorn igen svenska ord ur ordlistorna och räknar dem på samma sätt.
Jag tyckte inte att det räckte där utan jag kollar även mot databasen haveibeenpwned om lösenordet har dykt upp i tidigare läckor. I så fall går det att anta att lösenordet redan finns i de ordböcker som används för att gissa sig till lösenord. Ett läckt lösenord får alltid lägsta betyg.
* Med tre ord blir det 512 019 657 ordkombinationer, innan siffror och specialtecken läggs till.
** Varning för att vissa ord inte är helt PK. Stöter du på ett olämpligt ord som bör tas bort är du välkommen att höra av dig till mig.