Другие режимы блочных шифров
Резким сцепления блоков
Для использования блочного алгоритма в режиме сцепления блоков (block chaining, BC), просто выполните XOR входа блочного шифра и результата XOR всех предыдущих блоков шифротекста. Как и для СВС используется IV. Математически это выглядит как:
С, = Ek(P, Q F*; F,l = F,©C,P,=F,© *(C,); Fi* I = F, ©a
Как и СВС, обратная связь процесса ВС приводит к распространению ошибки в открытом тексте. Главная
проблема ВС заключается в том, что из-за того, что дешифрирование блока шифротекста зависит от всех предыдущих блоков шифротекста, единственная ошибка шифротекста приведет к неправильной расшифровке всех последующих блоков шифротекста.
Резким распространяющегося сцепления блоков шифра
Режим распространяющегося сцепления блоков шифра (propagating cipher block chaining, PCBC) [1080] похож на режим СВС за исключением того, что и предыдущий блок открытого текста, и предыдущий блок шифротекста подвергаются операции XOR с текущим блоком открытого текста перед шифрованием (или после шифрования) .
Ci = E*P, ©СПОР, 1)Р* = С/1©Л1©а*,)
РСВС используется в Kerberos версии 4 для выполнения за один проход и шифрования, и проверки целостности. В режиме РСВС ошибка шифротекста приводит к неправильному дешифрированию всех последующих блоков. Это означает, что проверка стандартного блока в конце сообщения обеспечивает целостность всего сообщения.
К несчастью в этом режиме существует одна проблема. Перестановка двух блоков шифротекста приводит к неправильной расшифровке двух соответствующих блоков открытого текста , но из-за природы операции XOR над открытым текстом и шифротекстом, дальнейшие ошибки компенсируются. Поэтому, если при проверке целостности проверяются только несколько последних блоков расшифрованного открытого текста, можно получить частично испорченное сообщение. Хотя никто до сих пор не додумался, как воспользоваться этой слабостью, Kerberos версии 5 после обнаружения ошибки переключается в режим СВС.
Сцепление блоков шифра с контрольной суммой
Сцепление блоков шифра с контрольной суммой (cipher block chaining with checksum, CBCC) представляет собой вариант СВС . Сохраняйте значение XOR всех уже зашифрованных блоков открытого текста, выполняя для каждого текущего блока открытого текста перед его шифрованием XOR с сохраняемым значением. СВСС обеспечивает, что любое изменение любого блока шифротекста изменит результат дешифровки последнего блока. Если последний блок содержит какую-нибудь константу или служит для проверки целостности, то целостность расшифрованного открытого текста может быть проверена с минимальными дополнительными накладными расходами.
Выходная обратная связь с нелинейной функцией
Выходная обратная связь с нелинейной функцией (output feedback with a nonlinear function, OFBNLF) представляет собой вариант и OFB, и ЕСВ, где ключ изменяется с каждым блоком:
С, = Ek*P*, К* = Edit, ,\P,= a*,); Ki = Е*К, I)
Ошибка одного бита шифротекста распространяется только на один блок открытого текста. Однако, если бит теряется или добавляется, то ошибка распространяется до бесконечности . С блочным алгоритмом, использующим сложный алгоритм планирования ключей, этот режим работает медленно . Я не знаю, как выполнять криптоанализ этого режима.
Прочие режимы
Возможны и другие режимы, хотя они используются нечасто. Сцепление блоков открытого текста (plaintext block chaining, PBC) похоже на СВС за исключением того, что операция XOR выполняется для блока открытого текста и для предыдущего блока открытого текста, а не блока шифротекста. Обратная связь по открытому тексту (plaintext feedback, PFB) похожа на СРВ за исключением того, что для обратной связи используется не шифротекст, а открытый текст. Существует также сцепление блоков шифротекста по различиям открытого текста (cipher block chaining of plaintext difference, CBCPD). Я уверен, что можно найти еще таинственнее.
Если у криптоаналитика есть машина для поиска ключей грубой силой, то он сможет раскрыть ключ, если угадает один из блоков открытого текста. Некоторые из упомянутых странных режимов, по сути, являются дополнительным шифрованием перед использованием алгоритма шифрования: например, XOR текста и фиксированной секретной строки или перестановка текста. Почти все отклонения от стандартов помешают подобному криптоанализу.