1

Я работаю над книгой « Криптографическая инженерия», и текущая проблема выглядит примерно так:

Используя существующую библиотеку криптографии, расшифруйте следующий зашифрованный текст (в шестнадцатеричной форме):

539b333b39706d149028cfe1d9d4a407

со следующим 256-битным ключом (также в шестнадцатеричном виде):

8000000000000000000000000000000000000000000000000000000000000001

используя AES.

Я немного озадачен здесь. Я использую OpenSSL, но при использовании параметра -aes256 запрашивается IV, который явно не указан в этой проблеме. Ввод всех нулей для IV дает плохую расшифровку. Попытки использовать некоторые другие методы шифрования AES не дали мне намного большего. Я могу быть здесь над головой, но просто пытаюсь понять, как все это работает для удовольствия. Я программист видеоигр, так что для меня это все ново. Любая помощь с этой проблемой учебника будет принята с благодарностью!

Примечание. Я провел исчерпывающее переполнение стеков и поиск в Google, но примерно через час ничего не добился.

1 ответ1

3

Поскольку режим работы не указан, а длина зашифрованного текста равна размеру одного блока шифрования AES (128 бит = 32 шестнадцатеричных числа = 16 байтов), вполне вероятно, что ожидается использование необработанного блочного шифра (он же) Режим ЕЦБ ").

Фактически, вы можете сделать это, используя openssl enc. Вам понадобятся -aes-256-ecb , которые выберут шифр AES-256 в режиме ECB, и -nopad , который отключит заполнение сообщения.*

Конечно, вам также нужно сначала преобразовать зашифрованный текст из шестнадцатеричного кода в необработанные байты. (Вы можете использовать опцию -K для предоставления ключа непосредственно в шестнадцатеричном виде.) Выходной открытый текст не будет пригоден для печати в формате ASCII, но преобразование его обратно в гекс должно выявить четкий шаблон.

*) На самом деле, ваш открытый текст действительно происходит до конца в действительной PKCS # 7 обивка, так OpenSSL будет счастливо расшифровать его даже без -nopad Тем не менее, я предполагаю, что это просто совпадение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .