Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
65
Добавлен:
19.02.2016
Размер:
374.27 Кб
Скачать

5.3.3. Режим обратной связи с шифром (cfb)

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

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

Мы рассмотрим вариант шифрования одного символа в коде ASCII (так называемый 8-битный CFB), но его можно обобщить и на случай одного бита.

Рис. 5.10. Режим 8-битный CFB-mode, (а) зашифрование, (б) расшифрование

На рис. 5.10 показан 8-битный режим CFB в случае 64-битного блочного алгоритма. В этом варианте блочный алгоритм работает с очередью (стеком) с размером, равным длине входного блока – 64 бита.

Перед началом шифрования стек, как и в режиме СВС, заполняется вектором инициализации IV.

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

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

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

Как и в СВС, в режиме CFB шифрованный текст зависит от всего предыдущего текста. В CFB, как и в СВС, ошибка в исходном тексте обращается при расшифровании.

Ошибка в шифрованном тексте более интересна. Первый эффект однобитовой ошибки – ошибка в исходном тексте.

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

Таким образом, в 8-битовом CFB ошибка одного бита в шифртексте приводит к искажению при расшифровании девяти байтов, хотя последующий шифртекст расшифровывается корректно.

Нюанс: если атакующая сторона знает текст сообщения, то возможно умышленное искажение бит в данном блоке такое, что блок расшифруется во все, что угодно. Следующий блок будет расшифрован в мусор, но вред уже может быть причинен.

Таким образом, режим CFB является самовосстанавливающимся (self-recovering) и по отношению к ошибкам синхронизации. Ошибка попадает на регистр, портит 8 байт и выпадает с другого конца (т.к. синхронизация всегда начинается от последнего зашифрованного байта).

5.3.4. Режим обратной связи по выходу (ofb)

Режим OFB (Output Feedback Mode, рис. 5.11) похож на CFB за исключением того, что в регистр сдвига помещается , а не.

Поэтому данный режим еще называется внутренней обратной связью (internal feedback), т.к. механизм обратной связи не зависит от исходного текста и зашифрованного текста.

Рис. 5.11. Режим OFB, (а) зашифрование, (б) расшифрование

Главным преимуществом режима OFB является нераспространение ошибок или отсутствие явления error extension. Ошибка одного бита в шифрованном блоке вызывает однобитную ошибку при восстановлении текста. Это важное качество для передачи оцифрованных видео- или аудио файлов, где допустимы одиночные ошибки, а эффект распространения ошибок – нет.

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

Проведенные в последние годы исследования режима OFB доказали, что этот режим должен быть использован только в том случае, когда размер блока равен размеру замещаемого элемента по обратной связи (feedback), т.е. 64‑битовый блочный алгоритм должен быть использован с 64-битовым OFB.

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

ECB – простейший и слабейший. CBC немного сложнее, но много надежнее. СFB и OFB сильнее, но медленнее; CFB обычно используется для удаленных терминалов, OFB – для высокоскоростных синхронных систем передачи. DES разрешено использовать с любым из этих четырех режимов. Прочие режимы применять не рекомендуется.

Соседние файлы в папке Гулак_по_главам