GPG y cifrado simétrico (con clave) para gente sin tiempo

GNU Privacy Guard, gpg ó GnuPG permite cifrar con llave (cifrado asimétrico) o con clave (cifrado simétrico).

Elegir una clave aleatoria de muchos caracteres o palabras elegidas al azar por algún generador, es una forma sencilla, rápida y razonablemente segura de cifrar algún texto, pequeño backup o fichero suelto.

He aquí unos comandos para cifrar texto o ficheros:

Cifrar el texto «Hola que tal estás» con gpg con una clave

Gnome te la pedirá dos veces si tienes entorno gráfico

echo "Hola que tal estas" | gpg --symmetric --armor

Con la opción –armor, nos aseguramos una salida en base64, que podemos copiar y pegar en claro en cualquier cuadro de texto.

Cifrar el texto «Hola que tal estás» con gpg con la clave «abc»

echo "Hola que tal estas" | gpg --symmetric --armor --passphrase "abc"
gpg ejemplo
gpg: Ejemplo de la salida por pantalla con salida a un archivo y con el parámetro armor

Cifrar el fichero «fichero-a-cifrar» en «fichero-cifrado» con la clave abc

gpg --output fichero-cifrado.gpg --batch --passphrase "abc" -c fichero-a-cifrar

En este caso, ciframos el fichero y lo mantenemos en binario.

Para que nos dé un archivo en base64, tendríamos que emplear la opción –armor ¡Atención, el fichero crecerá!

gpg --output archivo-cifrado.gpg --batch --armor -c archivo-en-claro

No obstante, aunque ocupe más en este caso, podríamos copiar y pegar el archivo en cualquier cuadro de texto.

Para descifrar

Emplearemos la opción «-d»

gpg -d fichero-cifrado.gpg

Conclusiones

GnuPG, GNU Privacy Guard o más comúnmente el comando gpg nos permite cifrar y descifrar archivos y texto plano. Además, podremos enviar en texto plano el resultado cifrado si utilizamos la opción –armor.

Existe un proyecto llamado OpenPGP.js que permite realizar cifrados y descifrados con un navegador, empleado por sitios como ProtonMail. Este proyecto permite o bien instalar un plugin para navegador que haga uso de su librería o ser integrado en una página web de forma nativa.

También hay alternativas a instalar gpg en nuestro ordenador como keybase, esta web almacena (si le dejamos) nuestra llave privada y expone la pública para que cualquier persona nos pueda enviar mensajes privados por redes sociales o formularios.

Por último, existen gestores de contraseñas como Lastpass, 1Password y Bitwarden que permiten el uso de «notas seguras». Si lo que guardamos en esas notas es lo suficientemente sensible ¿Por qué no añadir una capa adicional de seguridad cifrando esas notas con una contraseña adicional empleando gpg?

Otros artículos relacionados