CIFRADO CON GPG

Nivel 3: Firmar, cifrar y descifrar


Señor Turing, estamos preparados.


FIRMAR


Una de las utilidades básicas de GPG es firmar digitalmente un archivo.

Para saber que el archivo que Pili ha recibido no ha sido modificado por el camino, lo ideal es firmarlo. Cuando Pili lo reciba lo verificará con tu clave. Veamos el proceso de firmado digital.


gpg -o importante.db.sig --detach-sig importante.db

Con esto le decimos a GPG que firme el archivo llamado importante.db dejando el archivo de firma importante.db.sig aparte (--detach-sig).

Se ha creado importante.db.sig y se lo enviarás a Pili junto al archivo original, que se lo puedes enviar aparte o en el mismo email.


Ella lo acaba de recibir y quiere verificar que el archivo no ha sido modificado.


gpg --verify importante.db.sig importante.db

   gpg: Firmado el jue 12 Oct 2016 10:36:29 CEST
   gpg: usando RSA clave 11BBB8EE46D00C1F38801D088D8C75185633D221
   gpg: Firma correcta de "Pepito Grillo <pepito@grillo.com>" [absoluta]

Vemos que pone que la firma es correcta.


Como supongo que estás practicando esto mientras lo lees, puedes hacer una prueba. Modifica el archivo original y vuelve a verificarlo con la misma firma:


gpg --verify importante.db.sig importante.db

   gpg: Firmado el jue 12 Oct 2016 10:36:29 CEST
   gpg: usando RSA clave 11BBB8EE46D00C1F38801D088D8C75185633D221
   gpg: Firma INCORRECTA de "Pepito Grillo <pepito@grillo.com>" [absoluta]

Firma INCORRECTA, ya sabes que ese archivo ha sido modificado y no es el original.


Uno de los ejemplos más habituales de firma digital son las ISOs de algunas distribuciones GNU/Linux. Es importante verificarlas de esta manera para evitar los problemas que hubieron con Linux Mint hace unos años, por citar algun ejemplo.

Evidentemente deberás importar primero la clave del proyecto.



CIFRAR


Otra de las opciones potentes de GPG es la de cifrar archivos. Un archivo cifrado mantiene inaccesible su contenido. Si intentas abrirlo nada más vas a ver símbolos raros.


Para cifrar un archivo:


gpg -e -r pepito@grillo.com imagen.jpg

Le decimos que encripte (-e) en el recipiente (-r) del usuario el archivo imagen.jpg

Ahora verás que tienes un archivo llamado imagen.jpg.gpg


Como lo ciframos para nosotros, ponemos nuestro ID como recipiente. Al especificar un ID de usuario en el recipiente, GPG usará su clave para cifrarlo. Si queremos enviarle la imagen cifrada a Pili, deberemos poner su ID como recipiente:


gpg -e -r pili-mili@disroot.org imagen.jpg

Desde los programas GUI se puede cifrar mediante la opción "Encrypt file" o similar



DESCIFRAR


Pili te ha enviado un archivo cifrado, y quieres descifrarlo para verlo. Hay 2 formas de hacerlo.


gpg -o notas.txt -d notas.txt.gpg

Le dices a GPG que en el archivo "output" (-o) de nombre notas.txt descifre (-d) el archivo cifrado notas.txt.gpg


La otra forma es usando pipes de bash:


gpg -d notas.txt.gpg > notas.txt

Desde los programas GUI se puede hacer mediante la opción "Desencrypt file" o similar.


Si has entendido todo el proceso hasta aquí, puedes pasar al siguiente nivel:


• GPG Nivel 4: Firmar otras claves. Servidores de claves


Web GPG


Tags: #gpg #gnupg



◄ Listado del tutorial

◄◄ Inicio



/blog/gpg/