Режимы шифрования блочных шифров

При использовании блочных шифров применяются различные режимы шифрования. Очевидно, что применение того или иного режима шифрования не должно отрицательно сказываться на эффективности и тем более криптостойкости блочного шифра. Режимы шифрования позволяют реализовать дополнительные, отсутствующие в исходной конструкции блочного шифра функции.

Стандарт режимов шифрования для блочных шифров (применительно к криптоалгоритму DES) опубликован в материалах Национального института стандартов США. DES включает шифрование в следующих режимах:

· Электронной кодовой книги (Electronic Code Book, ЕСВ),

· Сцепления блоков шифра (Cipher Block Chaining, СВС),

· Обратной связи по шифротексту (Cipher Feedback, СFВ),

· Обратной связи по выходу (Output Feedback, OFB)

 

Шифрование в режимах ECB и CBC

Криптостойкость режима ЕСВ не ниже, чем криптостойкость используемого блочного шифра. Недостаток заключается в том. что фиксированные блоки открытого текста (например, последовательность нулей длины l = nb бит, где b длина блока) будут соответствовать фиксированным блокам шифротекста. Следовательно, открытый текст может быть легко изменен путем удаления, реплицирования и перестановки блоков шифротекста. Скорость обработки блоков в режиме ЕСВ фиксирована и определяется эффективностью реализации блочного шифра. Режим ЕСВ допускает эффективное распараллеливание вычислений. Однако конвейерная обработка блоков в данном режиме невозможна.

В режиме СВС каждый i -й блок открытого текста суммируется по модулю 2 {операция XOR) с (i−1)-м блоком шифротекста и затем шифруется. Начальное значение (c0) задается вектором инициализации.

Криптостойкость режима СВС определяется криптостойкостью используемого блочного шифра. Применение режима СВС позволяет устранить недостаток режима ЕСВ: каждый блок открытого текста маскируется блоком шифротекста, полученным на предыдущем этапе. Таким образом, возможность изменения открытого текста при использовании режима СВС весьма ограничена — любые манипуляции с блоками шифротекста, за исключением удаления первого и последнего блоков, будут обнаружены. Скорость обработки в данном режиме не ниже производительности блочного шифра — задержка при выполнении операции XOR пренебрежимо мала. Процедура шифрования в режиме СВС с трудом поддается распараллеливанию, процедуру дешифрования распараллелить значительно проще.

 

Шифрование в режимах CFB и OFB

В режиме СFВ i -й блок шифротекста формируется путем шифрования (i−1) -го блока шифротекста и его суммированием (операция XOR) с i -м блоком открытого текста.

Режим СFВ можно задать таким образом, что обратная связь будет захватывать не целый n-битный блок, а только k бит предыдущего блока, k≤n. Начальное значение c0 так же, как в режиме СВС, задается при помощи вектора инициализации.

Криптостойкость СFВ определяется криптостойкостью используемого шифра. Фиксированные блоки открытого текста маскируются блоками шифротекста. Возможности изменения открытого текста те же, что и в режиме СВС. Если в режиме СРВ с полноблочной обратной связью имеется два идентичных блока шифротекста, результат, например, DES-шифрования на следующем шаге будет тем же. Скорость шифрования СFВ-режима с полноблочной обратной связью та же, что и у блочного шифра, причем возможности распараллеливания процедуры шифрования ограничены.

Режим OFB аналогичен СFВ, за исключением того, что суммируемые с открытым текстом биты генерируются независимо от открытого текста и шифротекста. Вектор инициализации s0 задает начальное значение последовательности блоков si. И каждый блок si получается путем шифрования предыдущего блока si−1. Открытый текст шифруется суммированием (операция XOR) i-го блока открытого текста с si из независимой последовательности блоков.

Обратная связь по выходу на k разрядов не рекомендуется из соображений криптостойкости. Режим OFB имеет следующее преимущество по сравнению с режимом CFB: ошибки, возникающие в результате передачи по каналу с шумом, при дешифровании не «размазываются» но всему шифротексту, а локализуются в пределах одного блока. Однако открытый текст может быть изменен путем определенных манипуляций с блоками шифротекста. Скорость шифрования в режиме OFB та же, что и у блочного шифра. Несмотря на то, что OFB-шифрование не поддается распараллеливанию, эффективность процедуры может быть повышена за счет предварительной генерации независимой последовательности блоков.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: