Chiffrer et Déchiffrer avec GPG
Il peut être utile de chiffrer des données dans de nombreuses situations, correspondance mail, signature électronique de fichiers pour en assurer la provenance et l'authenticité, ou encore dans la protection de documents sensibles.
Pour utiliser GnuPG, il est possible d'exécuter celui-ci en ligne de commandes directement dans un interpréteur de commandes, ou éventuellement pour les plus néophytes, de passer par une interface graphique à l'image de kGPG pour l'environnement de bureau KDE et GPA pour Gnome.
GPG est un logiciel basé sur le système de clef publique et clef privée. La clef publique permet de chiffrer un message alors que la privée permet quant à elle de déchiffrer ce même message.
Nous prendrons l'exemple de Pierre et Paul qui tiennent à correspondre par mail et ce en chiffrant le contenu des messages grâce à GPG. Pierre va créer deux clés (publique et privée). La dernière (la privée) sera conservée dans un endroit sûr au sein même du disque dur ou sur n'importe quel type de média amovible (clef USB, disque vierge,...) selon les préférences de Pierre.
En effet, c'est cette clef qui permettra de déchiffrer les messages créés auparavant par la clef publique que Pierre aura remis à Paul pour que ce dernier puisse chiffrer les messages électroniques avant de les envoyer à Pierre.
Pour obtenir plus d'informations détaillées concernant le fonctionnement de la cryptographie asymétrique, il est possible de consulter la page de l'encyclopédie Wikipédia qui lui est dédiée.
Vous l'aurez compris, GPG ou GnuPG, est un programme de cryptographie asymétrique et équivalent à PGP qui lui est propriétaire.
Première méthode (Interfaces graphiques) :
Avant toute chose, il faut générer une paire de clés à partir du menu "Clés" :



Ouverture de l'éditeur et d'un document vierge :


Pour crypter ce texte, il suffit de cliquer sur "Chiffrer" puis de choisir le trousseau qui convient :

Ci-dessous un texte différent et chiffré qu'il va falloir déchiffrer à l'aide de la clef privée :

Entrez le mot de passe de la clef (généré lors de la création du trousseau) :

Le texte précédent est maintenant déchiffré :

Deuxième méthode (Terminal) :
Installation du paquet :
# aptitude install gnupgCréation de la paire de clefs :
$ gpg --gen-keyIl vous est alors possible de choisir parmi deux algorithmes :
Sélectionnez le type de clé désiré:Vous pouvez tout simplement choisir celui par défaut et ainsi choisir le couple DSA et Elgamal (algorithme basé sur ce que l'on nomme les logarithmes discrets). Pour obtenir plus d'informations concernant ces divers algorithmes, vous pouvez vous rendre sur Wikipedia (RSA, DSA, Elgamal).
(1) DSA et Elgamal (par défaut)
(2) DSA (signature seule)
(5) RSA (signature seule)
Votre choix ?
L'étape suivante consiste à choisir la longueur de clef :
les clés RSA peuvent faire entre 1024 et 4096 bits de longueur.Par défaut le choix est 2048 bits, car bien suffisant. Il vous est toutefois possible de choisir 4096 si cela peut vous rassurer.
Quelle taille de clé désirez-vous ? (2048)
Ensuite choisissez une période de validité :
Spécifiez combien de temps cette clé devrait être valide.Le choix de cette option dépend des situations, ainsi que de l'utilisation qui sera faite des clefs. Dans certains cas il est utile de déterminer une période.
0 = la clé n'expire pas
= la clé expire dans n jours
w = la clé expire dans n semaines
m = la clé expire dans n mois
y = la clé expire dans n années
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 :Il est conseillé de choisir un mot de passe inventé de toute pièce contenant lettres, chiffres et caractères spéciaux. Celui-ci sera demandé une seconde fois.
« Heinrich Heine (Der Dichter)»
Nom réel:
Adresse e-mail:
Commentaire:
Password:
Les clés sont donc générées, cela peut prendre du temps du fait de traitement important d'octets.
Une fois le travail terminé, vous pouvez vérifier que cette paire est bel et bien créée :
gpg --list-keys
Pour envoyer un mail chiffré en ligne de commande :
Pour commencer, le plus simple est de créer un dossier GnuPG de manière à pouvoir s'y retrouver plus facilement par la suite.
En supposant que le mail soit déjà écrit dans un fichier texte nommé mail.txt.
gpg -er adresse@mail mail.txtUn fichier nommé mail.txt.gpg apparaît alors dans le dossier GnuPG, il s'agit du mail chiffré.
Déchiffrer ce mail :
gpg mail.txt.gpgSi le fichier précédent a été supprimé, on peut constater l'apparition d'un nouveau fichier identique au précédent, c'est-à-dire le mail déchiffré.
Un guide expliquant comment configurer certains clients mail pour GnuPG est disponible ici.