Ferramenta gratuita

Frase semente: gerador e verificação

Uma frase semente segundo o padrão BIP-39 são 12 ou 24 palavras de uma lista de 2048, nas quais estão codificados uma chave aleatória e uma soma de verificação. A última palavra não é livre: ela confere todas as anteriores, por isso uma frase com erro de digitação não passa na verificação.

Gere uma frase nova ou cole a sua, e nós conferimos a soma de verificação.

Importante, leia antes de clicar Uma frase criada em uma página da internet não deve ser usada com dinheiro de verdade. Esta página não envia nada para lugar nenhum, mas ao lado dela funcionam extensões do navegador, a sincronização da área de transferência e olhos alheios por trás de você. Para uma carteira de verdade, use uma carteira de hardware ou gere a frase em um aparelho sem rede. Aqui é para aprender, testar em redes de teste e conferir uma frase que você já tem.

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.

Perguntas frequentes

guest@404vpn:~$ cat seed-faq.md
[01] $ Por que a última palavra não pode ser escolhida livremente? ▸
> Porque nela está a soma de verificação. As palavras codificam bits aleatórios, e no final são acrescentados alguns bits do SHA-256 dessa mesma aleatoriedade. Se você trocar qualquer palavra, a soma deixa de bater, e é assim que a carteira percebe que você errou na digitação.
[02] $ 12 ou 24 palavras, faz diferença? ▸
> Doze palavras são 128 bits de aleatoriedade, vinte e quatro são 256. Nenhuma das duas dá para tentar por força bruta: 128 bits já estão fora do alcance de qualquer tecnologia. Vinte e quatro são usadas quando importa uma margem para o futuro ou exigências de normas, mas na prática o risco não está no tamanho da frase, e sim em onde ela fica anotada.
[03] $ A frase vai para o servidor de vocês? ▸
> Não. A geração e a verificação acontecem inteiramente no navegador: nem as palavras nem os bits aleatórios saem da página. A única requisição que ela faz é o contador de visitas anônimo, o mesmo de todas as nossas páginas: nele só há o endereço da página e mais nada. Desligue a internet e a ferramenta continua funcionando, e é exatamente assim que você deve fazer com uma carteira de verdade.
[04] $ O que é a 25ª palavra, ou passphrase? ▸
> Uma senha extra que se soma à frase e gera um conjunto completamente diferente de carteiras. Ela não fica salva em lugar nenhum e não tem como recuperar: se você esquecer, perde o acesso mesmo sabendo as 24 palavras. Aqui não mexemos nisso, é outra história.
[05] $ A ferramenta mostra o endereço da carteira? ▸
> Não, e é de propósito. Derivar endereços exige mais uma camada de cálculo e cria a tentação de testar uma frase de verdade na página. Aqui só existem a frase em si e a sua soma de verificação.