Блочные режимы работы шифров. Методы заполнения последн. блока
DES может использоваться в четырех режимах:
· Режим электронной кодовой книги (ECB – Electronic Code Book). Обычное использование DES как блочного шифра.
Применяется для блочного шифрования. Последующий блок не зависит от предыдущего.
· Режим сцепления блоков (CBC – Cipher Block Chaining). Каждый очередной блок Ci , i>=1, перед зашифровыванием складывается по модулю 2 со следующим блоком открытого текста Mi + 1. Вектор C0 - начальный вектор инициализации сохраняется в секрете.
Использует обратную связь для комбинирования шифротекста, сгенерированного ранее, с новым открытым текстом.
· Режим обратной связи по шифротексту (CFB – Cipher Feed Back). В режиме CFB вырабатывается блочная "гамма"
Z0, Z1, ... , Zi = DESk(Ci 1) .
Начальный вектор C0 сохраняется в секрете.
Применяется для побайтного шифрования данных
· Режим обратной связи по выходу (OFB – Output Feed Back). В режиме OFB вырабатывается блочная "гамма"
Z0, Z1, ..., , i>=1.
Применяется для шифрования потоков аудио- и видеоданных и для аутентификации
Достоинства и недостатки режимов:
- Режим ECB прост в реализации, но возможно происходить проведение критоанализа.
- В режимах ECB и OFB искажение при передаче одного 64-битового блока шифротекста Ci приводит к искажению после расшифрования только соответствующего открытого блока Mi , поэтому такие режимы используется для передачи по каналам связи с большим числом искажений.
- В режимах CBC и CFB искажение при передаче одного блока шифрованного текста Сi приводит к искажению на приёмнике не более двух блоков открытого текста Mi,Mi +1 Изменение Mi приводит к изменению всех остальных блоковMi + 1,Mi + 2... Это свойство используется для выработки кода аутентификации сообщения.
Выбор режима шифрования:
Методы заполнения последн. блока
Число байтов в последнем блоке открытого текста | Дополняющая последовательность байтов |
Т.о., последний байт открытого текста, полученного после расшифровки, указывает на то, сколько дополняющих байтов нужно из него удалить.
Поточные режимы работы блочных шифров. Преим., недост., применение
Поточные – шифры, в которых используется шифрование всех элементов открытого текста последовательно один за другим. Пример: Виженера, Вернама.
Использование поточного шифра избавляет от необходимости дополнять сообщение до целого числа блоков. Кроме того, с поточным шифром можно работать в режиме реального времени. Каждый символ можно шифровать и сразу же передавать адресату, не дожидаясь окончания шифрования остальной части сообщения.