Generator haseł Diceware – hasła z losowych słów
Generuj silne, łatwe do zapamiętania hasła zbudowane z losowych, prawdziwych słów metodą Diceware – prawdziwa kryptograficzna losowość, z uczciwie pokazaną rzeczywistą entropią w bitach.
🔒 Przetwarzane w całości w Twojej przeglądarce — nic, co tu wpiszesz, nie zostanie nigdy przesłane.
Wynik
To narzędzie generuje hasła metodą Diceware: zamiast gęstego ciągu przypadkowych znaków, który trudno wpisać i jeszcze trudniej zapamiętać, łączy ono kilka zwykłych, niezależnie i losowo wybranych słów. Hasło takie jak „forest-comet-lantern-guitar-oasis-thistle” ma rzeczywistą, obliczalną entropię, a jednocześnie jest czymś, co człowiek może odczytać na głos, wpisać na klawiaturze telefonu lub zapamiętać po kilku próbach – a to właśnie kompromis, dla którego zaprojektowano generację w stylu Diceware.
Sednem jest losowość, dlatego traktujemy ją poważnie: każde słowo jest wybierane za pomocą kryptograficznie bezpiecznego generatora liczb losowych przeglądarki crypto.getRandomValues(), z poprawnym próbkowaniem z odrzucaniem przy każdym losowaniu. Surowa 32-bitowa losowa wartość jest akceptowana tylko wtedy, gdy mieści się w zakresie równomiernie podzielnym przez długość listy słów; wartości z nadmiarowego, nierównego reszty są odrzucane i losowane ponownie. Pominięcie tego kroku i użycie po prostu wartości % długośćListySłów faworyzowałoby nieznacznie słowa o niskich indeksach w stosunku do tych o wysokich – subtelne statystyczne obciążenie, które naiwna implementacja wprowadziłaby po cichu. Ten generator nigdy nie idzie na takie skróty.
Uczciwość wobec entropii to druga połowa projektu. Wbudowana lista słów zawiera 1821 unikalnych, jednoznacznych, codziennych angielskich słów – dużą, reprezentatywną listę, ale nie konkretną listę 7776 słów używaną w klasycznym projekcie Diceware, więc to narzędzie nigdy nie deklaruje słynnej wartości 12,9 bita na słowo, która dotyczy wyłącznie tej jednej listy. Zamiast tego entropia na słowo obliczana jest na bieżąco jako log2(długość listy), co daje tutaj około 10,8 bita na słowo, a wynik na ekranie zawsze pokazuje pełny wzór – liczba słów razy bity na słowo plus uczciwy wkład wszelkich dodatków – dzięki czemu możesz dokładnie zobaczyć, jak uzyskano sumę, zamiast ufać marketingowej liczbie.
Opcjonalne przełączniki traktowane są z tą samą uczciwością. Rozpoczynanie każdego słowa wielką literą to stała, deterministyczna reguła stosowana zawsze tak samo, więc nie dodaje rzeczywistej entropii – atakujący, który zna tę regułę, nie zyskuje niczego na niewiedzy o wielkości liter, a narzędzie mówi o tym wprost. Dodanie losowej dwucyfrowej liczby to natomiast dodatkowe, prawdziwe losowanie spośród 100 jednakowo prawdopodobnych wartości, dodające rzeczywiste i podane ~6,6 bita do puli słów. Wszystko jest przetwarzane lokalnie w przeglądarce, bez udziału serwera, więc wygenerowane hasło nie jest widoczne dla nikogo poza Tobą.