G�n�ration des cl�s

On lance gpg --gen-key pour g�n�rer les cl�s

test@nutella:~$ 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: WARNING: using insecure memory!
gpg: please see http://www.gnupg.org/faq.html for more information
gpg: /home/test/.gnupg: directory created
gpg: new configuration file `/home/test/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/test/.gnupg/gpg.conf' are not yet
active during this run
gpg: keyring `/home/test/.gnupg/secring.gpg' created
gpg: keyring `/home/test/.gnupg/pubring.gpg' created

On remarque de GPG cr�e un repertoire .gnupg a la racine de compte de l'utilisateur, pour y stoquer sa configuration et ses clefs.

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

Tout d'abord il faut choisir le type de cl� � g�n�rer. L'option par d�faut est conseill�e, puisqu'elle g�n�re les deux types de cl�s possibles simultan�ment (DSA et ElGamal).

DSA keypair will have 1024 bits.
About to generate a new ELG-E keypair.
    minimum keysize is  768 bits
    default keysize is 1024 bits
    highest suggested keysize is 2048 bits
What keysize do you want? (1024) 2048
Requested keysize is 2048 bits

gpg nous demande ensuite la taille que l'on d�sire pour la clef. 1024 est l'id�al pour avoir un bon chiffrement tout en conservant une bonne rapidit� de traitement.

Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct (y/n)? y

Il faut ensuite sp�cifier la dur�e de validit� des cl�s. Il est conseill� au debut de mettre un petit d�lais, dans le but de tester un peu gpg. Dans tous les cas, m�me si la duree est indetermin�e, il est possible d'annuler la validit� d'une cl�, gr�ce � une cl� de r�vocation. Nous verrons cela un peu plus loin.

Real name: Julien Francoz
Email address: julien@francoz.net
Comment: CoCoZ
You selected this USER-ID:
    "Julien Francoz (CoCoZ) <julien@francoz.net>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O

Il faut ensuite rentrer quelques informations sur l'utilisateur: son nom, son adresse email et un commentaire. Le nom servira d'identificateur de la cl� et ne pourra pas �tre modifi�, par contre il sera possible d'associer plusieurs adresses email � une seule cl�.

You need a Passphrase to protect your secret key.
Enter passphrase: *******
Repeat passphrase: *******

La passphrase sera le mot de passe de votre clef. Sans cette passphrase la cl� sera inutilisable pendant quelques temps � celui qui aura votre cl� priv�e.

Il faut quelque chose de pas trop simple, mais de facile � retenir car il faudra la taper avant d'envoyer/recevoir chaque mail sign�/crypt�.

We need to generate a lot of random bytes. It is a good idea to perform
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.
++++++++++++++++++++++++++++++.+++++++++++++++..++++++++++++++++++++++++++++++++
++++++++++++++++++.++++++++++.++++++++++.+++++...++++++++++>++++++++++..>+++++..
................................................................................
........+++++
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.
..+++++++++++++++..+++++++++++++++++++++++++.+++++++++++++++.+++++.++++++++++.+++
++++++++++++++++++++++++++++++++.+++++.+++++.+++++..++++++++++.++++++++++..+++++>
.++++++++++>.+++++>.+++++...................................................+++++
^^^
gpg: /home/test/.gnupg/trustdb.gpg: trustdb created
public and secret key created and signed.
key marked as ultimately trusted.
pub  1024D/920625BC 2003-11-07 Julien Francoz (CoCoZ) <julien@francoz.net>
     Key fingerprint = 5D4B 4D11 66D5 A49D 6E89  A4B0 1CF9 51FE 9206 25BC
sub  2048g/D8E761F0 2003-11-07

Les cl�s sont alors g�n�r�es (la succesion de +.^>...).

Il se peut que GPG indique que le systeme n'est pas assez al�atoire, ce qui signifie que la cl� sera pseudo-p�riodique. Il faudra donc relancer la g�n�ration en faisant travailler un peu le syst�me.

la ligne gpg: /home/test/.gnupg/trustdb.gpg: trustdb created indique que la base de donn�e du r�seau de confiance a �t� g�n�r�e. C'est dans cette base que seront stoqu�es plus tard les cl�s publiques des personnes dont vous aurez certifi� l'authenticit�.

Les 3 derni�res lignes donnent un r�capitulatif des cl�s g�n�r�es:

pub 1024D/920625BC 2003-11-07 Julien Francoz (CoCoZ) <julien@francoz.net> indique la taille et l'identifiant de la cl� publique: 1024 bits, et num�ro 920625BC. Ce num�ro permettra � n'importe qui de facilement importer votre cl� publique depuis un serveur de cl� par exemple. Ensuite il y a la date de cr�ation de la cl�, le nom de la personne, la commentaire et enfin son adresse email.

Key fingerprint =5D4B 4D11 66D5 A49D 6E89 A4B0 1CF9 51FE 9206 25BC indique le fingerprint de la cl�, c'est � dire l'empreinte. C'est un calcul qui permet de v�rifier qu'il s'agit bien de la bonne cl� (un peu comme md5sum pour un fichier): si deux cl�s ont le m�me fingerprint, il y a de tr�s fortes chances pour que ce soit la m�me cl�.

sub 2048g/D8E761F0 2003-11-07 indique la taille, le num�ro de s�rie et la date de la cl� priv�e.