En este pequeño tutorial veremos cómo cifrar o descifrar un archivo utilizando GPG en la terminal de GNU/Linux

Para iniciar este tutorial suponemos que ya tienes una clave GPG establecida para tu propia identidad. También asumiremos que sabes un poco lo básico de GPG y que ya no eres un «dummie» en esto del cifrado.
Partimos del supuesto que tienes un archivo de texto que quieres cifrar para mandarlo a alguno de tus contactos. Para cifrarlo utilizarás su clave pública que previamente el contacto te ha mandado, o has descargado desde un servidor de claves.
Una vez cifrado con su clave pública (cerrado el candado), el archivo de texto cifrado sólo podrá ser descifrado por quien posea la clave privada (la llave del candado), que únicamente debería estar en posesión de tu contacto.
Se pueden utilizar algunas de las interfaces gráficas que existen para utilizar GPG, pero en este caso veremos cómo realizar estas tareas desde la línea de comandos, que ya veréis como es sencillo…
Creamos un archivo de texto, y escribimos en él (podemos editarlo con el editor de texto micro o cualquier otro: nano, vi, etc) lo que queramos que quede cifrado para que sólo nuestro contacto pueda leerlo:
touch archivo.txt micro archivo.txt
Escribimos lo que queramos y lo guardamos con Ctrl+s y salimos con Ctrl+q (si hemos utilizado el editor micro). Ya tenemos el archivo que queremos cifrar.
Ahora podemos buscar el contacto al que queremos enviarselo entre nuestras claves públicas guardadas. Para este ejemplo imaginemos que se lo queremos enviar a Richard Stallman:
gpg -k | grep Stallman -b3
Como lo tenemos entre nuestros contactos de GPG no hace falta importar su clave pública.
Ahora cifraremos (-e) con nuestra identidad (-u) el archivo archivo.txt con la clave pública del receptor (-r) en este caso de Stallman, para que sólo el pueda leer el contenido, mediante el comando:
gpg -e -u "Victorhck" -r "Richard Stallman" archivo.txt
Veremos que ahora nos ha generado un archivo llamado archivo.txt.gpg, si lo abrimos veremos una serie de caracteres indescifrables. Este sería el archivo a enviar.
El contacto que lo reciba simplemente debería descifrarlo (-d) mediante el comando:
gpg -d archivo.txt.gpg > archivo.txt
Le pediría su clave o frase de paso de GPG y si es correcta descifraría el contenido enviándolo a archivo.txt y podría leer aquello que le habías mandado.
Tu también puedes cifrar archivos con tu propia clave pública y así tenerlo cifrado «sólo para tus ojos». El proceso de cifrado es similar, pero sin especificar el receptor del archivo, ya que serás tu misma.
gpg -e -r "victorhck" mi_archivo_secreto.txt
Y el proceso de descifrado será similar al anterior ejemplo que hemos visto.
Estos son unos ejemplos muy simples de la utilización de GPG desde la línea de comandos, pero como puedes imaginar tiene otras muchas opciones y herramientas que te invito a descubrir mediante su ayuda o página man.
GPG sigue siendo una herramienta indispensable no sólo para seguir ofreciendo cifrado entre las comunicaciones de las personas, también como herramienta indispensable a la hora de certificar la procedencia de un archivo firmándolo con tu clave, por ejemplo las imágenes ISO de las distribuciones GNU/Linux que descargamos e instalamos.
Aquí te dejo el proceso descrito realizado en una terminal:
¿Te animas a hackear con GPG y cifrar algo? Espero tu correo con un pequeño archivo cifrado y así practicamos ambos… 🙂

————————————————————
Gran aporte, como siempre. Salu2
Me alegro si te interesó!
Saludos!! 🙂
Suena fácil, pero primero debo de aprender lo básico sobre GPG. En eso soy sólo un novato, pero bueno, con el tiempo seguro aprendo a manejarme bien con esto.
¡Saludos!
Hola!
Te recomiendo los enlaces que he puesto por el artículo.
El de «GPG para dummies» por ejemplo.
Si hasta yo conseguí entenderlo, seguro que tu tardas menos en entenderlo!! 🙂
Saludos!!
Gracias, aunque creo que tu me superas en cuanto a conocimiento y muchas cosas más. A mi, por ejemplo, me cuesta algo de trabajo aprender cosas nuevas y ponerlas en prácticas. Cómo me gustaría que fuera como antes que aprendía todo más rápido… .-.
Saludos desde la tierra favorita del Sol y gracias nuevamente por el espacio 🙂
a pleasure! Aunque creo que me sobreestimas!! 🙂
Saludos.
Yo recomiendo usar tomb/ gtomb (gui)
Reblogueó esto en Arcanus's Random Stuffs.
Desde un Servidor Debian10 sin graficos, solo texto, exim4 para envio de email’s,
alguna pista de como se pueden enviar ‘emails’ firmados?
En casa, con debian9 y «kleopatra» es tremendamente sencillo enviar correos firmados con Thunderbird, pero no encuentro absolutamente nada para EXIM4.
Alguna idea????