Чтобы воспользоваться алгоритмом 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). При этом для каждого сеанса шифрования данных необходимо использовать новое начальное состояние регистра, которое должно пересылаться по каналу открытым текстом.
Положим
для всех
, где
‑ старшие
бит операции
. Отличие от режима обратной связи по шифротексту состоит в методе обновления сдвигового регистра.
Это осуществляется путем отбрасывания старших
бит и дописывания справа
.
![]() |










