Продемонстрирован JPEG-файл, превращающийся в PNG при AES-шифровании и в PDF после 3DES-дешифровки

Энджи Альбертини (Аnge Albertini), специализирующийся на экспериментах с обратным инжинирингом, упорным трудом сумел подобрать JPEG-изображение, которое при шифровании с использованием алгоритма AES превращается в другое изображение в формате PNG, а при расшифровке использованием алгоритма 3DES становится пустым документом в формате PDF. Секрет подобного превращения заключается в подборе начальных векторов инициализации для AES и 3DES, при которых первый блок исходного файла трансформируется в корректный заголовок форматов PNG и PDF.

   from Crypto.Cipher import DES3, AES

   with open('mrmcd.jpg', "rb") as f:
        d = f.read()

   da =  AES.new('encryptwithAES!!',  AES.MODE_CBC, 'x1axfbKx8emxcbxfdx8cxTxcexcd8 1R').encrypt(d)
   dd = DES3.new('decryptwithDES3!', DES3.MODE_CBC,               'x05xa4xfblxbbx9b*xf0').decrypt(d)

   with open("encrypted_aes.png", "wb") as fa:
        fa.write(da)

   with open("decrypted_des3.pdf", "wb") as fd:
        fd.write(dd)

Следует отметить, что это не первый эксперимент такого рода, в прошлом Энджи сумел сформировать файл PNG, который отображал изначальное изображение даже после AES-шифрования.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.