Genera pares de claves PGP, cifra y descifra mensajes y archivos, y firma o verifica, todo en tu navegador con openpgp.js. Tus claves nunca se suben.
🔒 Privado por diseño: todo funciona localmente en tu navegador; nada se sube nunca a ningún servidor.
Por qué el lado del cliente es el único sitio sensato para ejecutar PGP
Una herramienta PGP que se ejecuta en un servidor ya ha perdido la discusión. Para descifrar algo
necesita tu clave privada y tu frase de contraseña, lo que significa pedirte que entregues las dos a
una máquina que no puedes inspeccionar. Llegados a ese punto, el cifrado es decorativo.
Aquí todo ocurre en tu pestaña. La implementación de OpenPGP es un módulo de JavaScript entregado con
la página, ejecutándose contra la criptografía del propio navegador, y no hace ninguna llamada de red
por su cuenta. Tu clave privada existe en la memoria de la página mientras la pestaña está abierta, y
después desaparece.
La elección de biblioteca se comprobó en lugar de darse por supuesta. No tiene dependencias
transitivas, no requiere las cabeceras de aislamiento entre orígenes que romperían otras partes de
este sitio, y se ejecuta igual en un navegador que en un ejecutor de tests, que es cómo los caminos
de cifrar, descifrar, firmar y verificar de aquí se prueban contra claves generadas de verdad y no
contra simulacros.
Cifrar un archivo en lugar de un mensaje
La pestaña de cifrado acepta cualquiera de los dos, y elegir un archivo desactiva la caja de mensaje
para que no haya ambigüedad sobre qué se está cifrando.
Un archivo cifrado conserva su nombre original entero y gana una extensión .gpg, así que
informe.pdf pasa a ser informe.pdf.gpg. Esa convención importa en el camino de vuelta, porque el
lado del descifrado la usa: si el software del remitente grabó un nombre de archivo dentro del
mensaje se usa ese, y si no se quita la extensión .gpg, .pgp o .asc del final para recuperar el
nombre original.
Hay un centinela que conviene conocer. Algunas herramientas escriben un marcador especial en lugar de
un nombre real para señalar que un mensaje estaba pensado para leerse en pantalla y no escribirse
nunca en disco; GnuPG usa _CONSOLE para eso. Ese marcador se reconoce y se ignora en lugar de
usarse como nombre de archivo, que es lo que produciría un archivo llamado _CONSOLE en tu carpeta de
descargas.
Los tres tipos de clave, y por qué el predeterminado es el de curva
El tipo por defecto es Curve25519, criptografía de curva elíptica. Las otras dos opciones son
RSA de 3072 bits y RSA de 4096 bits, y están ahí por compatibilidad con software antiguo, no
porque sean mejores.
La diferencia práctica es el tiempo de generación. Una clave de curva sale prácticamente al instante;
una RSA de 4096 bits hace que el navegador trabaje durante un rato perceptible, porque generar claves
RSA grandes es buscar números primos y eso cuesta lo que cuesta. Elige RSA solo cuando sepas que la
otra parte usa algo que no entiende las curvas modernas.
Manda la pública, nunca la privada
Los dos archivos se parecen a simple vista, y esa es exactamente la forma en que la gente filtra
claves privadas. Comprueba la línea de cabecera antes de adjuntar nada: una dice que es un bloque de
clave pública y la otra que es un bloque de clave privada.
Una clave privada filtrada no se puede recuperar cambiándole la frase de contraseña, porque quien la
tenga puede intentar la frase todas las veces que quiera sin límite y sin que tú te enteres. La
respuesta a una clave privada filtrada es revocarla y generar otra, que es bastante más trabajo que
mirar una línea de cabecera antes de pulsar enviar.
Generar un par de claves y usarlo
- Abre la pestaña de generar claves y rellena el nombre y el correo que irán en la clave. Hace falta
al menos uno de los dos, porque una clave OpenPGP lleva un identificador de usuario.
- Elige el tipo de clave. Curve25519 es el predeterminado.
- Pon una frase de contraseña. El campo es opcional y la etiqueta te dice que la uses igualmente.
- Genera el par y guarda las dos mitades con los botones de descarga.
- Cambia a cifrar, pega la clave pública del destinatario, escribe un mensaje o adjunta un archivo, y
cifra.
- El destinatario usa descifrar con su clave privada y su frase de contraseña.
- Firmar produce un mensaje firmado en claro que cualquiera puede leer, con un bloque de firma
adjunto. Verificar comprueba uno contra una clave pública.
Si lo que necesitas es cifrado simétrico con una contraseña compartida en lugar de un par de claves,
cifrar texto y cifrar archivo hacen ese trabajo sin que
nadie tenga que gestionar claves. Y para claves de acceso a servidores, que son otra cosa distinta,
está el generador de claves SSH.
Preguntas frecuentes
¿La interfaz de la herramienta está en español?
La página, las instrucciones y estas preguntas están en español, pero los controles del componente interactivo (las pestañas "Generate keys", "Encrypt", "Decrypt", "Sign" y "Verify", las etiquetas de los campos y los mensajes de error) se muestran en inglés, porque ambas versiones del sitio comparten el mismo componente. Las operaciones criptográficas son idénticas en ambos idiomas, y puedes escribir tus mensajes en español sin ningún problema, el cifrado maneja acentos y eñes perfectamente porque todo el texto se procesa como UTF-8.
¿Mis claves o mensajes se envían a algún servidor?
No. Todas las operaciones (generar claves, cifrar, descifrar, firmar y verificar) se ejecutan por completo dentro de tu navegador con openpgp.js, la misma biblioteca OpenPGP de código abierto que usa el cliente web de Proton Mail. Podrías desconectarte de internet después de cargar la página y todo seguiría funcionando. Para generar claves esto es lo único aceptable, un "generador de claves PGP" que calcula tu clave privada en el servidor de otra persona ya la ha comprometido antes de que tú la veas.
¿Las claves y mensajes de esta herramienta funcionan con GnuPG y otras aplicaciones PGP?
Sí, se verificó contra una instalación real de GnuPG 2.4, no se dio por supuesto. Un par de claves generado aquí se importa correctamente con gpg --import, un mensaje cifrado aquí se descifra con gpg --decrypt, un mensaje firmado aquí muestra "Good signature" con gpg --verify, y los archivos cifrados por GnuPG se descifran correctamente aquí. La clave Curve25519 predeterminada usa deliberadamente el formato ampliamente compatible en lugar de la variante más nueva del RFC 9580, precisamente para que GnuPG 2.2+, Thunderbird y las aplicaciones móviles OpenPGP puedan leerla.
¿Qué tipo de clave elijo, Curve25519 o RSA?
Curve25519 (la opción predeterminada) es la recomendación moderna, se genera casi al instante, las claves y firmas son mucho más pequeñas, y se considera al menos tan segura como RSA-3072 según el consenso criptográfico actual. Elige RSA 3072 o 4096 solo si necesitas compatibilidad con un sistema antiguo anterior al soporte de curvas elípticas en OpenPGP (aproximadamente, versiones de GnuPG anteriores a 2.1, de 2014). Generar RSA es notablemente más lento en un navegador, sobre todo a 4096 bits.
¿Dónde se guardan mis claves después de generarlas?
En ningún sitio, y es deliberado. Esta herramienta no escribe tus claves en localStorage, cookies ni ningún almacenamiento del navegador, porque una clave privada guardada silenciosamente por una web quedaría legible para cualquier script futuro de la misma página y permanecería sin cifrar en ordenadores compartidos. Cuando generes un par, copia o descarga ambas claves inmediatamente y guarda la privada en un lugar seguro; al salir de la página, la herramienta las ha olvidado de verdad.
¿PGP en el navegador es tan seguro como GPG instalado en mi ordenador?
Para cifrar mensajes y archivos entre personas es OpenPGP real y correctamente implementado, pero una pestaña del navegador honestamente no es el mismo entorno de confianza que un GPG local. Una pestaña tiene más superficie de ataque (las extensiones pueden leer el contenido de la página) y esta herramienta no tiene anillo de claves, red de confianza, soporte de tarjetas inteligentes ni gestión de revocación. Para mensajes privados cotidianos es una opción válida y mucho más cómoda; para los usos más críticos (firmar versiones de software, claves de identidad de larga duración, fuentes periodísticas) usa GPG instalado localmente con claves respaldadas por hardware.
¿Qué pasa si pierdo mi clave privada u olvido su contraseña?
Los datos cifrados son irrecuperables, por diseño, y ninguna herramienta honesta puede prometer lo contrario. PGP no tiene "recuperar contraseña" porque su propósito es precisamente que solo quien posee la clave privada pueda descifrar. Guarda el archivo de tu clave privada en cuanto la generes, protégela con una frase que recuerdes y haz una copia de seguridad sin conexión.
¿Hay un límite de tamaño para cifrar archivos?
No hay límite artificial, el cifrado ocurre en tu propio dispositivo, así que el techo práctico es la memoria de tu navegador, de sobra para documentos, fotos y archivos comprimidos de hasta unos cientos de megabytes. Para archivos de varios gigabytes es mejor una herramienta de escritorio con streaming como GnuPG, porque esta herramienta mantiene el archivo completo en memoria mientras cifra.