Нужен ли вектор инициализации для расшифровки моих данных? - PullRequest
2 голосов
/ 06 октября 2011

Я использую RijndaelManaged для шифрования и дешифрования данных.Возможно, я неправильно понял точку вектора инициализации, но обнаружил, что, если при расшифровке моих данных установить другое значение, все, кроме первых 16 символов, все равно будут правильно расшифрованы.Это ожидаемое поведение?

1 Ответ

3 голосов
/ 06 октября 2011

Да.В режиме CBC каждый блок шифротекста используется как IV для следующего блока шифротекста.Использование неисправного IV испортит первый 16-байтовый блок, но последующие блоки не будут затронуты.Это может быть полезным свойством, поскольку позволяет восстанавливать ошибки после неисправного блока, что может быть важно в некоторых ситуациях.Это также показывает, почему на самом деле не нужно хранить секрет IV (в отличие от ключа!).

...