@Taras25

Можно ли узнать вектор инициализации для blowfish в режиме CBC, если известен открытый текст и шифротекст?

Имеется шифротекст, и известный для него открытый текст.
Ключ шифрования неизвестен.
Алгоритм - вероятно blowfish, режим шифрования - CBC.
Для запуска брутфорса ключа (предположим, там ключ 32 бита, ну вдруг и правда повезет?) мне все равно нужен еще и IV.
Могу ли я вычислить его из шифротекста и открытого текста?
Вроде как для этого мне достаточно сделать XOR между вторым 64-битным блоком шифротекста и первым 64-битным блоком открытого текста, но эксперимент показывает что вектор инициализации получается не тот что был установлен (ну я просто зашифровал строку неким ключом и вектором, после чего "восстановил" его, но он не совпал с настоящим).
Возможно ли это вообще, получить вектор инициализации зная исходный текст и шифротекст?
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Taras25 Автор вопроса
Короче, немного пораскинул мозгами, и понял что нет, изначальный вектор инициализации (IV) узнать таким образом нельзя. Потому что ("IV" XOR "первый блок открытого текста") шифруется ключом.
Зато можно отбросить первый 8-байтный блок открытого текста, а для оставшегося вектором инициализации будет первый блок шифротекста.
Таким образом, мы можем провести брутфорс (по крайней мере попробовать), используя первые 8 байт шифротекста в качестве вектора инициализации, при этом в качестве шифротекста используя изначальный шифротекст без первых 8 байт, и сравнивать на каждой итерации дешифрования получаемое значение
с открытым текстом без первых 8 байт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы