Cifrar / descifrar PGP
Cifra un mensaje o un archivo con la clave pública PGP de alguien, descifra los mensajes que te envían con tu clave privada y crea o comprueba firmas. Pega claves en formato ASCII armor de GnuPG, Kleopatra, Proton o cualquier aplicación OpenPGP. Todo se ejecuta en tu navegador con OpenPGP.js; las claves y los mensajes nunca se suben.
Última actualización:
Clave(s) pública(s)
Clave del destinatario para cifrar, o clave del remitente para verificar. Se admiten varias claves.
Tu clave privada
Necesaria para descifrar y firmar. Se queda en esta página.
Verificar una firma separada
Pon el texto (o archivo) original arriba y el bloque de firma aquí.
Cómo usar Cifrar / descifrar PGP
- Pega la clave pública de la persona a la que escribes (o del remitente, para verificar una firma). Puedes pegar varias claves.
- Pega tu clave privada y su frase de contraseña si quieres descifrar o firmar. Se queda en esta página y nunca se sube.
- Elige una pestaña: Cifrar, Descifrar, Firmar o Verificar, y pega o escribe el mensaje (o abre un archivo).
- Pulsa el botón de acción. El resultado aparece abajo, con una comprobación de firma cuando corresponde.
- Copia o descarga el resultado. ¿Aún no tienes claves? Pulsa Usar un par de claves de prueba, o crea claves reales con el Generador de claves PGP.
¿Qué clave hace qué?
| Tarea | Clave necesaria | De quién es la clave | Resultado |
|---|---|---|---|
| Cifrar | Clave pública | La del destinatario | -----BEGIN PGP MESSAGE----- que solo el destinatario puede abrir |
| Descifrar | Clave privada + frase de contraseña | La tuya | El texto o archivo original |
| Firmar | Clave privada + frase de contraseña | La tuya | Un mensaje firmado o una firma separada |
| Verificar | Clave pública | La del firmante | Válida / no válida, y quién firmó |
Cifrar y firmar combina ambas cosas: el mensaje se firma primero con tu clave privada y luego se cifra con la clave pública del destinatario, para que pueda comprobar que viene de ti. Cuando descifres aquí un mensaje así, pega también la clave pública del remitente y la firma se verificará automáticamente.
Cómo funciona el cifrado PGP
OpenPGP (RFC 4880) usa cifrado híbrido. Una clave de sesión aleatoria de un solo uso cifra el mensaje con un cifrado simétrico rápido (AES-256 por defecto en OpenPGP.js), y luego esa clave de sesión se cifra con la clave pública de cada destinatario mediante RSA o Diffie-Hellman de curva elíptica (X25519, curvas P de NIST). El mensaje también incluye una comprobación de integridad (MDC), así que cualquier manipulación hace que el descifrado falle. Añadir varios destinatarios solo añade una pequeña clave de sesión cifrada por destinatario.
Los mensajes con contraseña funcionan igual, salvo que la clave de sesión se deriva de tu contraseña con una función S2K iterada y con sal. Cualquiera que tenga la contraseña puede descifrar el mensaje, así que compártela por un canal distinto al del mensaje.
Las mismas operaciones en GnuPG
# encrypt (and sign) for a recipient, ASCII-armored gpg --armor --encrypt --sign --recipient [email protected] message.txt # decrypt and verify gpg --decrypt message.txt.asc # cleartext signature and verification gpg --clearsign message.txt gpg --verify message.txt.asc # detached signature for a file gpg --armor --detach-sign report.pdf gpg --verify report.pdf.asc report.pdf # password (symmetric) encryption gpg --armor --symmetric message.txt
Preguntas frecuentes
¿Qué clave uso para cifrar y cuál para descifrar?
Cifra con la clave pública del destinatario; solo su clave privada puede descifrar el resultado. Para leer un mensaje que alguien te envió, descífralo con tu propia clave privada y tu frase de contraseña. La firma funciona al revés: firmas con tu clave privada y los demás verifican con tu clave pública.
¿Es seguro pegar mi clave privada en un sitio web?
Esta página ejecuta localmente la biblioteca de código abierto OpenPGP.js: tus claves, tu frase de contraseña y tus mensajes se procesan en la memoria de tu navegador y nunca se envían a un servidor ni se guardan. Aun así, pega claves privadas solo en herramientas de confianza y, para secretos a largo plazo, prefiere software local como GnuPG. Hay un botón de par de claves de prueba para probar la herramienta de forma segura.
¿Puedo leer un mensaje que cifré yo mismo?
Solo si también lo cifraste con tu propia clave. Marca 'Cifrar también con mi propia clave' en la pestaña Cifrar cuando hayas rellenado tu clave privada y podrás descifrar el mensaje más tarde.
¿Por qué dice que el mensaje no se cifró para mi clave?
El mensaje se cifró con otra clave pública, por ejemplo una clave antigua tuya o la de otro destinatario. Comprueba los ID de clave: el ID de la clave del destinatario que aparece en el mensaje debe coincidir con una de las subclaves de tu clave. Los mensajes cifrados con una contraseña en lugar de una clave necesitan el campo de contraseña.
¿Cuál es la diferencia entre una firma en texto claro y una firma separada?
Una firma en texto claro mantiene el mensaje legible y lo envuelve entre BEGIN PGP SIGNED MESSAGE y un bloque de firma, algo práctico para correos y foros. Una firma separada es un bloque aparte que se usa para firmar archivos o textos que deben quedar sin cambios; para verificarla necesitas tanto el texto original como la firma.
¿Es compatible con GnuPG?
Sí. OpenPGP.js implementa el RFC 4880, así que los mensajes cifrados aquí se descifran con gpg --decrypt, y los mensajes de gpg --armor --encrypt o de Kleopatra se descifran aquí. Los archivos binarios .gpg se pueden abrir en la pestaña Descifrar.
¿Hay un límite de tamaño?
Los textos y archivos de hasta unos 25 MB funcionan bien; todo ocurre en la memoria de tu navegador, así que los archivos muy grandes es mejor procesarlos con GnuPG en tu computadora.
¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?
Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.