Solution de iv3l pour Le Rat Conteur

intro crypto

20 février 2025

Script Python pour déchiffrer flag.jpg.enc, qui a été chiffré en AES-128 en mode CTR avec une clé fixe et un IV nul.

Étapes :

  1. Charger le fichier chiffré (flag.jpg.enc).
  2. Déchiffrer avec AES-128 CTR en utilisant :
    • Clé : 00112233445566778899aabbccddeeff (fixe)
    • IV : 0000000000000000 (fixe)
  3. Sauvegarder le fichier déchiffré (flag.jpg).
from Crypto.Cipher import AES
from Crypto.Util import Counter

# Clé AES-128 (16 octets)
key = bytes.fromhex("00112233445566778899aabbccddeeff")

# IV nul (CTR utilise un compteur, ici initialisé à 0)
iv = 0
ctr = Counter.new(128, initial_value=iv)

# Charger le fichier chiffré
with open("flag.jpg.enc", "rb") as f:
    ciphertext = f.read()

# Déchiffrement AES-128 en mode CTR
cipher = AES.new(key, AES.MODE_CTR, counter=ctr)
plaintext = cipher.decrypt(ciphertext)

# Sauvegarde du fichier déchiffré
with open("flag.jpg", "wb") as f:
    f.write(plaintext)

print("[+] Déchiffrement terminé : flag.jpg")