GnuPG (o gpg) es un software que permite cifrar y firmar datos y comunicaciones, así como archivos.
Viene incluido en Linux por defecto y hoy vamos a ver una introducción a su uso para cifrar y descifrar archivos con una contraseña dada por nosotros.
También vamos a ver cómo eliminar los archivos originales con srm
o secure remove.
La página oficial de GNU Privacy Guard es gnupg.org.
Comencemos cifrando un archivo de texto, aunque gpg
puede hacer más cosas y cifrar otro tipo de archivos como imágenes, vídeos, etcétera (pues al final todos son ficheros, sin importar el tipo o extensión).
Para cifrar un archivo llamamos al binario gpg
pasándole la opción -c
e indicando adelante el nombre del archivo.
La sintaxis es:
gpg -c nombre_de_archivo
Para probar este ejemplo vamos a crear un archivo de ejemplo
Creamos el archivo escribiendo con echo
, después miramos su contenido con cat
y finalmente lo ciframos con:
gpg -c mensaje.txt
Dependiendo de nuestro sistema, se pedirá la frase de paso o passphrase, que es la contraseña para descrifrarlo.
En mi caso aparece una ventana (en otros casos podría pedírtelo directamente en la terminal):
Al invocar a gpg
se habrá creado otro archivo que tiene el mismo nombre que el original pero con la extensión gpg.
Podemos ver la diferencia listando el contenido de ambos:
Aunque parecen datos “raros” en realidad es el archivo encriptado.
Nota: no porque sean caracteres raros significa que un archivo esté encriptado. Por ejemplo, si abres un documento PDF como texto, verás algo similar, pues no es que los datos estén encriptados, sino que no se pueden reconocer como texto.
¿De qué sirve cifrar el archivo si no lo eliminamos? y otra cosa, ¿de qué sirve eliminarlo si se puede recuperar, probablemente?
Después de cifrar el archivo vamos a eliminarlo de manera segura con srm
cuyo manual puedes ver aquí.
Su uso es:
srm archivo
También elimina carpetas y tiene otras opciones, la que me gusta es la -v
para que sea verboso. No veremos esas opciones por el momento, pero ahí dejo el enlace al manual.
Nota: srm
sirve para eliminar cualquier archivo, no importa si lo cifras o no.
Vamos a eliminar el archivo de forma segura:
Ahora solo queda el archivo cifrado. Ese archivo lo podemos dejar ahí y enviarlo por medios inseguros.
Ahora veamos el proceso inverso, y es obtener el archivo original que anteriormente ciframos con gpg. Para ello, la sintaxis es:
gpg -d archivo
Nota: si al descrifrar no te pide la clave, no te preocupes, es porque la está “recordando” por un período de tiempo; si reinicias la PC esto cambiará. Es como cuando usas sudo
y se guardan los privilegios por unos minutos.
Cuando lo invoquemos se nos pedirá la passphrase, y en caso de que sí, se imprimirá el resultado.
Si no queremos que se imprima, simplemente redirigimos la salida como en la imagen a continuación:
Cuando invocamos a:
gpg -d mensaje.txt.gpg
La salida se muestra en la terminal. Y si queremos redirigirlo entonces invocamos:
gpg -d mensaje.txt.gpg > mensaje.txt
Lo mismo es para otros archivos.
No olvides elegir contraseñas seguras siempre, en cualquier momento, incluso al cifrar archivos.
Recuerda que se pueden cifrar otros tipos de archivos como vídeos, imágenes, código fuente, binarios, etcétera.
Para terminar, aquí dejo el archivo cifrado para que pruebes descifrándolo, la contraseña es hunter2.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.
Ver comentarios