Chiffrer / Déchiffrer des fichiers avec mot de passe avec GnuPG – Gpg4win – Mac GPG

1/52/53/54/55/5 (6 votes, moyenne: 3,67 sur 5)
Loading...
C

Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.


Bonjour à tous,

Aujourd’hui, on va voir comment chiffrer et déchiffrer des fichiers avec un mot de passe avec GnuPG sur toutes les plateformes où le système est disponible.

Je ne vais pas vous montrer comment le faire avec une clé privée, il y a déjà beaucoup de tutoriels sur le Net pour ça, on verra simplement comment le faire avec un mot de passe.

Le gros avantage de GnuPG est qu’il supporte autre chose que l’AES (contrairement à pas mal de programmes de chiffrement) et que les commandes sont universelles. Vous taperez donc les mêmes commandes sous GNU/Linux, Mac OS, Windows, xBSD etc …

 

Installation de GnuPG :

  • GNU/Linux

GnuPG Classic (1.x) est normalement déjà inclus dans votre distribution.

GnuPG Stable / Modern (2.x) est présent dans le paquet gnupg2 sur la plupart des distributions :

apt-get install gnupg2

 

Pour les dérivés de RHEL/CentOS, cherchez-le sur RPMFind.

 

  • Mac OS

Téléchargez et installez GnuPG for OSX sur Sourceforge.

 

  • Windows

Téléchargez et installez Gpg4win.

 

  • FreeBSD

Utilisez les ports ou le gestionnaire de packages :

pkg_add -r -v gnupg

 

Chiffrer / déchiffrer des fichiers avec mot de passe avec GnuPG :

Ouvrez un terminal sur votre ordinateur ( ou votre mac pour ceux qui n’ont toujours pas compris que c’était un pc comme un autre 🙂 ).

On va télécharger un petit fichier d’exemple sur ping.online.net pour voir comment l’utilitaire gpg fonctionne :

http://ping.online.net/10Mo.dat

 

Pour la suite de cette procédure, vous pourrez utiliser gpg ou gpg2 selon la version installée sur votre système. Toutes les commandes fonctionnent avec gpg.

 

Chiffrer un fichier :

Lancez la commande suivante pour chiffrer notre fichier de test :

gpg -c 10Mo.dat

 

Un deuxième fichier chiffré apparaîtra avec l’extension .gpg :

ls
10Mo.dat 10Mo.dat.gpg

 

Avec la commande suivante, on peut obtenir des informations sur un fichier .gpg :

gpg --list-packets 10Mo.dat.gpg

 

Par exemple :

gpg --list-packets 10Mo.dat.gpg
:symkey enc packet: version 4, cipher 3, s2k 3, hash 2
 salt 8901109482fed275, count 65536 (96)
gpg: CAST5 encrypted data

 

Pour comprendre cette sortie, il faut obtenir les informations sur votre installation de GnuPG avec la commande suivante :

gpg -h

 

Par exemple :

gpg -h
gpg (GnuPG) 1.4.18
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
 CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

 

On voit donc que le fichier est chiffré avec CAST5 et hashé avec SHA1 :

Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224

gpg --list-packets 10Mo.dat.gpg
:symkey enc packet: version 4, cipher 3, s2k 3, hash 2
salt 8901109482fed275, count 65536 (96)
gpg: CAST5 encrypted data

 

Maintenant, on va chiffrer le même fichier avec TWOFISH et en le hashant avec SHA512 :

gpg -c --cipher-algo twofish --s2k-digest-algo SHA512 10Mo.dat

 

Et on aura maintenant cette sortie :

Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224

gpg --list-packets 10Mo.dat.gpg
:symkey enc packet: version 4, cipher 10, s2k 3, hash 10
salt 983753232d1aa10f, count 65536 (96)
gpg: TWOFISH encrypted data

 

Déchiffrer un fichier :

Utilisez simplement la commande suivante pour déchiffrer le fichier d’exemple :

gpg 10Mo.dat.gpg

 

Vous aurez une sortie similaire :

gpg 10Mo.dat.gpg
gpg: TWOFISH encrypted data
gpg: encrypted with 1 passphrase
File `10Mo.dat' exists. Overwrite? (y/N) y

 

Créer un alias sous Debian :

Dans cet exemple, on va voir comment créer une commande de raccourci sur un Debian pour chiffrer les fichiers plus rapidement.

On va créer un alias de commande dans le fichier .bashrc de l’utilisateur root.

La commande se nommera encrypt et sera le raccourci de cette commande :

gpg -c --cipher-algo twofish --s2k-digest-algo SHA512

 

Ouvrez le fichier .bashrc de l’utilisateur root :

nano /root/.bashrc

 

Ajoutez la ligne suivante à la fin du fichier :

alias encrypt="gpg -c --cipher-algo twofish --s2k-digest-algo SHA512"

 

Sauvegardez, quittez votre session et reconnectez-vous au compte root pour appliquer les changements.

Maintenant, cette commande :

encrypt 10Mo.dat

 

Sera équivalente à celle-ci :

gpg -c --cipher-algo twofish --s2k-digest-algo SHA512 10Mo.dat

 

Et voilà 🙂

 

A propos de l'auteur

Nicolas Simond

Ingénieur Systèmes et Réseaux et guitariste hard rock et metal à mes heures perdues.
Je suis le créateur et l'unique rédacteur d'Abyss Project, c'est ici que je note la plupart de mes procédures et quelques divagations.

Si vous l'article vous a aidé, pensez à me payer un café :)

Subscribe
Notify of
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

0 Commentaires
Inline Feedbacks
View all comments