GPG est la version GNU de PGP, ce logiciel est entièrement sous licence GPL, y compris les algorithmes de cryptages utilisés. Il se présente sous la forme d'un seul programme que l'on dirige via des options en ligne de commande.
D'une manière générale, il est préférable d'utiliser GPG qui ne dépend directement d'aucun organisme ou entreprise.
GPG reprend exactement les même principes que PGP, on ne s'attardera pas sur les explications (se référer aux sections équivalente sur PGP pour plus d'information).
La création d'une clef se fait par un appel à la ligne de commande
suivante : gpg ――gen-key
gpg (GnuPG) 1.0.1; Copyright (C) 1999 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.
Sélectionnez le type de clé désiré :
(1) DSA et ElGamal (défaut)
(2) DSA (signature seule)
(4) ElGamal (signature et chiffrement)
Votre choix ?
Préparation à la génération d'une nouvelle paire de clés ELG-E.
la taille minimale est 768 bits
la taille par défaut est 1024 bits
la taille maximale conseillée est 2048 bits
Quelle taille de clé désirez-vous ? (1024)
Spécifiez combien de temps cette clé devrait être valide.
0 = la clé n'expire pas
<n> = la clé expire dans n jours
<n>w = la clé expire dans n semaines
<n>m = la clé expire dans n mois
<n>y = la clé expire dans n ans
La clé est valide pour ? (0)
Vous avez besoin d'un nom d'utilisateur pour identifier votre clé ; le
programme le construit à partir du nom réel, d'un commentaire et d'une
adresse e-mail de cette manière:
« Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de> »
Nom réel : Jean Dupont
Adresse e-mail : dupont@jean.fr
Commentaire : Ma première clef GPG
Entrez le mot de passe :
Répétez le mot de passe :
Un grand nombre d'octets aléatoires doit être généré. Vous devriez faire
autre-chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers ; cela donne au générateur de
nombres aléatoires une meilleure chance d'avoir assez d'entropie.
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 gpg ――export ――armor
<user-id>
L'option ――armor est là pour forcer la clef à
être codée en ASCII.
On obtient :
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.1 (Linux) Comment: For info see http://www.gnupg.org mQGiBDi+PEIRBACYyvjLmmTl/KZq0rHb35SNhRh19ZZI0YZ+MqRg2rWldTAAgxTd ... -----END PGP PUBLIC KEY BLOCK-----
gpg ――import <filename>
Par exemple :
gpg: clé A4A7E29F : clé publique importée gpg: Quantité totale traitée : 1 gpg: importée : 1
gpg ――list-keys
pub 1024D/1AB2C904 2000-03-02 Jean Dupont <dupont@jean.fr> sub 1024g/49D54573 2000-03-02 pub 1024D/31BF8027 2000-03-01 John Doe <doe@john.org> sub 2048g/A6CEA8F6 2000-03-01 pub 1024D/1BA44C81 2000-03-01 John Smith <smith@john.org> sub 1024g/A0BAC7FA 2000-03-01
gpg ――edit-key <user-id>
La clé secrète est disponible. pub 1024D/1AB2C904 created: 2000-03-02 expires: never trust: -/u sub 1024g/49D54573 created: 2000-03-02 expires: never (1) Emmanuel Fleury <fleury@lsv.ens-cachan.fr> Commande>
quit : quitter la ligne de commandesave : enregistrer et quitterhelp ou ? : afficher cette aide fpr : afficher l'empreintelist : lister la clef et les noms d'utilisateursuid : sélectionner le nom d'utilisateur Nkey : sélectionner la clef secondaire Ncheck : lister les signaturessign : signer la cleflsign : signer la clef localementadduid : ajouter un utilisateurdeluid : enlever un utilisateuraddkey : ajouter une clef secondairedelkey : enlever une clef secondairedelsig : supprimer les signaturesexpire : changer la date d'expirationtoggle : passer de la liste des clefs secrètes aux clefs
privées et inversementpref : lister les préférencespasswd : changer le mot de passetrust : changer la confiancerevsig : révoquer les signaturesrevkey : révoquer une clef secondairedisable : désactiver une clefenable : activer une clef
Détruire une clef secrète :
gpgp ――delete-secret-key <user-id>
sec 768G/A4A7E29F 2000-03-01 John Doe <doe@john.org> Enlever cette clé du porte-clés ? o C'est une clé secrète - faut-il vraiment l'effacer ? o
Détruire une clef publique :
gpg ――delete-key <user-id>
gpg ――armor ―r <destinataire> -o <output>
――encrypt <filename>
L'option ――armor permet de générer un cryptage en
ASCII.
gpg ――sign <filename>
Il suffit de combiner les options :
gpg ――sign ――armor ――encrypt <destinataire>
<filename>
gpg ――decrypt -o <output> <filename>