Da frase de recuperação à seed de 512 bits
A seed não é um hash simples da frase. O BIP-39 usa PBKDF2 com HMAC-SHA512: a frase normalizada é a “senha”, o texto “mnemonic” (mais a passphrase opcional) é o salt, e o processo repete 2048 vezes.
O resultado são 64 bytes (512 bits). Essa seed é o ponto de partida da hierarquia de chaves, mas não é a entropia original, nem uma chave privada, nem um endereço.
Laboratório educativo. Todo o cálculo roda no seu navegador, nada é enviado nem salvo. Nunca digite aqui sua frase de recuperação, chave privada ou passphrase reais: os exemplos usam apenas vetores de teste públicos.
Exemplo educativo
A frase abaixo é um vetor de teste público do BIP-39. Qualquer pessoa pode derivar suas chaves: nunca a use para guardar fundos.frase / entropiaseedchave privada (segredo)chave pública / endereço (público)
Use só texto de exemplo. Nunca digite uma passphrase real aqui.
Passo 6 de 6: Chave mestra BIP-32
1. Frase + passphrase opcional
abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
(vazia)
2. Normalização NFKD
Acentos e caracteres compostos são decompostos para que o mesmo texto gere sempre os mesmos bytes, em qualquer teclado ou sistema.
abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
3. Parâmetros do PBKDF2
- Senha
- a frase normalizada
- Salt
- “mnemonic”
- Função pseudoaleatória
- HMAC-SHA512
- Iterações
- 2048
- Saída
- 512 bits (64 bytes)
A passphrase entra no salt, depois de “mnemonic”. Ela nunca é colada na frase.
4. As rodadas do PBKDF2
Cada rodada reaplica o HMAC sobre o resultado da anterior; a seed é o XOR de todas as 2048 saídas. Estes são valores reais das duas primeiras:
64 d8 27 9a 38 94 fe d8 d8 84 7f 5c 3c 9a 42 67 8d c8 46 25 3f cd a3 31 57 df 5c 14 8a b9 df 4a…
de 89 a5 70 42 b9 5e 27 23 c3 d4 90 4d 43 2d 31 c0 b0 a7 79 de da d7 dc 42 2f 15 b6 4b 87 b5 0f…
… até U2048. Seed = U1 ⊕ U2 ⊕ … ⊕ U2048
5. Seed de 512 bits
5e b0 0b bd dc f0 69 08 48 89 a8 ab 91 55 56 81 65 f5 c4 53 cc b8 5e 70 81 1a ae d6 f6 da 5f c1 9a 5a c4 0b 38 9c d3 70 d0 86 20 6d ec 8a a6 c4 3d ae a6 69 0f 20 ad 3d 8d 48 b2 d2 ce 9e 38 e4
A seed não é a entropia, nem a frase, nem uma chave privada, nem um endereço.
6. Chave mestra BIP-32
73c5da0a
xpub661MyMwAqRbcFkPHucMnrGNzDwb6teAX1RbKQmqtEF8kK3Z7LZ59qafCjB9eCRLiTVG3uxBxgKvRgbubRhqSKXnGGb1aoaqLrpMBDrVxga8
A chave privada estendida (xprv) fica oculta por padrão: é segredo mesmo num exemplo, para criar o hábito certo.
Teste o que aprendeu
Experimente
- Avance pelo pipeline e leia os parâmetros reais de cada etapa.
- Compare U1 e U2: são as duas primeiras de 2048 rodadas do PBKDF2.
- Digite uma passphrase de exemplo e veja a seed mudar por completo.
Detalhes técnicos
- Senha: a frase em NFKD UTF-8. Salt: “mnemonic” + passphrase em NFKD. PRF: HMAC-SHA512. Iterações: 2048. Saída: 64 bytes.
- U1 = HMAC(senha, salt ‖ INT₃₂(1)); Uᵢ = HMAC(senha, Uᵢ₋₁); seed = U1 ⊕ U2 ⊕ … ⊕ U2048.
- A passphrase entra no salt, nunca é concatenada à frase.
- As 2048 rodadas encarecem tentativas de força bruta sobre frases fracas, mas não substituem entropia alta.
Termos desta lição
- Seed PhraseA seed phrase (frase semente ou frase de recuperação) é um conjunto de palavras — geralmente 12 ou 24 — que funciona como a chave mestra de uma carteira de crip
- SHA-256SHA-256 é uma função hash criptográfica que pega qualquer quantidade de dados — de uma palavra a um arquivo inteiro — e a transforma em um valor de tamanho fixo
- HashingHashing é o processo de comprimir dados — de qualquer tamanho — em um valor de tamanho fixo, chamado de hash. Esse processo é feito por uma função matemática qu
- BIP-39O BIP-39 é o padrão que define como uma carteira transforma um número aleatório (entropia) em uma frase de recuperação de 12 a 24 palavras, e como essa frase vi
Contas feitas com bibliotecas auditadas (@scure/bip39, @scure/bip32, @noble/curves, @noble/hashes) e conferidas contra os vetores de teste oficiais dos BIP-32, BIP-39 e BIP-84. Conteúdo educativo, não é um gerador nem um serviço de recuperação de carteiras.