Appliquer la notion
Nous allons manipuler des clés GPG sur un repl Bash.
Question
Générer une paire de clés pour un utilisateur « John Smith » d'adresse e-mail john@smith.xyz
.
Solution
On utilise :
gpg --generate-key
On entre les informations et on choisit une phrase de passe suffisamment grande.
Question
Créer un fichier message.txt
de contenu :
Message secret
Et le chiffrer pour vous même avec gpg
en un fichier msg.txt.gpg
.
Indice
On utilisera une commande de la forme.
gpg --output fichier_chiffré --encrypt --recipient addresse_email fichier_à_chiffrer
Solution
On utilise :
gpg --output msg.txt.gpg --encrypt --recipient john@smith.xyz message.txt
Question
Faire une copie de ce fichier nommée copy.txt.gpg
et changer quelques octets dans la copie.
Indice
On pourra utiliser la commande cp
.
Solution
cp msg.txt.gpg copy.txt.gpg
nano copy.txt.gpg
Le fichier étant chiffré, dans l'éditeur de texte, il y aura des caractères illisibles. Il suffit de supprimer un ou deux caractères au milieu du fichier pour l'altérer.
Question
Déchiffrer le fichier original msg.txt.gpg
et le fichier altéré copy.txt.gpg
.
Que se passe-t-il dans le cas du fichier altéré ?
Solution
On déchiffre ainsi le premier fichier :
gpg --output message_dechiffre.txt --decrypt msg.txt.gpg
Le contenu est identique au contenu du fichier original message.txt
.
Pour la copie altérée, le déchiffrement est impossible.
gpg --output copy.txt --decrypt copy.txt.gpg
gpg: no valid OpenPGP data found.
gpg: decrypt_message failed: Unknown system error
Dans le cas où l'altération (légère) est réalisée en début ou en fin de fichier, il est possible que le déchiffrement reste réalisable car seul l'entête ou la signature est légèrement touchée