GPG - GNU Privacy Guard

Texto muy breve, que muestra como generar llaves, administrarlas,encriptar y desencriptar archivos, con Gnu Privacy Guard.

Generar llaves (publica, secreta)

Ejecutar: gpg --gen-key

gpg (GnuPG) 1.2.3; Copyright (C) 2003 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

gpg: /home/rkc/.gnupg: directorio creado
gpg: creado un nuevo fichero de configuración `/home/rkc/.gnupg/gpg.conf'
gpg: AVISO: las opciones en `/home/rkc/.gnupg/gpg.conf' no están aún activas en esta ejecución
gpg: anillo `/home/rkc/.gnupg/secring.gpg' creado
gpg: anillo `/home/rkc/.gnupg/pubring.gpg' creado
Por favor seleccione tipo de clave deseado:
(1) DSA y ElGamal (por defecto)
(2) DSA (sólo firmar)
(5) RSA (sólo firmar)
Su elección:

Aqui elegimos el tipo, en mi caso elegi "DSA y ElGamal".

Su elección: 1
El par de claves DSA tendrá 1024 bits.
Listo para generar un nuevo par de claves ELG-E.
el tamaño mínimo es 768 bits
el tamaño por defecto es 1024 bits
el tamaño máximo recomendado es 2048 bits
¿De qué tamaño quiere la clave (1024)?

Se elige el tamaño, en mi caso 1024.

El tamaño requerido es de 1024 bits
Por favor, especifique el período de validez de la clave.
0 = la clave nunca caduca
= la clave caduca en n días
w = la clave caduca en n semanas
m = la clave caduca en n meses
y = la clave caduca en n años
¿Validez de la clave (0)?

Período de validez de la clave, en mi caso 0 = nunca.

¿Es correcto (s/n)? s

Necesita un identificativo de usuario para identificar su clave. El programa construye el identificativo a partir del Nombre Real, Comentario y Dirección de Correo Electrónico de esta forma:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Nombre y apellidos:

Nos pregunta nuestro nombre y apellido, al menos debe haber 5 caracteres.

Nombre y apellidos: rkc xxxx

Nos preguntará nuestra direccion de email.

Dirección de correo electrónico: rkc@70semanas.com

Si queremos poner algun comentario, este es el lugar, pero si no queremos, solo tenemos que dar Enter, para dejarlo en blanco.

Comentario:

Ha seleccionado este ID de usuario:
"rkc xxxx <rkc@70semanas.com>"

Este es el momento, si es que nos equivocamos al poner nuestros datos, para cambiarlos, sino ponemos (V)ale, y continuamos con el proceso.

¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? V
Necesita una contraseña para proteger su clave secreta.

AHORA NOS PREGUNTA NUESTRA "FRASE" (contraseña), LA CUAL SE RECOMIENDA QUE CONTENGA LETRAS, NUMEROS, Y QUE SEAN MAS DE UNA PALABRA.

Ver las claves que tenemos

Ahora ejecutamos gpg --list-keys . Esto nos servirá para listar las llaves que tengamos.

Encriptar y desencriptar archivos

Para encriptar hay que ejecutar
gpg -e -r user@host.net archivo.txt .

La opción -e le dice a gpg que debe encriptar, la -r que el "receptor" del archivo archivo.txt es, o mejor dicho va a ser user@host.net. Existe también la opción -a, la cual le indica a gpg que use una "armadura ASCII"; esto hace que el archivo encriptado pueda ser visto por un visor de textos, mientras que si realizamos la encriptación sólo como mostré arriba (sólo con -e), el archivo será encriptado en "forma binaria", y no podrá ser visualizado.

Ahora vamos a desencriptar ese archivo.txt. Ejecutar
gpg -d archivoencriptado.loquesea.txt

Nos preguntará nuestra "FRASE" (contraseña), y nos devolvera a pantalla el texto original, ya desencriptado. ¿Que pasa si por ejemplo quiero de eso que sale en la pantalla (archivo desencriptado), hacer un nuevo texto? Ok, ejecutemos
gpg -d archivoencriptado.loquesea.txt > texto.txt .

Con esta sintaxis, se creará un nuevo texto, el cual contendrá el texto que estaba encriptado, ya desencriptado .. pero, igualmente nos preguntará nuestra "FRASE" (contraseña), luego ver el archivo texto.txt.

Exportar/importar llaves

Para exportar una clave publica, ejecutemos
gpg --export -a user@host.net > userhostnet.asc

Esto nos creará un archivo (userhostnet.asc), que contendra la clave publica del usuario user@host.net. Por ejemplo podemos exportar de la misma manera, nuestra clave pública, así enviársela a nuestros amigos, o publicarla en algun sitio, así nos podrán enviar mensajes encriptados, para que sólo nosotros podamos verlos. Ahora para importar una clave pública, ejecutemos
gpg --import algun-user.asc

Esto agregará a nuestro llavero de claves publicas, la clave publica de algun-user. Asi tambien podremos encriptar archivos, y enviarselos a algun-user, de forma que él y sólo él (o el que tenga su passwd), pueda ver el archivo encriptado que le enviamos.

Editar llaves

Para editar las llaves, ejecutar
gpg --edit-key user@host.net

Si por ejemplo user@host.net somos nosotros, es decir, también tenemos la llave privada (private key), podremos editar todo lo que queramos.

Written and developed completely by rkc.