Можно ли узнать вектор инициализации для blowfish в режиме CBC, если известен открытый текст и шифротекст? Имеется шифротекст, и известный для него открытый текст. Ключ шифрования неизвестен. Алгоритм - вероятно blowfish, режим шифрования - CBC. Для запуска брутфорса ключа (предположим, там ключ 32 бита, ну вдруг и правда повезет?) мне все равно нужен еще и IV. Могу ли я вычислить его из шифротекста и открытого текста? Вроде как для этого мне достаточно сделать XOR между вторым 64-битным блоком шифротекста и первым 64-битным блоком открытого текста, но эксперимент показывает что вектор инициализации получается не тот что был установлен (ну я просто зашифровал строку неким ключом и вектором, после чего "восстановил" его, но он не совпал с настоящим). Возможно ли это вообще, получить вектор инициализации зная исходный текст и шифротекст?
Нет, нельзя вычислить вектор инициализации (IV) для алгоритма шифрования в режиме CBC, зная только открытый текст и соответствующий ему шифротекст. IV является случайным вектором, который генерируется перед каждым шифрованием блока данных в режиме CBC. Это делается для устранения паттернов в шифротексте, которые могли бы возникнуть, если бы IV был фиксированным.
Именно поэтому вам не удастся получить правильный IV, даже если вы попробуете выполнить XOR между вторым блоком шифротекста и первым блоком открытого текста. IV не является функцией от открытого текста или шифротекста, поэтому вы не сможете его "извлечь" из этих данных.
Для проведения брутфорс атаки на ключ шифрования вам нужно знать и IV, и ключ шифрования. Если вы не обладаете этими данными, то ваша задача становится намного сложнее.
Нет, нельзя вычислить вектор инициализации (IV) для алгоритма шифрования в режиме CBC, зная только открытый текст и соответствующий ему шифротекст. IV является случайным вектором, который генерируется перед каждым шифрованием блока данных в режиме CBC. Это делается для устранения паттернов в шифротексте, которые могли бы возникнуть, если бы IV был фиксированным.
Именно поэтому вам не удастся получить правильный IV, даже если вы попробуете выполнить XOR между вторым блоком шифротекста и первым блоком открытого текста. IV не является функцией от открытого текста или шифротекста, поэтому вы не сможете его "извлечь" из этих данных.
Для проведения брутфорс атаки на ключ шифрования вам нужно знать и IV, и ключ шифрования. Если вы не обладаете этими данными, то ваша задача становится намного сложнее.