CBC-шифрование считается устаревшим по нескольким причинам:
- Нетерпимость к потере блоков. 1 Если один или несколько блоков зашифрованного текста потеряны, повреждены или искажены, пользователь не сможет выполнить полное дешифрование. 1
- Распространение ошибок. 2 Из-за рекурсивного характера процесса шифрования в CBC вероятность стойких ошибок высока. 1
- Невозможность параллельного шифрования. 1 Из-за механизма формирования цепочки шифрование каждого блока открытого текста зависит от последнего, поэтому невозможно одновременно зашифровать все входные данные. 1
Некоторые альтернативы CBC-шифрованию:
- Режим кодированной обратной связи (CFB). 23 В нём можно обрабатывать открытые тексты любой длины, в то время как в CBC длина открытого текста должна быть кратна длине блока. 3
- Режим счётчика (CTR). 4 В нём не требуется дополнять открытый текст, а значит, невозможны атаки с оракулом дополнения. 4 Гамму можно вычислять заранее, а не в момент шифрования. 4 Разные блоки открытого текста можно зашифровывать и расшифровывать параллельно. 4