A continuación explico de forma muy breve cómo se encripta un archivo cualquiera con una clave GPG. *Debes tener instalado en tu sistema GnuPG.
Para este ejemplo primero crearemos un archivo prueba.txt que contendrá la cadena de texto "Hola".
echo "Hola" > prueba.txt cat prueba.txt Hola
Ahora ejecutamos el siguiente comando sobre el archivo prueba.txt.
gpg --passphrase abcd1234 -o prueba.gpg -c prueba.txt
Al argumento --passphrase se le puede pasar la cadena de texto que queramos. Eso si, debemos recordarla para luego desencriptar nuestro archivo. El argumento -o es para indicar el archivo de salida ya encriptado, y el argumento -c es para indicar que se va a realizar un cifrado simétrico (por defecto AES128). Si se quisiera cambiar el tipo de cifrado se puede sustituir la opción -c por --cipher-algo y a continuación especificar el tipo de cifrado, por ejemplo:
gpg --passphrase abcd1234 -o prueba.gpg --cipher-algo AES256 prueba.txt
Una vez hecho esto, se puede listar el contenido del directorio actual para ver lo que se ha generado.
ls -lrt -rw-rw-r-- 1 xe26505 xe26505 5 nov 03 19:43 prueba.txt -rw-rw-r-- 1 xe26505 xe26505 54 nov 03 19:43 prueba.gpg
Si queremos ver qué contiene el archivo prueba.gpg generado veremos que está encriptado:
cat prueba.gpg ??K0pF`?%<??Z?8??>??Tgh???_u???O? ????8a?
Ahora ya podemos guardar para nosotros mismos o hacer llegar el archivo a una persona que conozca la passphrase para descifrarlo, de un modo seguro y fiable.
Para desencriptar el archivo bastaría con ejecutar el siguiente comando:
gpg --passphrase abcd1234 -d prueba.gpg gpg: CAST5 encrypted data gpg: encrypted with 1 passphrase Hola
Donde al argumento --passphrase se le ha de pasar la misma cadena que se utilizó para encriptar, y el argumento -d es el archivo encriptado.
Si lo que se quiere encriptar es un conjunto de archivos y directorios bastaría con empaquetarlos y/o comprimirlos en un archivo, por ejemplo .tar, .zip o .gz y repetir el proceso de este mini tutorial.
- "¿Y para qué necesito yo hacer todo esto?"
Si necesitas guardar algo de gran valor, por ejemplo una semilla de un monedero Bitcoin, un archivo de passwords, o necesitas enviar por mail datos con información sensible (informe médico, cuenta del banco, passwords, etc.) es altamente recomendable hacerlo de forma que nadie mas que tú y quien tú quieras lo pueda leer. Aquí puedes leer cómo usar GnuPG para tu correo electrónico.