Основные режимы работы блочного симметричного алгоритма

Чтобы воспользоваться блочным симметричным алгоритмом для решения разнообразных криптографических задач, разработано четыре рабочих режима:

¨ электронная кодовая книга ЕСВ (Electronic Code Book);

¨ сцепление блоков шифра СВС (Cipher Block Chaining);

¨ обратная связь по шифртексту СFВ (Cipher Feed Back);

¨ обратная связь по выходу OFB (Output Feed Back).

Эти рабочие режимы первоначально были разработаны для блочного алгоритма DES, но в любом из этих режимов могут работать и другие блочные криптоалгоритмы. В качестве примера будем использовать блочный алгоритм DES.

Режим «Электронная кодовая книга» Длинный файл разбивают на 64-битные отрезки (блоки) по 8 байт. Каждый из этих блоков шифруют независимо с использованием одного и того же ключа шифрования (рис. 4.14).

Основные режимы работы блочного симметричного алгоритма - student2.ru

Рис. 4.14. Схема работы блочного алгоритма в режиме

электронной кодовой книги

Основное достоинство – простота реализации. Недостаток – относительно слабая устойчивость против криптоаналитических атак. Из-за фиксированного характера шифрования при ограниченной длине блока 64 бит возможно проведение криптоанализа со словарем. Блок такого размера может повториться в сообщении вследствие большой избыточности в тексте на естественном языке. Это приводит к тому, что идентичные блоки открытого текста в сообщении будут представлены идентичными блоками шифртекста, что дает криптоаналитику некоторую информацию о содержании сообщения.

Режим «Сцепление блоков шифра». В этом режиме исходный файл М разбивается на 64-битные блоки: М = М1 М2... Мn. Первый блок М1 складывается по модулю 2 с 64-битным начальным вектором IV, который меняется ежедневно и держится в секрете (рис. 4.15).

Основные режимы работы блочного симметричного алгоритма - student2.ru

Рис. 4.15. Схема работы блочного алгоритма

в режиме сцепления блоков шифра

Полученная сумма затем шифруется с использованием ключа шифра, известного и отправителю, и получателю информации. Полученный 64-битный блок шифртекста C1 складывается по модулю 2 со вторым блоком текста, результат шифруется, и получается второй 64-битный блок шифртекста С2 и т.д. Процедура повторяется до тех пор, пока не будут обработаны все блоки текста.

Таким образом, для всех i = 1...n (п – число блоков) результат шифрования Сi определяется следующим образом: Сi = Е(Мi Å Сi-1), где С0 = IV – начальное значение шифра, равное начальному вектору (вектору инициализации).

Очевидно, что последний 64-битный блок шифртекста является функцией секретного ключа, начального вектора и каждого бита открытого текста независимо от его длины. Этот блок шифртекста называют кодом аутентификации сообщения MAC (Message Authentication Code).

Код MAC может быть легко проверен получателем, владеющим секретным ключом и начальным вектором, путем повторения процедуры, выполненной отправителем. Посторонний, однако, не может осуществить генерацию MAC, который был бы воспринят получателем как подлинный, чтобы добавить его к ложному сообщению, либо отделить MAC от истинного сообщения для использования его с измененным или ложным сообщением. Достоинство данного режима в том, что он не позволяет накапливаться ошибкам при передаче.

Блок Мi является функцией только Сi-1 и Сi. Поэтому ошибка при передаче приведет к потере лишь двух блоков исходного текста.

Режим «Обратная связь по шифртексту». В этом режиме размер блока может отличаться от 64 бит (рис. 4.16). Файл, подлежащий шифрованию (расшифрованию), считывается последовательными блоками длиной k битов (k = 1...64).

Входной блок (64-битный регистр сдвига) вначале содержит вектор инициализации, выровненный по правому краю.

Основные режимы работы блочного симметричного алгоритма - student2.ru

Рис. 4.16. Схема работы блочного алгоритма

в режиме обратной связи по шифртексту

Предположим, что в результате разбиения на блоки мы получили п блоков длиной k битов каждый (остаток дописывается нулями или пробелами). Тогда для любого i = 1...п блок шифртекста Сi = Мi Å Рi-1 где Рi-1 обозначает k старших битов предыдущего зашифрованного блока.

Обновление сдвигового регистра осуществляется путем удаления его старших k битов и записи Сi в регистр. Восстановление зашифрованных данных выполняют относительно просто: Рi-1 и Сi вычисляются аналогичным образом и Мi = Ci Å Рi-1.

Режим «обратная связь по выходу». Этот режим тоже использует переменный размер блока и сдвиговый регистр, инициализируемый так же, как в режиме обратной связи по шифротексту, а именно входной блок вначале содержит вектор инициализации IV, выровненный по правому краю (рис. 4.17).

Основные режимы работы блочного симметричного алгоритма - student2.ru

Рис. 4.17. Схема работы блочного алгоритма

в режиме обратной связи по выходу

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

Положим, М = М1 М2 ... Мп.

Для всех i = 1...п

Сi = Мi Å Рi, (4.7)

где Рi – старшие k битов операции Е(Сi-1).

Отличие от режима обратной связи по шифртексту состоит в методе обновления сдвигового регистра. Это осуществляется путем отбрасывания старших k битов и дописывания справа Р.

Каждому из рассмотренных режимов (ЕСВ, СВС, САВ, OFB) свойственны свои достоинства и недостатки, что обусловливает области их применения.

Режим ЕСВ хорошо подходит для шифрования ключей; режим СFВ, как правило, предназначается для шифрования отдельных символов, а режим OFB нередко применяется для шифрования в спутниковых системах связи.

Режимы СВС и СFВ пригодны для аутентификации данных. Эти режимы позволяют также использовать блочные симметричные криптоалгоритмы для:

¨ интерактивного шифрования при обмене данными между терминалом и главной ЭВМ;

¨ шифрования криптографического ключа в практике автоматизированного распространения ключей;

¨ шифрования файлов, почтовых отправлений, данных спутников и других практических задач.

Наши рекомендации