Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Криптографическая защита информации.doc
Скачиваний:
197
Добавлен:
04.12.2018
Размер:
1.91 Mб
Скачать

6.3. Режимы использования блочных шифров

Для решения разнообразных криптографических задач блочные шифры используют в нескольких режимах работы. Рассмотрим этот вопрос на примере шифра DES.

Алгоритм DES может использоваться в следующих четырех режимах:

  • режим электронной кодовой книги (ЕСВ Electronic Code Book);

  • режим сцепления блоков (СВС Cipher Block Chaining);

  • режим обратной связи по шифртексту (CFB – Cipher Feed Back);

  • режим обратной связи по выходу (OFB – Output Feed Back).

Режим электронной кодовой книги (ЕСВ) отвечает обычному использованию DES как блочного шифра, осуществляющего некоторую простую замену блоков открытого текста. В режиме сцепления блоков (СВС) каждый блок Сi, i  1, шифртекста перед очередным зашифрованием складывается по модулю 2 со следующим блоком открытого текста Мi+1. При этом вектор С0 полагается равным начальному вектору IV (Initial Vector). Начальный вектор меняется ежедневно и хранится в секрете.

В режимах СFB и OFB алгоритм DES функционирует по аналогии с «шифром Вернама», в режиме OFB – как синхронный шифр, в режиме СFB – как шифр с самосинхронизацией.

Кроме перечисленных режимов, DES имеет также "режим т-битовой обратной связи". Этот режим оперирует с т-битовыми блоками.

Указанные режимы имеют свои достоинства и недостатки. Основное достоинство режима ЕСВ – простота реализации. Недостаток – в возможности проведения криптоанализа «со словарем». Дело в том, что вследствие большой избыточности в открытом тексте вполне возможны повторения 64-битовых блоков. Это приводит к тому, что одинаковые блоки открытого текста будут представлены идентичными блоками шифртекста, что дает криптоаналитику возможность при наличии достаточно большого числа пар открытого и шифрованного текста восстанавливать с большой вероятностью блоки отрытого текста по шифртексту.

В режимах ЕСВ и OFB искажение при передаче одного 64-битого блока шифртекста Сi приводит к искажению после расшифрования соответствующего блока Мi открытого текста, но не влияет на следующие блоки. Это свойство используется для шифрования информации, предназначенной для передачи по каналам связи с большим числом искажений. Вместе с тем при использовании режима OFB остается открытым вопрос о периоде получаемой выходной гаммы, ко­торый в некоторых предположениях может составлять величину порядка 232.

В режимах СВС и СРВ искажение при передаче одного блока шифртекста Сi приводит к искажению на приеме не более двух блоков открытого текста – Мi, Мi+1. В то же время изменение блока Мi приводит к тому, что Сi, и все последующие блоки шифртекста будут искажены. Это свойство оказывается полезным для целей аутентификации. Такие режимы применяются для выработки кода аутентификации сообщения.

Так, в режиме СВС берется вектор инициализации, состоящий из одних нулей. Затем с помощью ключа k вырабатываются блоки С1,...,Сn шифртекста. Кодом аутентификации сообщения (КАС) служит блок Сn .

Если требуется обеспечить лишь целостность сообщении, отправитель передает блоки М1,...,Мn вместе с Сn. Tогда противнику, желающему изменить сообщение, нужно соответствующим образом изменить и блок Сn . Возможность этого маловероятна, если только противник не располагает секретным ключом k.

Если же нужно обеспечить шифрование и аутентифика­цию, то отправитель сначала использует ключ k1 для выработки КАС, затем шифрует последовательность блоков M1,...,Mn, Мn+1 = КАС на втором ключе k2, и получает последовательность блоков С1,...,Сn,Сn+1. Получатель должен сначала расшифровать С1,...,Сn,Сn+1 на ключе k2, а затем проверить (с помощью k), что Мn+1 — это КАС для M1,...,Mn.

Можно поступить и иначе: сначала использовать k для зашифрования M1,...,Mn, получая С1,...,Сn, а затем k2 для получения КАС. Получатель же будет использовать k2 для проверки КАС, а затем k для расшифрования С1,...,Сn.

Во всех перечисленных режимах вместо алгоритма DЕS может быть использован любой алгоритм блочного шифрования, в частности российский стандарт ГОСТ 28147-89.

В российском стандарте также предусмотрено несколько режимом использования: режим простой замены, режим шифрования с обратной связью и режим гаммирования с обратной связью, которые являются аналогами соответственно режимов ЕСВ, СВС и СFВ. Для того чтобы избавиться от указанной выше проблемы неопределенности длины периода гаммы в режиме OFB, в российском стандарте введен режим гаммирования, при котором блочный шифр используется в качестве узла усложнения некоторой последовательности гарантированного периода. Для выработки этой последовательности обычно применяются линейные регистры сдвига или счетчики по некоторому модулю.

Уравнение шифрования имеет вид

Сi =МiF(i), i=1,2,...,

где F – преобразование, осуществляемое блочным шифром, i – блоки, сформированные узлом выработки исходной гаммы из начального вектора 1, который передается в начале сообщения в открытом или зашифрованном виде.

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