…
…
…
32 bytes CSPRNG, com clamp conforme Curve25519 · chave pública = escalar privado × ponto base 9 · gerado localmente, nunca enviado · as chaves não são codificadas na URL de compartilhamento de forma deliberada.
O que faz
O Gerador de chaves WireGuard cria as chaves criptográficas que um túnel WireGuard precisa, inteiramente no seu navegador. Ele extrai 32 bytes do CSPRNG do seu dispositivo, aplica o clamping segundo as regras do Curve25519 (key[0] &= 248; key[31] &= 127; key[31] |= 64) e deriva a chave pública correspondente multiplicando o ponto base da curva — uma implementação pura em BigInt da escada Montgomery do RFC 7748 sobre GF(2²⁵⁵ − 19). Você também pode gerar uma pre-shared key (PSK) opcional e copiar um template de configuração wg-quick pronto para editar.
Ambas as chaves são emitidas em
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
padrão com padding — 44 caracteres — o formato exato quewg setconf, wg-quick e todo gerenciador WireGuard espera. Nada é enviado: geração, derivação e cópia são todas locais, e as chaves deliberadamente nunca são codificadas na URL da página.
Como usar
- Pressione Gerar (ou Gerar novamente) para criar um novo par de chaves.
- Copie a Chave privada para a seção
[Interface]da configuração do seu dispositivo — nunca a compartilhe. - Copie a Chave pública e entregue-a ao peer ou ao administrador do servidor — ela é segura para compartilhar.
- Ative o interruptor Pre-shared key para uma PSK opcional de 32 bytes; coloque o mesmo valor nas configurações de ambos os lados como proteção adicional.
- Copie o Template de configuração e substitua
<PEER_PUBLIC_KEY>,AddresseEndpointpelos valores do seu servidor.
Exemplos
Um par de chaves conhecido (vetor de teste “Alice” do RFC 7748 §6.1)
Private key: dwdtCnMYpX08FsFyUbJmRd9ML4frwJkqsXf7pR25LCo=
Public key: hSDwCYkwp1R0i33ctD73Wg2/Og0mOBr066SpjqqbTmo=
Alimentar a chave privada em qualquer implementação X25519 produz exatamente esta chave pública — a derivação que esta ferramenta executa é verificada contra vetores como este em seus testes de unidade. Um par recém-gerado é uma saída aleatória no mesmo formato de 44 caracteres.
Template de configuração com pre-shared key
[Interface]
PrivateKey = dwdtCnMYpX08FsFyUbJmRd9ML4frwJkqsXf7pR25LCo=
PublicKey = hSDwCYkwp1R0i33ctD73Wg2/Og0mOBr066SpjqqbTmo=
Address = 10.0.0.2/32
[Peer]
PublicKey = <PEER_PUBLIC_KEY>
PresharedKey = 7Xk2Pq9wLmY4vRtNz8sB1cHf6Gj3Kd0eA5uOi2WxSbE=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = vpn.example.com:51820
PersistentKeepalive = 25
Rotacionar uma chave
Gerar novamente → substitua apenas a linha PrivateKey na sua configuração →
envie a nova chave pública ao administrador do peer → reinicie o túnel.
Bom saber
- Por que o clamping? Os 3 bits baixos e o bit mais alto são zerados e o bit 254 é forçado, de modo que toda chave privada é um escalar válido que funciona com qualquer implementação de Curve25519 e protege contra ataques de subgrupo pequeno.
- Pre-shared keys adicionam um segredo simétrico de 256 bits por cima da troca Diffie-Hellman — útil contra futuros ataques quânticos a tráfego gravado. A mesma PSK deve aparecer nas configurações dos dois peers, e ela nunca passa por clamping (é usada como material de chave bruto).
- Privado: roda 100% no cliente; o CSPRNG e a matemática da curva nunca tocam a rede, e as chaves não são gravadas na URL nem no armazenamento.
- Ferramentas relacionadas: Password Generator, Secure Token Generator,
HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
Generator.