¿Cómo cifrar archivos con GPG?

Autor: | Última modificación: 1 de agosto de 2022 | Tiempo de Lectura: 3 minutos

¿Sabes cómo cifrar archivos con GPG? Normalmente, cuando hablamos de criptografía, nos referimos principalmente a su uso en el mundo de los protocolos para internet y las telecomunicaciones en general. No obstante, GNU Privacy Guard es un programa que te permite encriptar mensajes y firmar digitalmente de manera independiente. A continuación, te explicaremos cómo cifrar archivos como GPG.

¿Cómo cifrar archivos con GPG?

GNU Privacy Guard es una herramienta de código abierto con la que puedes cifrar y descifrar archivos directamente, así como crear tus propias claves y firmas digitales de manera autónoma. Usualmente los algoritmos de cifrado se utilizan para crear certificados de autenticidad en internet y encriptar nuestras comunicaciones. Sin embargo, GnuPG o GPG nos permite hacer este proceso de forma independiente y mandar mensajes encriptados por el canal inseguro que queramos.

A continuación, te explicaremos el proceso de cómo cifrar archivos con GPG, que consiste en seguir los siguientes pasos:

  1. Generar una clave pública.
  2. Exportar y compartir dicha clave.
  3. Cifrar y enviar el archivo.
  4. Recibir y descifrar el archivo.

Generar la clave pública

El primer paso de cómo cifrar archivos con GPG es la creación de una clave pública. Para generarla una de forma simple, ejecuta el siguiente comando:

>gpg2 --gen-key

O, si quieres tener mayor libertad para configurar la clave, utiliza:

>gpg2 --expert --full-gen-key

El último comando desplegará el menú para que escojas el tipo de clave y de firma (o solo de firma) que quieras. Las opciones que te ofrece GPG2 son:

(1) RSA and RSA
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
(7) DSA (set your own capabilities)
(8) RSA (set your own capabilities)
(9) ECC (sign and encrypt) *default*
(10) ECC (sign only)
(11) ECC (set your own capabilities)
(13) Existing key
(14) Existing key from card

Supón que elegimos la opción 9, que es el sistema de cifrado que utiliza el programa por defecto, ECC o cifrado de curva elíptica. A continuación, tendrás que elegir qué tipo de curva elíptica utilizar. Algunas de las más conocidas son:

  • Curva 25519 (que es la que utiliza GPG por defecto).
  • Curva 448.
  • NIST P-256.
  • NIST P-384.
  • NIST P-521.

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

Luego, tendrás que elegir el tiempo de expiración de la clave (puedes especificar en términos de días, semanas, meses y años) y, por último, deberás crear un ID de usuario para relacionar con tu clave pública y privada.

Exportar y compartir tu clave pública con GPG

El segundo paso de cómo cifrar archivos con GPG es compartir tu clave pública con otros usuarios, para que puedas comunicarte de forma confidencial y autenticada con ellos a través de un sistema de cifrado asimétrico. Para eso, tendrás que exportar tu clave pública en código ASCII con el siguiente comando:

>gpg --armor --export claveejemplo

El comando «–armor» se utiliza para que la clave aparezca en código ASCII y la palabra «claveejemplo» será el nombre que le hemos dado a la clave. El resultado de ejecutar ese comand, será la clave pública que otros usuarios pueden implementar para desencriptar mensajes secretos. Debes guardarla como un archivo de texto.

Cifrado de archivos con GPG

El siguiente paso de cómo cifrar archivos con GPG es la encriptación. El comando que utilizaremos para cifrar archivos con GnuPG es:

>gpg --output doc.gpg --encrypt --recipient<id> doc.txt
  • output: sirve para indicar el documento en el que deseas exportar la encriptación.
  • encrypt: es el comando para encriptar.
  • recipient: es el fingerprint de la clave pública del usuario al cual deseas enviarle el mensaje. Puedes incluir tantos recipients como desees y recuerda que, si no incluyes tu propia clave pública, después no podrás descifrar el mensaje tú mismo.
  • doc.txt: en este ejemplo, representa el documento que se desea encriptar.

Para encriptar archivos en código ASCII, utiliza el siguiente código:

>gpg --output doc.gpg --encrypt --armor --recipient<id> doc.txt

Descifrar archivos con GPG

Ya hemos visto cómo cifrar archivos con GPG utilizando la clave pública de otro usuario. Ahora, veremos cómo descifrar la información del otro extremo del canal.

La ventaja de usar GPG es que puedes transmitir la información en código ASCII por medio de cualquier canal inseguro, como un correo electrónico, por ejemplo. Al recibir el mensaje encriptado (doc.gpg), podrás descifrarlo al ejecutar el siguiente comando:

>gpg --output doc.txt --decrypt doc.gpg

El programa utilizará tu clave privada para descifrar el mensaje secreto que te han enviado con el archivo cifrado. El contenido del archivo original aparecerá, en el caso de este ejemplo, en el documento «doc.txt».

¿Cómo aprender más?

Ahora sabes cómo cifrar archivos con GPG y compartirlos con otros usuarios. Si quieres aprender más y te interesa ser un experto en ciberseguridad, aquí tenemos el mejor curso para ti. Ingresa en nuestro Ciberseguridad Full Stack Bootcamp y especialízate en hacking ético en menos de 7 meses. Además, nuestra formación íntegra e intensiva te permitirá formarte de mano de grandes profesionales del sector de forma tanto teórica como práctica. ¡Inscríbete ya!

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.