Creación de Claves Pública-Privada en Cifrado Asimétrico
Usuario Emisor David
Para generar ambas claves dispones del siguiente comando: $ gpg --gen-key Como se puede apreciar en la captura, el programa nos guiará de forma interactiva por las distintas preguntas de seguridad, para la creación de las claves de cifrado. En nuestra práctica, serán las respuestas por defecto:- Tipo de claves: RSA y RSA
- Longitud claves: 2048 bits
- Período de validez: Nunca Caduca
- Nombre y Apellidos
- Dirección de correo electrónico
- Comentario
Para observar el valor de nuestra clave podemos utilizar las opciones -a --export
$ gpg -a --export key_id
Exportar e Importar Claves Públicas Seguras
A continuación vamos a exportar la clave directamente a un archivo, al que vamos a llamar miclave.asc. Este archivo lo vamos a enviar a alguien de confianza, para que pueda obtener nuestra clave pública contenida en este archivo y así poder enviarnos mensajes cifrados con la dicha clave
$ gpg -a --export -o miclave.asc key_id
Ahora lo único que nos queda, es hacer llegar a nuestro usuario de confianza el archivo miclave.asc por cualquier medio, ya sea correo electrónico, un pen USB, etc.
Usuario Receptor Pedro
Como podemos ver en la captura de pantalla, el usuario pedro ya dispone del archivo miclave.asc en su directorio home Ahora debemos de incluir la clave pública contenida en el archivo, en el almacén de claves públicas del GPG o anillo de claves (keybring). Para ello utilizamos el siguiente comando: $ gpg --import clavepublica.asc Verificamos la operación con: $ gpg –kvCreamos un archivo de prueba con datos personales para enviarlo al usuario David. Lo llamaremos DocParaDavid, e incluiremos ciertos datos ficticios susceptibles para la práctica, de modo que podría ser un archivo que requiera una alta seguridad, por los datos que incluye
Vamos a utilizar la clave pública que importamos en Pedro, para ecriptar el archivo creado y poder enviarselo con seguridad al dueño de las claves simétricas, David, que será el único que pueda descifrar el contenido. Lo hacmos con el siguiente comando: $ gpg -a -r David --encrypt documento Esta orden crea el archivo DocParaDavid.asc cifrado. Lo comprobamosUna vez que el usuario David dispone del archivo cifrado DocParaDavid.asc, lo puede descifrar con el siguiente comando
$ gpg documento.asc
Comprobamos como se ha creado el archivo descifrado DocParaDavid y que contiene el mensaje originalFin de la Práctica