Может ли изменение 1 байта в файле, зашифрованном AES CBC, привести к невозможности его расшифровки? - PullRequest
7 голосов
/ 17 марта 2012

Если у меня есть зашифрованный файл, зашифрованный с помощью AES CBC, будет ли изменение случайного байта где-нибудь в файле так, чтобы он больше не мог быть расшифрован?

Правильно ли мое понимание того, что все до момента, когда байт был изменен, расшифровывалось бы нормально, но с тех пор впоследствии оно не расшифровывалось?

1 Ответ

8 голосов
/ 17 марта 2012

Это не совсем правильно.AES шифрует / дешифрует данные в блоках (в частности, в 128-битных блоках).Кроме того, в режиме CBC шифрование / дешифрование (i + 1) -го блока зависит от (i) -го блока.

Так что, если случайный байт попадает в i-й блок (давайте для простоты предположим, чтобайт не пересекается между двумя блоками), когда вы идете расшифровывать i-й блок, он даст вам неправильное дешифрование (то есть блок из 128 битов будет неправильным).Кроме того, поскольку следующий блок был зашифрован с использованием i-го блока, (i + 1) -й блок также будет неправильно расшифрован (еще 128 битов, то есть 16 байтов).Оттуда последующие блоки будут правильными (как и все предыдущие блоки).

Для получения дополнительной информации я прочитал бы о Режимах шифрования в Википедии.

Еще одна вещь: изменение случайного байта, скорее всего, не помешает расшифровке - оно просто не даст исходный открытый текст (конечно).

Надежда, которая помогает!

...