Diceware Passphrase Generator — Náhodná slovní hesla
Vytvářejte silné, zapamatovatelné přístupové fráze sestavené z náhodných skutečných slov pomocí metody Diceware – skutečná kryptografická náhodnost se skutečnou entropií v bitech zobrazenou upřímně.
Výsledek
Tento nástroj generuje přístupové fráze způsobem Diceware: namísto hustého řetězce náhodných znaků, které se obtížně zadávají a ještě hůře si pamatují, spojuje dohromady několik běžných slov vybraných nezávisle a náhodně. Přístupová fráze jako „lesní kometa-lucerna-kytara-oáza-bodlák“ nese skutečnou, vypočítatelnou entropii a přitom je stále něčím, co může lidská bytost číst nahlas, psát na klávesnici telefonu nebo si ji zapamatovat po několika pokusech – což je přesně ta kompromisní generace ve stylu Diceware, pro kterou byla navržena.
Naprostým smyslem je náhodnost, takže se zde bere vážně: každé slovo je vybráno pomocí kryptograficky zabezpečeného generátoru náhodných čísel prohlížeče crypto.getRandomValues() s řádným vzorkováním odmítnutí při každém losování. Nezpracovaná 32bitová náhodná hodnota je přijata pouze tehdy, pokud spadá do rozsahu rovnoměrně dělitelného délkou seznamu slov; hodnoty ve zbytcích, nerovnoměrný zbytek se zahodí a přetočí. Přeskočení tohoto kroku a pouhé provedení hodnoty % wordlistLength by velmi mírně upřednostnilo slova s nízkým indexem před těmi s vysokým indexem – jemné statistické zkreslení, které by naivní implementace v tichosti zavedla. Tento generátor nikdy nevyužívá tuto zkratku.
Poctivost ohledně entropie je druhá polovina návrhu. Přiložený seznam slov obsahuje 1 821 jedinečných, jednoznačných, každodenních anglických slov – velký, reprezentativní seznam, ale ne konkrétní seznam 7 776 slov používaný klasickým projektem Diceware, takže tento nástroj nikdy netvrdí slavnou hodnotu 12,9 bitů na slovo, která platí pouze pro tento přesný seznam. Místo toho se entropie na slovo počítá v reálném čase jako log2 (délka seznamu), což zde vychází zhruba na 10,8 bitů na slovo, a výsledek na obrazovce vždy zobrazuje celý vzorec – počet slov krát bity na slovo plus poctivý příspěvek všech extra – takže můžete přesně vidět, jak bylo dosaženo součtu, spíše než věřit marketingovému číslu.
S volitelnými přepínači se zachází se stejnou poctivostí. Kapitalizace každého slova je pevné, deterministické pravidlo aplikované pokaždé stejným způsobem, takže nepřidává vůbec žádnou skutečnou entropii – útočník, který pravidlo zná, nezíská nic z toho, že neví, která písmena jsou velká, a nástroj to říká jasně. Naproti tomu připojení náhodného dvouciferného čísla je skutečným extra náhodným losováním přes 100 stejně pravděpodobných hodnot, přičemž se ke slovům přidá skutečných a uvedených ~6,6 bitů. Vše se počítá a vykresluje lokálně ve vašem prohlížeči bez zapojení serveru, takže vygenerovanou přístupovou frázi nikdo kromě vás neuvidí.