Como funciona
1. AleatoriedadeO navegador retira 128 a 256 bits da fonte de números aleatórios do sistema, a mesma usada para chaves de criptografia. Um gerador de números aleatórios comum não serve aqui: ele é previsível.
2. Soma de verificaçãoA partir desses bits é calculado o SHA-256, e os primeiros bits do resultado são acrescentados no final: um bit para cada 32 bits de aleatoriedade. Para 12 palavras são 4 bits, para 24, oito.
3. PalavrasA cadeia resultante é cortada em pedaços de 11 bits. Cada pedaço é um número de 0 a 2047, ou seja, o índice de uma palavra na lista padrão. Daí vem tanto o tamanho da lista quanto o fato de a quantidade de palavras ser sempre múltipla de três.
4. VerificaçãoO caminho inverso: as palavras viram índices, os índices viram bits, o SHA-256 é recalculado do início e comparado com o final. Se não bater, há um erro de digitação em algum lugar, ou uma palavra fora de ordem.