Generátor přístupových frází Diceware — náhodná slova
Generujte silné, zapamatovatelné přístupové fráze složené z náhodných skutečných slov metodou Diceware — s opravdovou kryptografickou náhodností a poctivě uváděnou entropií v bitech.
🔒 Zpracováno výhradně ve vašem prohlížeči – nic, co zde zadáte, se nikdy nenahraje.
Výsledek
Tento nástroj generuje přístupové fráze metodou Diceware: místo hustého řetězce náhodných znaků, který se špatně píše a ještě hůř pamatuje, řadí za sebe několik běžných slov vybraných nezávisle a náhodně. Fráze jako „forest-comet-lantern-guitar-oasis-thistle“ má skutečnou, spočitatelnou entropii, a přitom ji člověk dokáže přečíst nahlas, napsat na klávesnici mobilu nebo si ji po pár pokusech zapamatovat — přesně ten kompromis, pro který generování ve stylu Diceware vzniklo.
Náhodnost je tady to hlavní, takže ji bereme vážně: každé slovo se vybírá pomocí kryptograficky bezpečného generátoru náhodných čísel crypto.getRandomValues(), který je součástí prohlížeče, a při každém tahu se používá správné odmítací vzorkování. Nezpracovaná 32bitová náhodná hodnota se přijme jen tehdy, když spadá do intervalu dělitelného délkou seznamu slov; hodnoty ve zbylém, nerovnoměrném zbytku se zahazují a losuje se znovu. Kdybychom tento krok vynechali a prostě použili hodnota % délka_seznamu, mírným způsobem by to zvýhodňovalo slova s nižšími indexy oproti těm s vyššími — jemná statistická odchylka, kterou by naivní implementace v tichosti zavedla. Tento generátor si takovou zkratku nikdy nebere.
Druhou polovinou návrhu je poctivost ohledně entropie. Vestavěný seznam slov obsahuje 1 821 jedinečných, jednoznačných, běžných anglických slov — je to velký a reprezentativní seznam, ale ne konkrétní seznam 7 776 slov, který používá klasický projekt Diceware, a proto tento nástroj nikdy neuvádí známý údaj 12,9 bitů na slovo, který platí jen pro ten přesný seznam. Místo toho se entropie na slovo vypočítává za běhu jako log2(délka seznamu), což zde vychází zhruba na 10,8 bitů na slovo, a výsledek na obrazovce vždy ukazuje celý vzorec — počet slov krát bity na slovo plus poctivý příspěvek všech doplňků — takže přesně vidíte, jak se k celkovému číslu došlo, a nemusíte věřit marketingovému číslu.
Se stejnou poctivostí pracují i volitelné přepínače. Psaní každého slova velkými písmeny je pevné, deterministické pravidlo, které se uplatňuje pokaždé stejně, takže nepřidává vůbec žádnou reálnou entropii — útočník, který pravidlo zná, nezíská nic z toho, že neví, která písmena jsou velká, a nástroj to říká otevřeně. Připojení náhodného dvojciferného čísla je naopak opravdový dodatečný náhodný výběr ze 100 stejně pravděpodobných hodnot, který nad rámec slov přidává skutečných a uváděných zhruba 6,6 bitů. Vše se počítá a vykresluje lokálně ve vašem prohlížeči bez účasti serveru, takže vygenerovanou frázi nikdo kromě vás nikdy neuvidí.