Generatore di passphrase Diceware: passphrase di parole casuali
Genera passphrase forti e memorabili costruite da parole reali casuali utilizzando il metodo Diceware: vera casualità crittografica, con l'entropia effettiva in bit mostrata onestamente.
Risultato
Questo strumento genera passphrase alla maniera di Diceware: invece di una fitta stringa di caratteri casuali che è difficile da digitare e ancora più difficile da ricordare, mette insieme diverse parole ordinarie scelte in modo indipendente in modo casuale. Una passphrase come "foresta-cometa-lanterna-chitarra-oasi-cardo" porta con sé un'entropia reale e calcolabile pur essendo qualcosa che un essere umano può leggere ad alta voce, digitare sulla tastiera di un telefono o memorizzare dopo alcuni tentativi - che è esattamente il compromesso attorno al quale è stata progettata la generazione in stile Diceware.
La casualità è il punto centrale, quindi qui viene presa sul serio: ogni parola viene scelta utilizzando il generatore di numeri casuali crittograficamente sicuro crypto.getRandomValues() del browser, con un adeguato campionamento del rifiuto ad ogni estrazione. Un valore casuale grezzo a 32 bit viene accettato solo se rientra in un intervallo equamente divisibile per la lunghezza della lista di parole; i valori nel resto rimanente e irregolare vengono scartati e rilanciati. Saltare questo passaggio e fare semplicemente value % wordlistLength favorirebbe leggermente le parole con un indice basso rispetto a quelle con un indice alto: un sottile pregiudizio statistico che un'implementazione ingenua introdurrebbe silenziosamente. Questo generatore non prende mai quella scorciatoia.
L’onestà riguardo all’entropia è l’altra metà del progetto. L'elenco di parole in bundle contiene 1.821 parole inglesi quotidiane uniche e inequivocabili: un elenco ampio e rappresentativo, ma non l'elenco specifico di 7.776 parole utilizzato dal classico progetto Diceware, quindi questo strumento non rivendica mai la famosa cifra di 12,9 bit per parola che si applica solo a quell'elenco esatto. Invece, l'entropia per parola viene calcolata in tempo reale come log2 (lunghezza dell'elenco), che qui risulta a circa 10,8 bit per parola, e il risultato sullo schermo mostra sempre la formula completa (conteggio delle parole per bit per parola, più il contributo onesto di eventuali extra) in modo da poter vedere esattamente come è stato raggiunto il totale invece di fidarsi di un numero di marketing.
Le levette opzionali sono trattate con la stessa onestà. Mettere in maiuscolo ogni parola è una regola fissa e deterministica applicata ogni volta allo stesso modo, quindi non aggiunge alcuna reale entropia: un utente malintenzionato che conosce la regola non guadagna nulla dal non sapere quali lettere sono in maiuscolo, e lo strumento lo dice chiaramente. Aggiungere un numero casuale a due cifre, al contrario, è un'autentica estrazione casuale extra su 100 valori ugualmente probabili, aggiungendo circa 6,6 bit reali e dichiarati sopra le parole. Tutto viene calcolato ed eseguito localmente nel tuo browser senza il coinvolgimento di alcun server, quindi la passphrase che generi non viene mai vista da nessuno tranne te.