Logiciels en ligne de commande

Chiffrer des fichiers par mot de passe avec GNUPG

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

secret





Introduction





Voici une méthode simple, rapide et efficace pour protéger des fichiers par mot de passe avec GNUPG.

Pas besoin de créer de clé, il suffit juste de posséder GNUPG, disponible dans toutes les distributions Linux, et même Windows.





Chiffrer un fichier





Créons un fichier texte :



Code BASH :
echo 'Mon super message secret!' > message.txt




On vérifie le contenu de notre fichier :



Code BASH :
more message.txt 
 
Mon super message secret!




Bon, c'est bien. Maintenant, je veux envoyer mon fichier, mais je veux le protéger avec un mot de passe que mon correspondant connait.

On va utiliser la commande gpg2 avec l'option --symmetric :



Code BASH :
gpg2 --symmetric message.txt
 
Entrez la phrase de passe:
Veuillez répéter cette phrase de passe:




Bien, on a maintenant 2 fichiers : le fichier original (message.txt) et le fichier crypté (message.txt.gpg) :



Code BASH :
ls -l message*
 
-rw-r--r-- 1 adriencl adriencl 26  4 juil. 21:30 message.txt
-rw-r--r-- 1 adriencl adriencl 71  4 juil. 21:33 message.txt.gpg
 




Bien, si on essaie de lire le fichier crypté :



Code BASH :
more message.txt.gpg 
PJ܋��������m8�ˁ�w�=���4ң6sc����
 




On ne voit rien. On peut l'envoyer par messagerie électronique.





Déchiffrer le fichier





De l'autre côté, notre destinataire va devoir déchiffrer le fichier.



On va utiliser la commande gpg2, mais avec l'option --decrypt cette fois-ci :



Code BASH :
gpg2 --decrypt message.txt.gpg 
 
gpg: données chiffrées avec CAST5
Entrez la phrase de passe:
gpg: chiffré avec 1 phrase de passe
Mon super message secret!
gpg: Attention : l'intégrité du message n'était pas protégée
 




Le message d'affiche sur la console.



Si une mauvaise phrase de passe est saisie, cela ne s'affiche pas évidemment :



Code BASH :
gpg2 --decrypt message.txt.gpg 
 
gpg: données chiffrées avec CAST5
Entrez la phrase de passe:
gpg: chiffré avec 1 phrase de passe
gpg: DBG: phrase de passe effacée mise en cache avec l'identifiant : S5323FC29DF166B0F
gpg: échec du déchiffrement : Mauvaise clef de session




Le contenu du fichier s'affiche sur la sortie standard (stdout) !

Dans le cas d'un fichier texte, cela n'a pas trop d'incidence, mais si on crypte un fichier image ou un fichier son, la console se remplira de caractères illisibles.



Il est donc possible d'indiquer le nom d'un fichier de sortie avec l'option -o :



Code BASH :
 gpg2 -o mon-message-déchiffré.txt --decrypt message.txt.gpg 
 
gpg: données chiffrées avec CAST5
gpg: chiffré avec 1 phrase de passe
gpg: Attention : l'intégrité du message n'était pas protégée






Code BASH :
 more mon-message-déchiffré.txt 
Mon super message secret!






Maintenant, vous savez protéger vos fichiers :magic: