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

Энджи Альбертини (Аnge Albertini), специализирующийся на экспериментах с обратным инжинирингом, упорным трудом сумел подобрать JPEG-изображение, которое при шифровании с использованием алгоритма AES превращается в другое изображение в формате PNG, а при расшифровке использованием алгоритма 3DES становится пустым документом в формате PDF. Секрет подобного превращения заключается в подборе начальных векторов инициализации для AES и 3DES, при которых первый блок исходного файла трансформируется в корректный заголовок форматов PNG и PDF. 0_1410509599.jpeg from Crypto.Cipher import DES3, AES with open ('mrmcd.jpg', «rb») as f: d = f.read () da = AES.new ('encryptwithAES!', AES.MODE_CBC, '\x1a\xfbK\x8em\xcb\xfd\x8cxT\xce\xcd8 1R').encrypt (d) dd = DES3.new ('decryptwithDES3!', DES3.MODE_CBC, '\x05\xa4\xfbl\xbb\x9b*\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) 0_1410509658.png Следует отметить, что это не первый эксперимент такого рода, в прошлом Энджи сумел сформировать файл PNG, который отображал изначальное изображение даже после AES-шифрования.

©  OpenNet