Recherche de site Web

Crypter et décrypter des fichiers à l'aide de GnuPG sous Linux


Aujourd'hui, nous allons voir comment crypter et décrypter des fichiers à partir d'une ligne de commande sous Linux à l'aide d'un utilitaire gratuit nommé GNU Privacy Guard (bientôt GPG ou GnuPG).

Il existe bien sûr une multitude de méthodes et d’applications pour crypter et déchiffrer des fichiers sous Linux. Mais chiffrer et déchiffrer des fichiers avec GnuPG est la méthode la plus simple.

Qu’est-ce que GnuPG ?

GnuPG est un système de cryptage Open Source compatible OpenPGP. Il s’agit d’un système cryptographique à clé publique sophistiqué en ligne de commande qui fournit des services de cryptage et de signature numériques utilisant la norme OpenPGP.

Grâce à GnuPG, nous pouvons facilement crypter les fichiers et documents importants et confidentiels. Il est packagé pour plusieurs systèmes d'exploitation et également disponible sous forme de binaires précompilés.

GnuPG est disponible en deux versions. Il s'agit de GnuPG 1.x et GnuPG 2.x. GnuPG 2.x utilise des algorithmes modernes et est recommandé par les experts en sécurité. Vous ne devez utiliser GnuPG 1.x que si votre distribution ne prend pas en charge GnuPG 2.x.

Installer GnuPG

GnuPG est préinstallé par défaut dans la plupart des distributions Linux. Si ce n'est pas le cas, vous pouvez installer GnuPG en utilisant le gestionnaire de paquets par défaut de votre distribution, comme indiqué ci-dessous.

Pour installer GnuPG dans Alpine Linux, exécutez :

sudo apk add gnupg

Sur Arch Linux et ses dérivés comme EndeavourOS et Manjaro Linux :

sudo pacman -S gnupg

Sur Debian, Ubuntu, Linux Mint et Pop OS :

sudo apt-get install gnupg

Sur Fedora, RHEL, CentOS, AlmaLinux et Rocky Linux :

sudo dnf install gnupg

Sur les anciens RHEL et ses clones, utilisez yum au lieu de dnf.

sudo yum install gnupg

Sur SUSE/openSUSE :

sudo zypper in gnupg

Vous pouvez vérifier la version GPG installée à tout moment en utilisant la commande :

gpg --version

Exemple de résultat :

gpg (GnuPG) 2.2.27
libgcrypt 1.8.8
Copyright (C) 2021 Free Software Foundation, Inc.
License GNU GPL-3.0-or-later <https://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: /home/ostechnix/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

Crypter et décrypter des fichiers à l'aide de GnuPG

Tout d’abord, nous verrons comment crypter des fichiers.

Chiffrer des fichiers à l'aide de GnuPG

Pour chiffrer un fichier à l'aide de GnuPG, exécutez :

gpg -c mysecret.txt 

Ici, -c représente le cryptage conventionnel, également connu sous le nom de cryptage symétrique. Remplacez le fichier mysecret.txt par votre propre nom de fichier dans la commande ci-dessus.

Vous serez invité à saisir une phrase secrète pour sécuriser le fichier. Entrez deux fois la phrase secrète forte et cliquez sur OK pour crypter le fichier.

Chiffrer des fichiers à l'aide de GnuPG

Attention : Une bonne phrase secrète doit comporter au moins 8 caractères avec des chiffres et des caractères spéciaux.

Vérifions-le à l'aide de la commande ls :

ls

Exemple de résultat :

mysecret.txt  mysecret.txt.gpg

Comme vous le voyez dans le résultat ci-dessus, le nouveau fichier crypté porte le même nom, mais avec l'extension .gpg ajoutée. Le fichier original reste intact.

Comme indiqué précédemment, lorsque nous utilisons l'indicateur -c, nous chiffrons le fichier avec un chiffrement symétrique à l'aide d'une phrase secrète. Le chiffrement symétrique par défaut utilisé est AES-128. Cependant, nous pouvons utiliser une méthode de cryptage différente avec l'option --cipher-algo.

Une fois un fichier chiffré, vous ne pouvez pas afficher le contenu du fichier chiffré sans la phrase secrète.

Même si vous essayez de l'ouvrir, vous ne verrez que des nombres et des symboles aléatoires, comme indiqué ci-dessous.

�       0k~
           f����R���)�2Y�Vm:x��h�'|u7bd�m�lA��E'�=R����,��1������(tz�-�d��9����,��*�

Par défaut, les fichiers chiffrés sont binaires. Les fichiers binaires cryptés sont créés avec le suffixe .gpg.

Si vous souhaitez plutôt produire un fichier texte ASCII, ajoutez l'option -a (armor) :

gpg -c mysecret.txt 

Les fichiers cryptés ASCII portent le suffixe .asc (c'est-à-dire filename.asc).

Décrypter des fichiers avec GnuPG

Pour décrypter un fichier à l'aide de GnuPG, exécutez simplement :

gpg mysecret.txt.gpg

GnuPG détecte automatiquement que le fichier est chiffré avec une phrase secrète et demande cette phrase secrète. Entrez simplement la phrase secrète correcte, sélectionnez Ok et appuyez sur Entrée.

Décrypter des fichiers avec GnuPG

Si la phrase secrète est correcte, alors il écrit les données déchiffrées dans un fichier portant le même nom mais sans l'extension .gpg. De plus, le fichier crypté reste intact.

Vérifions-le :

ls
mysecret.txt  mysecret.txt.gpg

Voilà, vous pouvez désormais afficher le contenu du fichier déchiffré à l'aide de n'importe quel éditeur de votre choix.

Si vous souhaitez que le fichier de sortie soit écrit sous un nom de fichier différent, utilisez l'indicateur -o comme indiqué ci-dessous.

gpg -o secret.txt -d mysecret.txt.gpg

Ici, -d signifie décryptage et -o signifie sortie.

Veuillez noter que les fichiers cryptés en ASCII (avec le suffixe .asc) peuvent être déchiffrés de la même manière que les fichiers cryptés en binaire (avec le suffixe .gpg).

Pour en savoir plus sur GnuPG, consultez sa section d'aide en exécutant cette commande :

gpg -h

Ou reportez-vous aux pages de manuel de gpg :

man gpg

Conclusion

Comme vous pouvez le constater, crypter et déchiffrer des fichiers à l’aide de GnuPG est assez simple ! Vous n'avez pas besoin d'être un expert ou un administrateur Linux expérimenté pour crypter/déchiffrer des fichiers.

Ressource :

  • Site Web GnuPG

Articles connexes