La premi�re op�ration � r�aliser est la g�n�ration d'une paire clef priv�e/clef publique avec la commande
--gen-key :
gpg --gen-key
Cette commande g�n�re une nouvelle paire de clefs, une priv�e et une publique en se basant sur vos r�ponses � quelques
questions. La premi�re concerne l'algorithme de chiffrement et de signature que vous voulez utiliser. Vous trouverez des
informations sur les algorithmes propos�s dans PGP DH vs. RSA FAQ
et surtout dans l'excellent ouvrage de Bruce Schneier : Cryptographie appliqu�e.
Le choix DSA and ElGamal est � privil�gier �tant donn� leur utilisation tr�s courante sur le r�seau Internet. Si vous
choisissez de n'utiliser que l'algorithme ElGamal, il vous sera demand� de confirmer ce choix (implications � pr�ciser).
La seconde question concerne la longueur de votre clef de chiffrement ou de signature si vous avez choisi de g�n�rer une clef de signature seulement. La r�ponse � cette question d�pend pour beaucoup de l'usage que vous comptez en faire. Pour l'algorithme DSA, la longueur de la clef est g�n�ralement de 1024 bits. Pour ElGamal, vous pourrez choisir une longueur entre 768 bits et 2048 bits. Dans l'absolu, plus une clef est longue, mieux c'est. Cependant, le temps de chiffrement augmente avec la longueur de votre clef. Si vous n'avez pas d'id�e pr�cise quand � la longueur n�cessaire, le mieux est de choisir la taille propos�e par d�faut. Si � l'usage cette taille s'av�re inadapt�e, vous pourrez toujours g�n�rer une nouvelle paire de clef plus adapt�e � vos besoins.
Les questions suivantes servent � collecter de l'information qui servira plus tard � distinguer sans ambigu�t� cette nouvelle paire de clefs parmi toutes les paires de clefs en votre possession. C'est gr�ce � ces informations, par exemple, que vous pourrez choisir la paire de clefs � utiliser pour signer un message. Vous devez donc entrer un nom, une adresse email et un commentaire. Le commentaire �tant un champs libre est tr�s pratique pour distinguer vos paires de clefs les unes des autres. Toutes ces informations et un g�n�rateur de nombres pseudo-al�atoires seront ensuite utilis�s pour g�n�rer une nouvelle paire de clefs. Vous pourrez, si vous le souhaitez, modifier ult�rieurement les informations contenues dans une paire de clefs.
Il ne vous reste plus qu'� choisir une phrase clef qui servira � chiffrer votre clef priv�e pour pouvoir la stocker sans risques sur votre disque dur. Cette phrase vous sera demand�e � chaque fois que vous voudrez utilisez votre clef priv�e. Autrement dit, si vous oubliez la phrase clef d'une paire de clefs, vous ne pourrez plus utiliser cette paire de clefs ! Veillez donc � vous pr�munir contre ce genre de risques sans mettre en p�ril la confidentialit� de votre phrase clef. En effet, la s�curit� de vos messages repose sur la confidentialit� de votre clef priv�e et la confidentialit� de votre clef priv�e sur celle de votre phrase clef. La premi�re mesure � prendre est donc de choisir une phrase clef robuste. Le probl�me ici est qu'il n'existe pas de d�finition rigoureuse de robuste. Nous pouvons seulement donner quelques conseils :
La seconde mesure consiste � g�n�rer un certificat de r�vocation pour toute une nouvelle paire de clefs. La raison de proc�der ainsi est qu'il vous faut disposer de la clef priv�e, et donc de la phrase clef, pour g�n�rer le certificat de r�vocation d'une paire de clef. G�n�rer le certificat de r�vocation le plus t�t possible vous mets � l'abri de l'oubli de votre clef. Vous devrez bien s�r conserver ce certificat � l'abri.
Une fois toutes les informations entr�es, le calcul de votre paire de clef commence. Le g�n�rateur de nombres pseudo-al�atoires a besoin d'un tr�s grand nombre de donn�es al�atoires, ce qui est difficile sur un ordinateur. Vous pouvez am�liorer la qualit� des r�sultats du g�n�rateur de nombres pseudo-al�atoires en g�n�rant vous m�me un peu de hasard, par exemple en bougeant votre souris, en tapant sur votre clavier, en ex�cutant des applications, etc. L'utilisation de pseudo-hasard est n�cessaire pour s'assurer qu'il n'est pas possible d'obtenir votre clef priv�e en effectuant le m�me calcul que vous. En fait, les chances de succ�s d'une telle attaque sont directement li�es � la qualit� du pseudo-hasard g�n�r� par le g�n�rateur de nombres pseudo-al�atoires.
Vos paires de clefs sont stock�es sur votre syst�me et la commande --export vous permet d'extraire la
clef publique d'une paire de clefs et de l'�crire sur la sortie standard :
gpg --export [info-clef]
[info-clef] est une information permettant de distinguer sans ambigu�t� la paire de clefs dont vous voulez
extraire la clef publique. Si cette information n'est pas fournie alors ce sont les clefs publiques de toutes les paires
de clefs en votre possession qui seront affich�es. Bien s�r, si vous ne possedez qu'une paire de clef, aucune
information n'est n�cessaire pour en extraire la clef publique.
La commande --export �crit la clef publique en caract�res cod�s sur 8 bits, ce qui peut poser quelques
probl�mes pour l'envoyer par email ou pour l'afficher. L'option --armor ou -a
permet d'obtenir une clef publique en caract�res cod�s sur 7 bits.
Par d�faut, la clef publique est �crite sur la sortie standard. L'option --output ou -o permet
d'�crire cette clef dans un fichier plut�t que sur la sortie standard.
Une fois votre clef publique dans un fichier, vous devez la mettre � disposition de vos �ventuels interlocuteurs pour
qu'ils puissent s'en servir pour vous envoyer des messages chiffr�s avec. Vous pouvez le faire, par exemple, en pla�ant cette
clef sur une de vos pages web, dans votre fichier ~/.plan, en l'envoyant par mail ou en la d�posant sur un
serveur de clefs.
Pour pouvoir utiliser la clef publique d'un de vos interlocuteurs, vous devez l'ajouter � votre trousseau gr�ce � la
commande --import :
gpg --import [fichier]
Si aucun nom de fichier n'est pass� en param�tre, la clef publique est lue depuis l'entr�e standard.
La commande --list-keys affiche toutes les clefs publiques en votre possession et toutes les informations
attach�es � vos clefs publique sur la sortie standard :
gpg --list-keys
Vous pouvez aussi obtenir les signatures des clefs publiques en votre possession avec la commande
--list-sigs :
gpg --list-sigs
et les clefs priv�es de votre trousseau avec la commande --list-secret-keys :
gpg --list-secret-keys
La commande --delete-key vous permet d'effacer une clef publique de votre trousseau :
gpg --delete-key info-clef
et la commande --delete-secret-key vous permet d'effacer une clef priv�e de votre trousseau :
gpg --delete-secret-key
--fingerprint affiche les empreintes des clefs publiques de votre trousseau :
gpg --fingerprint
--edit-key :
gpg --edit-key info-clef
Cette commande vous donne acc�s � un menu textuel qui vous permet, entre autres, de signer la clef d�sign�e par
info-clef en tapant sign. Une fois la clef publique sign�e, vous pouvez la
rendre publique de la m�me fa�on que pour une de vos clefs publiques. Une fois de plus, rappelons
que vous pouvez totalement compromettre la s�curit� de vos �changes et
de ceux de ceux qui vous font confiance, en
accordant votre confiance � la l�g�re. Vous ne donc signer une clef publique que lorsque vous �tes ABSOLUMENT SUR
de l'authenticit� de la clef que vous signez.
Ce menu textuel vous permet aussi de modifier le niveau de confiance avec la commande trust. Les niveaux de
confiance sont :
Vous pouvez g�n�rer un certificat de r�vocation pour une paire de clefs en votre possession � tout moment avec la
commande --gen-revoke :
gpg --gen-revoke info-clef
Attention, la g�n�ration d'un certificat de r�vocation d'une paire de clef n�cessite de connaitre la clef priv�e de la
paire � r�voquer. Si vous oubliez la phrase clef d'une paire de clefs, vous ne pourrez plus r�voquer cette paire. Vous
avez donc int�ret de ce point de vue � g�n�rer ce certificat d�s que vous cr�er une paire. D'un autre cot�, si quelqu'un
r�ussi � obtenir ce certificat, il peut faire croire que vous avez r�voquer la paire de clefs d�crite par ce
certificat. Vous devrez donc mettre ce certificat en s�curit� tant que vous voudrez vous servir de la paire de clefs
r�vocable par ce certificat.
La commande --edit-key vous donne acc�s � un menu textuel vous permettant de modifier certaines
informations associ�es � une clef publique de votre trousseau de clefs :
gpg --edit-key info-clef
Vous pouvez connaitre les commandes accessibles sous ce menu textuel avec la commande help.