officinebitcoin.it

This project is maintained by valerio-vaccaro

Mnemoniche & Dadi: impara a creare la tua mnemonica

Introduzione

Creare la mnemonica sfruttando una propria fonte di entropia è ridurre la superficie di attacco di un wallet Bitcoin tuttavia occorre tenere conti di alcuni fattori:

Creazione delle parole

Il primo step è il calcolo delle 12 o 24 parole della mnemonica, 12 parole sono normalmente più che sufficienti per la sicurezza di un wallet Bitcoin.

Per la generazione delle parole si può usare il metodo descritto in TRGM facente uso di 3 dadi di cui 1 a 8 facce e 2 a 16 facce. Ad OGNI lancio dei dadi corrisponde UNA ED UNA SOLA parola, per trovarla basta scorrere la tabella del sito cercando la corrispondenza dei dadi con il lancio effettuato (il primo dado è SEMPRE quello da 8 facce). La colonna word contiene la parola cercata.

Il consiglio è di generare tutte le 12 o 24 parole ed eventualmente di correggere l’ultima o comunque di usare i dadi per generare l’entropia relativa all’ultima parola.

Calcolo del checksum

L’ultima parola non è completamente decisa da noi ma contiene una parte di controllo ovvero non possiamo scegliere pienamente tutti gli 11 bit di entropia che la compongono, potremo invece scegliere i primi 7 nel caso di mnemonica di 12 parole o i primi 3 nel caso di mnemonica a 24.

Mettiamo che la nostra ultima parola sia BACON corrispondente ai lanci 1, 9 e 11 (ricordiamo che il primo dado è SEMPRE quello da 8 facce), la tabella ci riporta anche Group 12 e Group 24 che ci permettono di raggruppare le parole considerando solo l’entropia dei primi due lanci (group 12) o solo primo lancio (group 24).

Ipotizziamo di voler costruire una mnemonica a 12 parole, ciò vuol dire che il checksum sarà una parola tra le 16 possibili avente come gruppo 12 lo stesso di bacon ovvero 0001000, le parole possibili sono:

First Second Third Index Word Index in binary Group 12 Group 24
1 9 1 128 avoid 00010000000 0001000 000
1 9 2 129 awake 00010000001 0001000 000
1 9 3 130 aware 00010000010 0001000 000
1 9 4 131 away 00010000011 0001000 000
1 9 5 132 awesome 00010000100 0001000 000
1 9 6 133 awful 00010000101 0001000 000
1 9 7 134 awkward 00010000110 0001000 000
1 9 8 135 axis 00010000111 0001000 000
1 9 9 136 baby 00010001000 0001000 000
1 9 10 137 bachelor 00010001001 0001000 000
1 9 11 138 bacon 00010001010 0001000 000
1 9 12 139 badge 00010001011 0001000 000
1 9 13 140 bag 00010001100 0001000 000
1 9 14 141 balance 00010001101 0001000 000
1 9 15 142 balcony 00010001110 0001000 000
1 9 16 143 ball 00010001111 0001000 000

Come trovare tra le varie parole l’unica corretta? Dipende dal tuo setup, vediamo alcuni esempi:

Backup (argomento di un’altra lezione)

Fondamentale avere una buona politica di backup quindi:

Bibliografia

Ripetizioni

Questa lezione è ripetitiva e verrà ripetuta ogni mese. Di seguito un elenco delle ripetizioni già effettuate.

Data Note
240102-2100 Prima lezione