Cybersécurité

Chiffrer un fichier avec GPG pas-à-pas — symétrique pour soi, asymétrique pour un destinataire

8 min de lecture

Envoyer un contrat confidentiel par mail, transporter une copie de base de données sur clé USB, déposer un fichier de configuration contenant des secrets sur un disque partagé : autant d’opérations courantes où le contenu doit absolument rester illisible pour quiconque n’est pas le destinataire prévu. La réponse est le chiffrement de fichier avec GPG (GNU Privacy Guard), implémentation open-source du standard OpenPGP. Ce tutoriel propose une démarche en sept étapes pour installer GPG, chiffrer un fichier pour soi-même (chiffrement symétrique) ou pour un destinataire (asymétrique), et déchiffrer en bout de chaîne. Les commandes sont identiques sur Linux, macOS et Windows (via Gpg4win).

Pour la vue d’ensemble, voir le guide principal : Cryptographie pratique pour développeurs et sysadmins.

Prérequis

  • Un poste Linux, macOS ou Windows
  • Un terminal (Linux/macOS) ou PowerShell (Windows)
  • 15 minutes pour le cas symétrique, 30 minutes pour le cas asymétrique avec destinataire

Étape 1 — Installer GPG

Sur Linux Debian/Ubuntu, GPG est généralement déjà présent. Vérifier avec gpg –version. Sinon, installer avec sudo apt install gnupg. Sur macOS, l’installation passe par Homebrew : brew install gnupg. Sur Windows, télécharger Gpg4win sur le site officiel et lancer l’installeur — composants minimaux : GnuPG et Kleopatra (interface graphique).

Vérifier que la version installée est récente (au moins 2.2 en 2026) :

gpg --version

La sortie liste l’algorithme de chiffrement par défaut, les clés supportées, et les protocoles. Tous les algorithmes modernes (AES-256, RSA-4096, EdDSA) sont disponibles dans les versions récentes.

Étape 2 — Cas simple : chiffrer un fichier pour soi-même

Le cas le plus fréquent : on veut juste mettre à l’abri un fichier qu’on souhaite garder soi-même. Pas besoin de générer de paire de clés — le chiffrement symétrique par phrase secrète suffit. La même phrase chiffre et déchiffre.

gpg --symmetric --cipher-algo AES256 contrat-2026.pdf

L’option –symmetric demande le chiffrement par phrase secrète, et –cipher-algo AES256 impose AES-256, le standard recommandé en 2026. GPG demande une phrase, puis crée un fichier contrat-2026.pdf.gpg chiffré. L’original reste intact — penser à le supprimer si on ne veut garder que la version chiffrée.

Pour déchiffrer ensuite :

gpg --output contrat-2026.pdf --decrypt contrat-2026.pdf.gpg

La phrase est demandée, le fichier est restauré dans son format d’origine. Stocker la phrase secrète dans un gestionnaire de mots de passe (Bitwarden, KeePass) — sans elle, le fichier chiffré est perdu définitivement.

Étape 3 — Cas avancé : générer une paire de clés

Pour échanger des fichiers avec un destinataire, le chiffrement asymétrique est nécessaire. Chacun génère sa paire (clé publique + clé privée), partage sa clé publique, garde sa clé privée. Pour générer la paire :

gpg --full-generate-key

Une série de questions interactives apparaît. Choisir RSA and RSA (option par défaut) ou ECC and ECC avec courbe Curve25519 si proposé — plus rapide et plus moderne. Choisir une longueur de 4096 bits pour RSA. Choisir une expiration : 2 ans est un bon compromis (clés renouvelées régulièrement, pas trop souvent). Saisir nom et adresse mail qui identifieront la clé. Saisir une phrase secrète robuste pour protéger la clé privée — sans elle, n’importe qui peut chiffrer en votre nom.

La génération prend quelques secondes à quelques minutes selon la machine. Pour l’accélérer, faire bouger la souris ou utiliser le clavier — GPG a besoin d’entropie. Le résultat : une paire de clés stockée dans ~/.gnupg/, immédiatement utilisable.

Étape 4 — Exporter et partager la clé publique

La clé publique est destinée à être partagée — elle ne permet que de chiffrer, pas de déchiffrer. Lister d’abord ses clés pour identifier l’identifiant :

gpg --list-keys

Repérer l’adresse mail ou l’identifiant hexadécimal de la clé. Exporter la clé publique au format texte :

gpg --armor --export votre.email@exemple.com > ma-cle-publique.asc

L’option –armor produit un format ASCII lisible (le contenu commence par —–BEGIN PGP PUBLIC KEY BLOCK—–) qu’on peut copier-coller dans un mail, publier sur un site, ou pousser sur un serveur de clés public. Le fichier ma-cle-publique.asc peut être envoyé sans précaution particulière.

Pour recevoir la clé publique d’un destinataire, l’inverse :

gpg --import cle-publique-recue.asc

La clé est ajoutée au trousseau local et utilisable immédiatement.

Étape 5 — Chiffrer un fichier pour un destinataire

Une fois la clé publique du destinataire importée, on peut chiffrer pour lui. Seul lui pourra déchiffrer avec sa clé privée, même pas l’expéditeur.

gpg --encrypt --recipient destinataire@exemple.com contrat-2026.pdf

L’option –recipient indique à GPG quelle clé publique utiliser. Le fichier contrat-2026.pdf.gpg est créé. Il peut être transmis par n’importe quel canal (mail, transfert, clé USB) — son contenu reste illisible sans la clé privée du destinataire.

Pour chiffrer pour soi-même et pour le destinataire (utile pour conserver une copie déchiffrable), ajouter une seconde option –recipient avec sa propre adresse :

gpg --encrypt --recipient destinataire@exemple.com --recipient votre.email@exemple.com contrat-2026.pdf

Sans cette précaution, l’expéditeur ne peut pas relire ce qu’il a envoyé — la clé publique du destinataire ne déchiffre rien.

Étape 6 — Signer un fichier

Le chiffrement protège la confidentialité, la signature protège l’authenticité — elle prouve que le fichier vient bien de vous et n’a pas été modifié. Les deux peuvent être combinés.

Pour signer seul :

gpg --detach-sign --armor contrat-2026.pdf

L’option –detach-sign crée un fichier de signature séparé contrat-2026.pdf.asc. Le fichier original reste lisible. Pour vérifier la signature côté destinataire, qui doit avoir importé votre clé publique :

gpg --verify contrat-2026.pdf.asc contrat-2026.pdf

La sortie indique Good signature from « Votre Nom <votre.email@exemple.com> » si tout est conforme. Une signature invalide ou une clé inconnue produit un avertissement explicite.

Étape 7 — Sauvegarder la clé privée

Comme pour SSH, perdre la clé privée GPG signifie perdre l’accès à tous les fichiers chiffrés pour soi avec elle. Exporter la clé privée :

gpg --armor --export-secret-keys votre.email@exemple.com > ma-cle-privee.asc

Cette commande demande la phrase secrète et exporte la clé privée — qui doit rester strictement personnelle. Stocker le fichier dans Bitwarden ou KeePass comme attachement sécurisé, ou dans un coffre Cryptomator synchronisé sur un cloud. Garder aussi une copie sur un disque externe chiffré.

Exporter aussi la revocation certificate — un fichier qui permet d’invalider la clé publique en cas de compromission, généré automatiquement à la création de la paire dans ~/.gnupg/openpgp-revocs.d/. À conserver à part de la clé.

Vérification du livrable

  • GPG est installé et la version est récente
  • Le chiffrement symétrique d’un fichier fonctionne et le déchiffrement restaure l’original
  • Une paire de clés a été générée (si besoin asymétrique)
  • La clé publique est exportée et partagée si nécessaire
  • La clé privée est sauvegardée chiffrée hors du poste local
  • Le certificat de révocation est conservé séparément

Erreurs fréquentes

ErreurCauseSolution
Phrase secrète oubliéePas stockée dans un gestionnaireBitwarden ou KeePass dès la génération
Clé privée envoyée par mailConfusion avec la clé publiqueToujours exporter avec –export (publique) pour partager
Chiffrer pour le destinataire seulPlus de copie déchiffrable côté expéditeurAjouter sa propre adresse en second –recipient
Algorithme dépasséRSA-1024 ou 3DESRSA-4096 ou ECC, AES-256 imposé
Pas de certificat de révocationClé compromise sans recoursConservation séparée du certificat généré

Documents administratifs par WhatsApp et clé USB inter-bureaux

Trois usages locaux où GPG fait la différence. Le transport sur clé USB entre bureaux ou collaborateurs reste fréquent en Afrique de l’Ouest où la bande passante limite les transferts par mail volumineux : chiffrer les fichiers sensibles avant de les copier sur la clé évite qu’une perte ou un vol expose le contenu, ce qui arrive régulièrement entre Dakar et l’intérieur. La signature de documents transmis par mail ou WhatsApp (contrats, factures, mémos officiels) ajoute une couche de confiance simple à mettre en place — la signature détachée pèse quelques kilo-octets et se vérifie en une commande, utile entre cabinets, administrations et clients. Et le partage de clé publique peut passer par un serveur de clés public (keys.openpgp.org) ou par publication sur la signature mail — pas besoin d’infrastructure dédiée pour qu’un correspondant à Bamako puisse vérifier votre signature.

Tutoriels frères

Sur le même thème

Sources et références

Hébergement recommandé pour les lecteurs

Si vous n’avez pas encore d’hébergeur, Hostinger est celui que nous utilisons et que nous recommandons après plusieurs années d’usage.

Profiter de l’offre →

Lien d affiliation. Si vous achetez via ce lien, le blog reçoit une petite commission sans surcoût pour vous.

Partager