Openssl - AES-256-ECB расшифровывается с ключом, плохой маги c номер - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь расшифровать текст, который был зашифрован с помощью AES-256-ECB с данным ключом. Для расшифровки я использую ту же версию openssl, которая использовалась для шифрования (OpenSSL 1.1.1d 10 сентября 2019 г.).

Строка для расшифровки: VAWawVAWawxiyH20dI+t5NPAY9w== (внутри file.txt) Ключ: 461a966faef244e4808d6b2b8e928d01 (внутри key.txt)

Я пробовал эти команды:

cat file.txt | base64 -d > file2.txt 

openssl enc -AES-256-ECB -d -in file2.txt -out answer.txt --kfile key.txt

И я получаю: bad magic number. В чем проблема?

1 Ответ

1 голос
/ 14 января 2020

openssl enc обычно использует пароль для получения ключа. Таким образом, именно производный ключ используется для расшифровки файла. Для процесса деривации требуется «соль», и openssl enc во время шифрования сохраняет эту соль в начале файла вместе с «числом волхвов c» для его идентификации. Если магический номер c отсутствует (обычно из-за того, что файл не был зашифрован openssl enc или из-за того, что метод получения ключа на основе пароля не использовался), вы получите эту ошибку.

The * Параметр 1006 * указывает OpenSSL прочитать пароль из файла и затем извлечь ключ из него. Возможно, вы хотели, чтобы вы вообще не использовали получение пароля, а использовали явный ключ. В этом случае вам нужно использовать опцию -K и ввести ключ в командной строке, используя шестнадцатеричное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...