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

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

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

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

3. обратная связь по шифротексту СРВ (Cipher FeedBack);

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

Режим "Электронная кодовая книга"

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

 
 

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

Режим "Сцепление блоков шифра"

В этом режиме исходный файл разбивается на 64‑битые блоки: . Первый блок складывается по модулю 2 с 64‑битовым начальным вектором , который меняется ежедневно и держится в секрете (рис. 5.5). Полученная сумма за­тем шифруется с использованием ключа DES, известного и отпра­вителю, и получателю информации. Полученный 64‑битовый шифр складывается по модулю 2 со вторым блоком текста, ре­зультат шифруется и получается второй 64‑битовый шифр и т.д. Процедура повторяется до тех пор, пока не будут обработаны все блоки текста.

Таким образом, для всех ( ‑ число блоков) ре­зультат шифрования определяется следующим образом: , где ‑ начальное значение шифра, равное начальному вектору (вектору инициализации).

 
 

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

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

Достоинство данного режима в том, что он не позволяет накапливаться ошибкам при передаче.

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

Режим "Обратная связь по шифротексту"

 
 

В этом режиме размер блока может отличаться от 64 бит (рис 5.6). Файл, подлежащий шифрованию (расшифровыванию), счи­тывается последовательными блоками длиной бит ().

Входной блок (64‑битовый регистр сдвига) вначале содер­жит вектор инициализации, выровненный по правому краю. Предположим, что в результате разбиения на блоки мы получили блоков длиной бит каждый (остаток дописывается нулями или пробелами). Тогда для любого блок шифротекста , где обозначает старших бит предыдущего зашифрованно­го блока.

Обновление сдвигового регистра осуществляется путем удаления его старших бит и записи в регистр. Восстанов­ление зашифрованных данных также выполняется относительно просто: и вычисляются аналогичным образом и .

Режим "Обратная связь по выходу"

Этот режим тоже использует переменный размер блока и сдвиговый регистр, инициализируемый так же, как в режиме СРВ, а именно ‑ входной блок вначале содержит вектор инициализации , выровненный по правому краю (рис. 5.7). При этом для каждого сеанса шифрования данных необходимо использовать новое начальное состояние регистра, которое должно пересылаться по каналу открытым текстом.

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

Это осуществляется путем отбрасывания старших бит и дописывания справа .

 
 



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



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