…
…
…
32 bytes CSPRNG, con clamp según Curve25519 · clave pública = escalar privado × punto base 9 · generado localmente, nunca se envía · las claves no se codifican en la URL para compartir de forma deliberada.
Qué hace
El Generador de claves WireGuard crea las claves criptográficas que un túnel WireGuard necesita, completamente en tu navegador. Toma 32 bytes del CSPRNG de tu dispositivo, les aplica el clamping según las reglas de Curve25519 (key[0] &= 248; key[31] &= 127; key[31] |= 64), y deriva la clave pública correspondiente multiplicando el punto base de la curva — una implementación pura en BigInt de la escalera de Montgomery del RFC 7748 sobre GF(2²⁵⁵ − 19). También puedes generar una clave precompartida (PSK) opcional y copiar una plantilla de configuración wg-quick lista para editar.
Ambas claves se emiten como
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
estándar con relleno — 44 caracteres — el formato exacto que esperanwg setconf, wg-quick y cualquier gestor de WireGuard. Nada se sube: la generación, la derivación y la copia son locales, y las claves deliberadamente nunca se codifican en la URL de la página.
Cómo usarlo
- Pulsa Generar (o Regenerar) para crear un nuevo par de claves.
- Copia la Clave privada en la sección
[Interface]de la configuración de tu dispositivo — nunca la compartas. - Copia la Clave pública y entrégasela al par o al administrador del servidor — es segura para compartir.
- Activa el conmutador Clave precompartida para una PSK opcional de 32 bytes; pon el mismo valor en las configuraciones de ambos lados para una protección extra por simetría.
- Copia la Plantilla de configuración y sustituye
<PEER_PUBLIC_KEY>,AddressyEndpointpor los valores de tu servidor.
Ejemplos
Un par de claves conocido (vector de prueba “Alice” del RFC 7748 §6.1)
Private key: dwdtCnMYpX08FsFyUbJmRd9ML4frwJkqsXf7pR25LCo=
Public key: hSDwCYkwp1R0i33ctD73Wg2/Og0mOBr066SpjqqbTmo=
Alimenta la clave privada en cualquier implementación X25519 y obtienes exactamente esta clave pública — la derivación que realiza esta herramienta se verifica contra vectores como este en sus pruebas unitarias. Un par recién generado es salida aleatoria en el mismo formato de 44 caracteres.
Plantilla de configuración con clave precompartida
[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
Rotar una clave
Regenerate → replace only the PrivateKey line in your config →
send the new Public key to the peer admin → restart the tunnel.
Buen saber
- ¿Por qué el clamping? Los 3 bits bajos y el bit superior se ponen a cero y el bit 254 se fuerza, así cada clave privada es un escalar válido que funciona con cualquier implementación de Curve25519 y protege contra ataques de subgrupo pequeño.
- Las claves precompartidas añaden un secreto simétrico de 256 bits por encima del intercambio Diffie-Hellman — útil contra futuros ataques cuánticos a tráfico grabado. La misma PSK debe aparecer en las configuraciones de ambos pares, y nunca se somete a clamping (se usa como material de clave en bruto).
- Privado: se ejecuta 100% en el lado cliente; el CSPRNG y la aritmética de la curva nunca tocan la red, y las claves no se escriben ni en la URL ni en el almacenamiento.
- Herramientas 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.