GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo cifrar y descifrar un archivo usando GnuPG en Linux

Usando el comando GnuPG gpg puede generar claves públicas y privadas. En este tutorial, utilizaremos las claves generadas por el comando gpg para enviar y recibir archivos cifrados y firmar digitalmente un archivo.

Cifrar un archivo y enviarlo a un amigo

1. Importa la clave pública de tu amigo

Cuando desee enviar un archivo secreto a su amigo, lo primero que debe hacer es importar la clave pública de su amigo. Puede importar la clave pública de sus amigos desde un "servidor de claves" si él/ella ha exportado su clave pública a un servidor de claves.

Consulte la sección "Exportar sus claves públicas" en nuestro artículo Conceptos básicos de GnuPG para comprender cómo exportar su clave pública a un servidor de claves.

Para importar una clave pública desde un servidor de claves, haga lo siguiente. Puede importar utilizando cualquiera de los métodos anteriores. Proporcione el ID de clave o el ID de correo electrónico o el nombre real de su amigo para importar las claves correctamente.

$ gpg --search-keys --keyserver keyserver.ubuntu.com 'KEY-ID'

or

$ gpg --search-keys --keyserver keyserver.ubuntu.com 'E-Mail ID'

or

$ gpg --search-keys --keyserver keyserver.ubuntu.com 'Real Name'

Para importar una clave pública desde un archivo, haga lo siguiente. Si su amigo le envió por correo electrónico su clave pública, entonces puede importar esas claves usando el siguiente comando

$ gpg --import myfriends_pub_key.gpg

2. Verificar el servidor de claves importado

Puede verificar si ha importado con éxito la clave pública de su amigo usando la opción –list-keys

$ gpg --list-keys

/home/lakshmanan/.gnupg/pubring.gpg
-----------------------------------
pub   2048R/A7344E7D 2012-10-12
uid                  lakshmanan (My test GPG keys)
sub   2048R/96F8EF9B 2012-10-12

pub   2048R/FB2744A8 2012-12-03
uid                  raman (Ram's test ID)
sub   2048R/88EF55EE 2012-12-03

Ahora he importado la clave pública de mi amigo Raman.

3. Cifre un archivo secreto usando la clave pública de su amigo

Ahora que tiene la clave pública de su amigo, puede enviarle un archivo, que está encriptado con "La clave pública de su amigo", para que solo su amigo (que tiene la clave privada) pueda descifrarlo.

$ gpg --encrypt --recipient raman a.txt

gpg: 88EF55EE: There is no assurance this key belongs to the named user

pub  2048R/88EF55EE 2012-12-03 raman (Ram's test ID)
 Primary key fingerprint: FF32 7764 A0AE 1E85 AC4B  CF17 8AED B292 FB27 44A8
      Subkey fingerprint: D6A5 7107 77C8 6845 2F86  765C EEED DD85 88EF 55EE

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

Use this key anyway? (y/N) y

Tenga en cuenta que hay una advertencia que dice que no hay garantía de que la "Clave pública" pertenezca a su amigo. Revisaremos esto cuando el tiempo lo permita. A partir de ahora, como confío en mi frito, he dado "Sí" para usar la clave.

Creará un archivo llamado "a.txt.pgp", cuando se abra con el editor, tendrá algunos datos binarios. Envía este archivo a tu amigo por cualquier medio.

Si no desea enviar un contenido binario, o si hay problemas al enviar binario, puede usar la opción –armor que crea un archivo ASCII como se muestra a continuación.

$ gpg --encrypt --armor --recipient raman a.txt

Descifrar un archivo

Ahora su amigo habría recibido su archivo encriptado. Para ver el contenido del archivo, necesita descifrar el archivo. Dado que la operación de descifrado se realizará utilizando la clave privada de su amigo, le solicitará la frase de contraseña proporcionada por su amigo al crear las claves.

$ gpg --decrypt a.txt.gpg > secret.txt

Ahora el archivo secret.txt contendrá el texto real escrito.

Enviar un archivo cifrado a varios destinatarios

También puede enviar un archivo a varios destinatarios utilizando el destinatario o -r

$ gpg -r raman -r steve -r gopi --encrypt a.txt

Una vez que se da el comando anterior, gpg utilizará la clave pública de todos los destinatarios para cifrar los datos de tal manera que cualquiera de sus claves privadas pueda descifrar los datos.

En nuestro próximo artículo de esta serie, explicaremos cómo firmar el mensaje con datos y marca de tiempo.


Linux
  1. ¿Cómo descomprimir el formato de archivo .xz en Linux usando las utilidades tar y xz?

  2. ¿Cómo convertir un archivo PPK a claves OpenSSH e iniciar sesión usando SSH en Linux?

  3. Cómo crear combinaciones de teclas de funciones y macros de Linux en un archivo .intputrc

  4. Cómo generar claves PGP usando GPG en Linux

  5. Cómo encriptar un archivo grande en openssl usando una clave pública

Conceptos básicos de Linux:cómo ocultar, bloquear, cifrar y proteger sus archivos en Linux

Todo sobre archivos tar y cómo tar, untar archivos en Linux usando Terminal

Una forma fácil de cifrar y descifrar archivos desde la línea de comandos en Linux

RPM y GPG:cómo verificar los paquetes de Linux antes de instalarlos

Cómo borrar de forma segura un disco y un archivo usando el comando shred de Linux

Cómo cifrar archivos en Linux