Mapa
banner Cyvernauta web2
----- cyvernauta ---
Aqui se explicara lo basico del uso de GnuPG (generar las claves, cifrar y descifrar principalmente)

1.- Generando claves:


El primer paso para usar GPG es generar el par de claves (publica y privada) que vamos a utilizar. Para generar las claves utilizaremos el comando

gpg --gen-key

Esto nos dara 3 opciones (esto puede variar entre versiones) para elegir el algoritmo de clave que queramos: DSA y Elgamal(las dos juntas) , DSA (solo) y RSA
Es este caso dice que con DSA (solo) o RSA solo se puede firmar (y no sirve para cifrar):

Please select what kind of key you want:
   (1) DSA and Elgamal (default)
   (2) DSA (sign only)
   (5) RSA (sign only)
Your selection?

Esto es cuestion de preferencias, seguramente sea util cifrar, asi que lo recomendable es elegir la opcion por defecto.

Ahora si hemos elegido una opcion que no fuera DSA (sola) nos preguntara el tamaņo de la clave que queremos (a mas tamaņo mas seguridad pero tarda mas en cifrar, descifrar y demas), por defecto es 2048 y tiene que estar entre el 1024 y el 4096... introducimos el tamaņo que queremos y pasamos al siguiente paso.

Lo siguiente es cuanto durara la clave antes de 'caducar' : si escribimos 0 durara para siempre, si escribimos un numero, durara esos dias, si despues del numero va una "w" seran semanas, si es una "m" meses y si es una "y" aņos

Ahora pedira que confirmemos si la fecha en la que expira la clave es la correcta (si no lo es nos devolvera al paso anterior)

Lo que queda es introducir los datos... lo primero sera el nombre real
Lo segundo el email
Y de ultimo un comentario

Ahora pedira de nuevo confirmacion...

Por ultimo hay que introducir una contraseņa (nos pedira repetirla) (OJO! con esta contraseņa se cifraran las otras claves, asi que sera mejor usar mayusculas, minusculas, espacios y simbolos)
[en estos dos ultimos pasos aunque escribamos por seguridad no saldra nada en la pantalla]

Ahora el ordenador se pondra a generar la clave... mientras tanto es mejor usarlo para que pueda generar una clave mas aleatoria (y por tanto mas segura).

2.- Exportando e importando claves



Si queremos cifrar algo para mandarselo a alguien necesitaremos su clave publica, asi que...

Para ver la lista de las claves que tenemos escribimos el comando:

gpg --list-keys

Para exportar una clave usamos:

gpg -a -o nombre_del_archivo.asc --export [uid]
El uid se muestra con el comando anterior, se puede usar cualquiera de los datos (nombre real de usuario, comentario o email)

Y para importar las claves:

gpg --import nombre_del_archivo.asc

Para extraer tambien la clave secreta, por que vas a formatear el ordenador o algo por el estilo, el comando es:

gpg --armor --output nombre_de_archivo.txt --export [uid]

3.- Cifrando y descifrando



Para cifrar un archivo utilizamos este comando:

gpg -a -o archivo_cifrado -er [uid destinatario] archivo_descifrado
Nota: Despues de cifrar un archivo solo el destinatario lo puede descifrar (ni siquiera el que lo cifro)

Y para descifrarlo:

gpg -a -o archivo_descifrado -d archivo_cifrado

4.- Ejemplo de uso



(Los comentarios llevan # al principio de la linea)



# Generando la clave...
$ gpg --gen-key
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
   (1) DSA and Elgamal (default)
   (2) DSA (sign only)
   (5) RSA (sign only)
Your selection? 1
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 2048
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
      <u> = key expires in n days
      <u>w = key expires in n weeks
      <u>m = key expires in n months
      <u>y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) "
Real name: usuario
Email address: usuario@example.org
Comment: prueba
You selected this USER-ID:
    "usuario (prueba) "

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
You need a Passphrase to protect your secret key.
Enter passphrase:
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
+++++.+++++.++++++++++..++++++++++.+++++++++++++++++++++++++..+++++
++++++++++.++++++++++++++++++++++++++++++.++++++++++++++++++++..+
+++++++++>++++++++++>..+++++..........
<+++++.................>+++++...................................................+++++

Not enough random bytes available. Please do some other work to give
the OS a chance to collect more entropy! (Need 276 more bytes)
gpg: key C26B7362 marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   1024D/C26B7362 2009-10-04
      Key fingerprint = B11A 4E0F 3E9D 23A3 9F17 1245 6FCA 081B C26B 7362
uid                  usuario (prueba)
sub   2048g/F6FDDE65 2009-10-04

#Importando una clave
$ gpg --import user2.asc
gpg: key 95D95293: public key "usuario2 (user2) " imported
gpg: Total number processed: 1
gpg:               imported: 1
#Mostrando lista de claves
$ gpg --list-keys
/home/user/.gnupg/pubring.gpg
----------------------------------
pub   1024D/C26B7362 2009-10-04
uid                  usuario (prueba)
sub   2048g/F6FDDE65 2009-10-04

pub   1024D/95D95293 2009-10-04
uid                  usuario2 (user2)
sub   2048g/88D49EEC 2009-10-04

# Como se puede ver este comando no muestra la clave privada

# Cifrando un mensaje

$ gpg -a -o archivo_cifrado -er usuario2@example.org archivo_cifrado
gpg: 88D49EEC: There is no assurance this key belongs to the named user

pub 2048g/88D49EEC 2009-10-04 usuario2 (user2)
Primary key fingerprint: F2F6 84AB AF55 80E2 B577 E6D3 841E 6748 95D9 5293
      Subkey fingerprint: 1705 A8B7 0244 F7E1 18D0 7C4B 5A2D 1B24 88D4 9EEC

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

# Aqui lo que dice es que no hay seguridad de que esta clave pertenezca al usuario y pide confirmacion
# para que no lo haga hay que asignar niveles de confianza a las claves
# pero si se intenta explicar todas las posibilidades del programa no acabamos hoy ni maņana

# Y ahora a descifrar el archivo...

$ gpg -a -o archivo_descifrado -d archivo_cifrado

You need a passphrase to unlock the secret key for
[...]
Enter passphrase:

#Fin...
$


Escrito por Kenkeiras bajo la licencia Creative Commons By-Sa