Главная
Тактико-технические данные
Шифрование
Расшифрование
Вспомогательные функции
Режимы алгоритма DES
Упражнения
Литература

Широко известны четыре рабочих режима алгоритма DES, предназначенных для решения разнообразных криптографических задач. Эти режимы, осно-ванные на применении изложенного выше базового алгоритма DES, подробно изложены в [1], [2], где также приведены некоторые их достоинства и недостат-ки. Рассмотрим эти режимы

Рис. 5. Схема алгоритма DES в режиме электронной кодовой книги.

Режим электронной кодовой книги (ECB). Длинный файл разбивается на 64-битовые блоки. Каждый из этих блоков шифруется независимо с использованием одного и того же ключа (рис. 5). Основное достоинство этого режима – простота реализации. Существенным недостатком режима является слабая устойчивость против криптоанализа.

Рис. 6. Схема алгоритма DES в режиме сцепления блоков шифра.

Режим сцепления блоков шифра (CBC). Исходный файл разбивается на 64-битовые блоки М=М1М2…Мn. Первый блок складывается по модулю 2 с 64-битовым начальным вектором IV, который меняется ежедневно и держится в секрете (рис. 6). Полученная сумма затем шифруется с использованием ключа DES, известного отправителю и получателю информации. Полученный 64-битовый шифр С1 складывается по модулю 2 со вторым блоком текста, результат шифруется и получается второй 64-битовый шифр С2, и так далее. Процедура продолжается до тех пор, пока не будут обработаны все блоки текста.

Таким образом для всех i = 1, 2, …, n (n – число блоков) результат шиф-рования Ci определяется следующим образом:

Ci = DES(Mi+Ci-1), где C0 = IV – начальное значение шифра, равное начальному вектору.

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

Рис. 7. Схема алгоритма DES в режиме обратной связи по шифротексту.

Режим обратной связи по шифротексту (CFB). В этом режиме размер блока может отличаться от 64 бит (рис. 7). Файл, подлежащий шифрованию (расшифрованию), считывается последовательными блоками длиной k бит (k=1…64). Входной блок (64-битовый регистр сдвига) вначале содержит вектор инициализации, выровненный по правому краю. Пусть в результате разбиения на блоки мы получили n блоков длиной k бит каждый (остаток дописывается нулями или пробелами). Тогда для любого i = 1…n блок шифротекста

Ci = Mi + Рi-1,

где Рi – обозначает k старших битов предыдущего зашифрованного блока.

Обновление сдвигового регистра осуществляется путем удаления его старших k бит и записи Ci в регистр. При восстановлении зашифрованный данных Ci и Рi-1 вычисляются аналогичным образом и

Mi = C i+ Рi-1.

Рис. 8. Схема алгоритма DES в режи-ме обратной связи по выходу.

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

Пусть исходный файл разбит блоки М=М1М2…Мn. Для всех i = 1…n Ci = Mii, где Рi – старшие k битов операции DES(Ci-1). Отличие от режима обратной связи по шифротексту состоит в методе обновления сдвигового регистра.