01 //
Concept : AES c'est quoi ?
Concept clé
AES : La recette secrète que seul vous partagez avec votre patron
Imaginez que vous et votre patron avez une recette secrète pour mélanger du texte : 'prends chaque lettre, ajoute 7, inverse le résultat, mélange avec la clé...' AES fait exactement ça — 14 fois, avec une clé de 256 bits. Pour déchiffrer, il faut LA MÊME clé. C'est pour ça qu'on appelle ça du chiffrement symétrique : même clé pour fermer ET ouvrir.
02 //
Identifier le fichier chiffré
Le patron a chiffré le fichier avec openssl. Commençons par examiner ce que nous avons avant d'essayer de l'ouvrir.
Inspection du fichier chiffré
# Voir le fichier chiffré
ls -lh
file Ultra_important_secret.pdf
# → "openssl enc'd data with salted password"
# Essayer de l'ouvrir sans mot de passe (spoiler : ça marche pas)
cat Ultra_important_secret.pdf
⚠ TERMINAL CASSÉ ? PAS DE PANIQUE
Si vous avez fait
cat sur le fichier chiffré, votre terminal affiche des caractères bizarres — c'est normal, les données binaires corrompent l'affichage. Tapez reset (à l'aveugle si nécessaire) et appuyez sur Entrée. Votre terminal reviendra à la normale.
COMMENT LE FICHIER A ÉTÉ CHIFFRÉ
Le patron a utilisé :
openssl enc -aes-256-cbc -in original.pdf -out secret.pdf -k MOT_DE_PASSE. Votre mission : retrouver le bon mot de passe parmi les trois candidats.
03 //
Trouver le bon mot de passe
Le patron vous a donné 3 candidats. Testez-les un par un — un seul déchiffrera correctement le fichier.
decipher_attempt.sh
# Le patron vous a dit que le mot de passe est l'un de ces trois :
# - 'Aniki<3'
# - 'BGduWeb25'
# - 'Urt1ka1r3'
# Syntaxe : openssl enc -d -aes-256-cbc -in FICHIER -out SORTIE -k 'MOT_DE_PASSE'
# Tentative 1
openssl enc -d -???-???-??? -in Ultra_important_secret.pdf -out essai1.pdf -k 'Aniki<3'
# TODO: Tentative 2 avec BGduWeb25
openssl enc -d -???-???-??? -in Ultra_important_secret.pdf -out essai2.pdf -k ???
# TODO: Tentative 3 avec Urt1ka1r3
openssl enc -d -???-???-??? -in Ultra_important_secret.pdf -out essai3.pdf -k ???
▸ AFFICHER LA SOLUTION (essayez d'abord !)
Remplacez les ??? par -aes-256-cbc et les mots de passe correspondants :
openssl enc -d -aes-256-cbc -in Ultra_important_secret.pdf -out essai1.pdf -k 'Aniki<3'
openssl enc -d -aes-256-cbc -in Ultra_important_secret.pdf -out essai2.pdf -k 'BGduWeb25'
openssl enc -d -aes-256-cbc -in Ultra_important_secret.pdf -out essai3.pdf -k 'Urt1ka1r3'
# Vérifiez lequel donne un vrai PDF :
file essai1.pdf essai2.pdf essai3.pdf
04 //
Déchiffrer et lire
Une fois le bon mot de passe trouvé, déchiffrez proprement le fichier et vérifiez que le PDF est lisible.
Déchiffrement final
# Une fois le bon mot de passe trouvé, déchiffrer proprement
openssl enc -d -aes-256-cbc -in Ultra_important_secret.pdf -out message_du_patron.pdf -k LE_BON_MOT_DE_PASSE
# Vérifier que le PDF est lisible
file message_du_patron.pdf
ls -lh message_du_patron.pdf
SUCCÈS ATTENDU
file message_du_patron.pdf doit afficher : PDF document. Si vous voyez data ou des erreurs OpenSSL, ce n'est pas le bon mot de passe.
05 //
Pour aller plus loin
Maintenant que vous maîtrisez le déchiffrement, essayez de chiffrer vos propres fichiers !
Chiffrez votre propre fichier
# Créer un fichier test
echo "Mon message secret" > mon_secret.txt
# Chiffrer avec AES-256
openssl enc -aes-256-cbc -in mon_secret.txt -out mon_secret.enc -k "MonMotDePasse"
# Utiliser -pbkdf2 pour plus de sécurité (recommandé)
openssl enc -aes-256-cbc -pbkdf2 -in mon_secret.txt -out mon_secret_secure.enc -k "MonMotDePasse"
# Déchiffrer
openssl enc -d -aes-256-cbc -pbkdf2 -in mon_secret_secure.enc -out resultat.txt -k "MonMotDePasse"
cat resultat.txt
DOCUMENTATION OFFICIELLE
Pour aller plus loin :
man openssl-enc ou openssl.org/docs