PGP s'utilise via quatre commandes :
pgpe (PGP encrypt) : Qui assure les fonctions de
cryptage et de cryptage avec signature,pgps (PGP sign) : Qui assure la fonction de
signature simple,pgpk (PGP key) : Qui permet la gestion des clefs
(ajout, création, modification, destruction),pgpv (PGP verify) : Qui assure les fonctions de
décryptage et de vérification de signature.
Tapez la commande pgpk -g.
Choose the type of your public key: 1) DSS/Diffie-Hellman - New algorithm for 5.0 (default) 2) RSA Choose 1 or 2:
Cette étape permet de choisir l'algorithme qui va générer la clef. Il faut savoir que l'algorithme DSS/Diffie-Hellman est considéré à l'heure actuelle comme plus sûr que RSA.
Pick your public/private keypair key size: (Sizes are Diffie-Hellman/DSS; Read the user's guide for more information) 1) 768/768 bits- Commercial grade, probably not currently breakable 2) 1024/1024 bits- High commercial grade, secure for many years 3) 2048/1024 bits- "Military" grade, secure for forseeable future(default) 4) 3072/1024 bits- Archival grade, slow, highest security Choose 1, 2, 3 or 4, or enter desired number of Diffie-Hellman bits (768 - 4096):
La longueur de la clef détermine la complexité de l'opération de cryptage/décryptage et en même temps le niveau de sécurité auquel vous vous situez. En règle générale, le niveau 2 suffit amplement pour un particulier, mais cela dépend de la législation du pays où vous êtes (restriction sur la taille des clefs) et des informations que vous allez avoir à crypter.
You need a user ID for your public key. The desired form for this user ID is your FULL name, followed by your E-mail address enclosed in <angle brackets>, if you have an E-mail address. For example: Joe Smith <user@domain.com> If you violate this standard, you will lose much of the benefits of PGP 5.0's keyserver and email integration. Enter a user ID for your public key:
Permet de donner un nom à une clef. Par la suite vous pourrez faire référence à cette clef simplement par le nom, le prénom ou même l'adresse électronique.
Enter the validity period of your key in days from 0 - 999 0 is forever (and the default):
Dépend des moyens de calcul que possèdent les gens qui pourraient vouloir lire vos messages. En cryptanalyse, la puissance de calcul seule ne veut rien dire. Il faut aussi considérer le temps dont on dispose pour décrypter l'information avant qu'elle ne perde sa validité. Si vous n'intéressez que des particuliers, vous pouvez probablement garder votre paire de clefs indéfiniment.
You need a pass phrase to protect your private key(s). Your pass phrase can be any sentence or phrase and may have many words, spaces, punctuation, or any other printable characters. Enter pass phrase: Enter again, for confirmation: Enter pass phrase:
La pass-phrase sert à protéger l'accès à votre clef privé sur le disque-dur. En effet, la clef privée n'est certainement pas écrite en clair sur votre compte. Cette pass-phrase permet de reconstituer votre clef privé. Elle vous sera demandée à chaque fois que vous aurez besoin votre clef privé.
Ne l'oubliez pas!
Mais évitez de l'inscrire à un endroit où quelqu'un pourrait la lire.
If you wish to send this new key to a server, enter the URL of the server, below. If not, enter nothing.
Cette étape vient après la création de la paire de clef, elle permet de mettre à jour automatiquement votre clef sur les serveurs de clefs sur lesquels vous êtes répertoriés.
Et voila, vous avez maintenant une paire de clefs qui sont stockées dans
le répertoire .pgp situé à votre racine.
Vous avez donc une paire de clef. Mais pour pouvoir communiquer, il vous
faut envoyer votre clef publique à vos correspondants. Pour cela, nous
allons extraire votre clef publique de votre base de clefs avec la
commande pgpk -x <user-id> -o mykey.pgp.
Le fichier mykey.pgp devrait contenir :
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: PGPfreeware 5.0i for non-commercial use mQGiBDi83BIRBADu3L6QPiVSqk5mw3sc0mpRibwGSNbrhaeuMjoKWw1mNl4rZI3I w25A/BYXxId50LfIXKCSyKmhykzbzoYTeUMDbDH5OBG8kJQZ2uxQtgjtSnGT4dOJ fQmJdUHfdT4JTw7hCmBcdZvpBnWggg1KSzlMDY64HYff0B9Zj/c+oee2ZQCg/wj0 ... GeDFyd/IxJE1XYpGPWpGfIkAPwMFGDi9OF5MBlCJG6RMgRECNNQAnioq2StX/5co jhN/5BoTYpia3O5HAKCV5/UtcCvMQTXgxGpItxoGjsilfg== =4y8h -----END PGP PUBLIC KEY BLOCK-----
Ce fichier contient votre clef publique que vous pouvez envoyer à vos correspondants. De la même façon, vous pouvez extraire la clef publique de n'importe quel utilisateur présent dans votre base de clef PGP.
Si l'un de vos correspondants vous communique une clef que vous désirez
ajouter à votre base, il suffit de la sauver dans un fichier et
d'exécuter la commande pgpk -a <filename>.
Obtenir la liste de toutes les clefs de sa base se fait par un pgpk
-l. Pour obtenir encore plus d'informations on peut faire un
pgpk -ll.
Il est aussi possible d'extraire des informations sur un seul
utilisateur en spécifiant l'user-id de celui-ci :
pgpk -l <user-id>
bash$ pgpk -l dupont Type Bits KeyID Created Expires Algorithm Use sec+ 1024 0x1BA44C81 2000-03-01 ---------- DSS Sign & Encrypt sub 1024 0xA0BAC7FA 2000-03-01 ---------- Diffie-Hellman uid Jean Dupont <dupont@jean.fr>
Éditer les attributs d'une clef se fait par la commande pgpk -e
<user-id>. Lorsqu'il s'agit de sa propre clef, on peut
modifier son user-id et sa pass-phrase.
Dans l'exemple, suivant l'utilisateur dupont a deux paires de clefs :
bash$ pgpk -e dupont Please select a key to edit: 1) sec+ 1024 0x1BA44C81 2000-03-01 ---------- DSS Sign & Encrypt sub 1024 0xA0BAC7FA 2000-03-01 ---------- Diffie-Hellman uid Jean Dupont <dupont@jean.fr> 2) sec 1024 0x498FBF8C 2000-03-01 ---------- DSS Sign & Encrypt sub 1024 0x7AF22D31 2000-03-01 ---------- Diffie-Hellman uid Jean Dupont <dupont@jean.fr> Choose one of the above: 1 1024 bits, Key ID 0x1BA44C81, created 2000-03-01 "Jean Dupont <dupont@jean.fr>" Do you want to unset this key as axiomatic [y/N]? N Do you want to add a new user ID [y/N]? N Do you want to change your pass phrase (y/N)? N Do want to set this as your default key [y/N]? y Keyrings updated.
Si la clef en question n'est pas à vous, vous pouvez uniquement modifier la confiance que vous avez dans l'utilisateur.
pub 1024 0x31BF8027 2000-03-01 2002-01-30 DSS Sign & Encrypt sub 2048 0xA6CEA8F6 2000-03-01 2002-01-30 Diffie-Hellman uid John Doe <doe@john.org> 1024 bits, Key ID 0x31BF8027, created 2000-03-01 "John Doe <doe@john.org>" Would you trust this key owner to act as an introducer and certify other people's public keys to you? (1=I don't know. 2=No. 3=Usually. 4=Yes, always?
Enfin, vous pouvez révoquer (effacer) une clef en faisant pgpk -r
<user-id>. En reprenant l'exemple de Jean Dupont qui avait
deux clefs, on a :
Please select a key to be removed: 1) sec+ 1024 0x1BA44C81 2000-03-01 ---------- DSS Sign & Encrypt sub 1024 0xA0BAC7FA 2000-03-01 ---------- Diffie-Hellman uid Jean Dupont <dupont@jean.fr> 2) sec 1024 0x498FBF8C 2000-03-01 ---------- DSS Sign & Encrypt sub 1024 0x7AF22D31 2000-03-01 ---------- Diffie-Hellman uid Jean Dupont <dupont@jean.fr> Choose one of the above: 2 The following key has been selected to be removed: sec 1024 0x498FBF8C 2000-03-01 ---------- DSS Sign & Encrypt sub 1024 0x7AF22D31 2000-03-01 ---------- Diffie-Hellman uid Jean Dupont <dupont@jean.fr> Do you wish to remove this key from your public and private keyrings? [y/N]? y Removed.
Le cryptage d'un fichier se fait par la commande :
pgpe -r <destinataire-id> -a -o <outfile>
<filename>
L'option -a permet de générer un cryptage en ASCII, il est 30%
plus gros, mais passe sans problème par le courrier électronique.
Par exemple, si Jean Dupont veut écrire à John Doe en signant son message, on aura :
bash$ pgpe -r doe -s -a -o crypt-message.pgp message A private key is required to make a signature. Need a pass phrase to decrypt private key: 1024 bits, Key ID 1BA44C81, Created 2000-03-01 "Jean Dupont <dupont@jean.fr>" Enter pass phrase: Pass phrase is good. 1024 bits, Key ID 1FA54D81, Created 2000-03-01 "John Doe <doe@john.org>" Creating output file crypt-message.pgp
On peut combiner l'opération de cryptage d'un message avec l'opération
de signature. il suffit de rajouter l'option -s :
pgpe -r <destinataire-id> -s -a -o <outfile>
<filename>
On utilise le programme pgps avec les options suivantes :
pgps -a -o <outfile> <filename>
On utilise le programme pgpv avec les options suivantes :
pgpv -o <outfile> <filename>
Par exemple, si John Doe veut lire le message de Jean Dupont, on aura :
bash$ pgpv -o message crypt-message.pgp Message is encrypted. Need a pass phrase to decrypt private key: 1024 bits, Key ID A0BAC7FA, Created 2000-03-01 Enter pass phrase: Pass phrase is good. Opening file "message" type binary. Good signature made 2000-03-01 18:17 GMT by key: 1024 bits, Key ID 1BA44C81, Created 2000-03-01 "Jean Dupont <dupont@jean.fr>"
Vous verrez souvent apparaître le message :
Cannot open configuration file ~/.pgp/pgp.cfg
Pour ne plus l'avoir, il suffit de faire un fichier vide
~/.pgp/pgp.cfg.