Kenangan

Description

Yoriichi mengencrypt sebuah file gambarnya tetapi dia lupa cara membukanya. Bisakah kamu membantu Yoriichi untuk membuka filenya?

Author : macaril

Diberikan chall.py dan hasil enkripsinya yaitu flag.enc. Berikut adalah kode dari chall.py.

from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
import os

with open("flag.png", "rb") as f:
    flag = f.read()

key = os.urandom(1) * 16 
iv = os.urandom(16)

cipher = AES.new(key, AES.MODE_CBC, iv)

ciphertext = cipher.encrypt(pad(flag, AES.block_size))

with open("flag.enc", "wb") as f:
    f.write(iv + ciphertext)

Sesuai deskripsi soal, ini adalah gambar yang dienkripsi dengan AES CBC biasa, dengan key-nya adalah 1 byte random di antara 0-255 yang diulang sebanyak 16 kali. Untuk mendapatkan 1 byte tersebut, saya melakukan bruteforcing dengan kode berikut.

Berikut adalah hasilnya.

Flag: TechnoFair11{Cek_Khodamnya_kakak}

Last updated