NeonCripto
Por dentro da carteira · 5 de 11

Curvas elípticas: como a chave pública nasce da privada

O Bitcoin usa a curva secp256k1, definida por y² = x³ + 7 sobre um corpo finito enorme. Uma chave privada é um número d; a chave pública é o ponto Q = d × G, em que G é um ponto fixo da curva.

Calcular Q a partir de d é rápido. Fazer o caminho inverso, achar d a partir de Q, é inviável com os métodos clássicos conhecidos nos tamanhos reais.

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.

PQP+Q

Para somar P e Q: trace a reta por eles, ache o terceiro ponto onde ela cruza a curva (círculo vazio) e reflita-o no eixo x. O resultado (vermelho) é P + Q. Para dobrar um ponto (P + P), usa-se a tangente.

P = (-1.000, 2.449) · Q = (1.200, -2.954)
inclinação = -2.456 · P + Q = (5.833, 14.335)

Por que isso é só intuição

Na criptografia real não há reta desenhada: os números vivem num corpo finito, em que “reta” e “reflexo” viram contas com resto. É o que a próxima aba mostra.

Teste o que aprendeu

1. Q = d × G: qual direção é fácil?
2. Uma chave pública já é um endereço Bitcoin?
3. Por que a curva de 43 pontos não protege nada?
0 de 3 respondidas.

Experimente

  • Na aba “Intuição”, some dois pontos e veja a reta e o ponto refletido.
  • Na aba “Corpo finito”, clique em pontos e some; use o controle de k para ver k × G.
  • Na aba “Curva real”, informe um escalar de teste e veja o ponto da secp256k1.
Detalhes técnicos
  • A curva de brinquedo (p = 43) tem 31 pontos incluindo o ponto no infinito e serve só para visualizar. Não tem nenhuma segurança.
  • Na secp256k1, p = 2²⁵⁶ − 2³² − 977 e a ordem de G é n ≈ 1,158 × 10⁷⁷. Chaves privadas válidas ficam em [1, n−1].
  • As operações reais usam a biblioteca auditada @noble/curves. Nenhuma aritmética de curva real é reimplementada aqui.
  • Uma chave pública ainda não é um endereço: o endereço vem de hashes e de uma codificação por cima dela.
Próxima lição →Endereços

Termos desta lição

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.