Cuando hablamos de criptografía asimétrica lo primero que hay que tener claro es que existen dos tipos de claves, una privada (solo conocida por el propietario, obligatoriamente intransferible) y otra pública (conocida por todos).
En esta práctica lo que vamos a hacer es encriptar un archivo para pasárselo a un compañero y que este lo desencripte, para ello necesitamos la clave pública de nuestro compañero, la usaremos para encriptar el archivo.
Lo primero que explicaré es como crear una clave privada y otra pública. Para ello escribimos en la terminal de Ubuntu: $ gpg --gen-key . Nos pedirá varias cosas, seleccionamos lo siguiente: (1) RSA y RSA, 1024, 0, damos nombre y apellido, un e-mail, un comentario y la contraseña. Ya tenemos creada nuestra clave. Para ver las claves que tenemos usamos: $ gpg --list-keys (para las públicas) y $ gpg
--list-secret-keys (para las privadas). Para exportarlas usamos: $ gpg --armor --output fichero_destino.pub --export ClaveID (para la pública) y $ gpg --armor --output fichero_destino.pri --export-secret-key ClaveID (para la privada). La ClaveID es el número identificativo de nuestra clave (ver imagen de abajo). Nuesto compañero tendrá que exportar su clave pública y pasárnosla para poder encriptar con ella.
Para importar la clave de nuestro compañero en nuestra máquina usamos: $ gpg --import franjjg.pub. A continuación listamos todas nuestras claves públicas para ver que se ha importado.
Una vez que ya tenemos su clave pública ya podemos encriptar un archivo, para ello usamos: $ gpg -- output file.txt.gpg --encrypt --recipient franjjg@gmail.com file.txt
Ya solo nos toca pasarle a nuestro compañero este archivo file.txt.gpg y ya lo podrá desencriptar teniendo sus claves usando: $ gpg --output file.txt --decrypt file.txt.gpg
Como curiosidad, si abrimos el fichero encriptado nos mostrará esto:
No hay comentarios:
Publicar un comentario