Режимы использования шифров.
Для решения разнообразных криптографических задач блочные шифры используют в нескольких режимах работы. Рассмотрим этот вопрос на примере шифра DES. Алгоритм DES может использоваться в следующих четырех режимах: — режим электронной кодовой книги (ЕСВ — Electronic Code Book); — режим сцепления блоков (СВС — Cipher Block Chaining); — режим обратной связи по шифртексту (CFB — Cipher Feed Back); — режим обратной связи по выходу (OFB — Output Feed Back). Режим электронной кодовой книги (ЕСВ) отвечает обычному использованию DES как блочного шифра, осуществляющего некоторую простую замену блоков открытого текста. В режиме сцепления блоков (СВС) каждый блок Ci, i> 1, шифртекста перед очередным зашифрованием складывается по модулю 2 со следующим блоком открытого текста Мi. При этом вектор С 0 полагается равным начальному вектору IV (Initial Vector). Начальный вектор меняется ежедневно и хранится в секрете. Блоки С,,С2,... вырабатываются по рекуррентной формуле Сi = DESk (Ci- 1 Å Mi). Рис.27. Режим CBC. В режимах CFB и OFB алгоритм DES функционирует по аналогии с "шифром Вернама", в режиме OFB — как синхронный шифр, в режиме CFB — как шифр с самосинхронизацией. В режиме CFB вырабатывается блочная "гамма" Z0,Z1,..., причем Z0 полагается равным начальному вектору IV, а при i ≥ 1 блоки гаммы удовлетворяют соотношению Z i = DESk (Ci -1). Блоки открытого текста шифруются по правилу Ci = Mi Å Zi, i ≥ 1.
Рис.28. Режим CFB. В режиме OFB вырабатывается блочная "гамма" Z 0 ,Z 1 ,..., причем Z 0 полагается равным начальному вектору IV, а при i ≥ 1 блоки гаммы удовлетворяют соотношению Zi = DESk (Zi -1). Блоки открытого текста шифруются по правилу Ci=Mi Å Zi, i ≥ 1. Рис.29. Рис.29. Режим OFB. Кроме перечисленных режимов, DES имеет также "режим т-битовой обратной связи", 1 ≤ т ≤ 64. Этот режим оперирует с m -битовыми блоками. Входной блок (64-битовый регистр сдвига) вначале содержит вектор инициализации IV, "выровненный по правому краю".
Рис.30. Режим m-битовой обратной связи. Блоки открытого текста шифруются по правилу Сi = Mi Å Pi, где Pi — вектор, состоящий из т старших битов блока DESk (Сi -1). Обновление заполнения регистра сдвига осуществляется путем отбрасывания старших т битов и дописывания справа вектора Pi. Указанные режимы имеют свои достоинства и недостатки. Основное достоинство режима ЕСВ — простота реализации. Недостаток — в возможности проведения криптоанализа "со словарем ". Дело в том что вследствие большой избыточности в открытом тексте вполне возможны повторения 64-битовых блоков. Это приводит к тому, что одинаковые блоки открытого текста будут представлены идентичными блоками шифртекста, что дает криптоаналитику возможность при наличии достаточно большого числа пар открытого и шифрованного текста восстанавливать с большой вероятностью блоки открытого текста по шифртексту. В режимах ЕСВ и OFB искажение при передаче одного 64-битового блока шифртекста С, приводит к искажению после расшифрования соответствующего блока Mi открытого текста, но не влияет на следующие блоки. Это свойство используется для шифрования информации, предназначенной для передачи по каналам связи с большим числом искажений. Вместе с тем при использовании режима OFB остается открытым вопрос о периоде получаемой выходной гаммы, который в некоторых предположениях может составлять величину порядка 232. В режимах СВС и CFB искажение при передаче одного блока шифртекста Сi приводит к искажению на приеме не более двух блоков открытого текста — Мi, Mj+ 1. В то же время изменение блока Mi приводит к тому, что Ci и все последующие блоки шифртекста будут искажены. Это свойство оказывается полезным для целей аутентификации. Такие режимы применяются для выработки кода аутентификации сообщения. Так, в режиме СВС берется вектор инициализации, состоящий из одних нулей. Затем с помощью ключа k вырабатываются блоки Ci,...,Cn шифртекста. Кодом аутентификации сообщения (КАС) служит блок Сп.
Если требуется обеспечить лишь целостность сообщения, отправитель передает блоки М1,...,Мп вместе с Сп. Тогда противнику, желающему изменить сообщение, нужно соответствующим образом изменить и блок Сп. Возможность этого маловероятна, если только противник не располагает секретным ключом k. Если же нужно обеспечить шифрование и аутентификацию, то отправитель сначала использует ключ k 1для выработки КАС, затем шифрует последовательность блоков М 1 ,...,Мп, Мп+1 = КАС на втором ключе k 2, и получает последовательность блоков С 1,..., Сn, Сn +1. Получатель должен сначала расшифровать С 1 ,...,Сп,Сп+ 1на ключе k 2, а затем проверить (с помощью k), что Мп+ 1— это КАС для М 0,..., Мn. Можно поступить и иначе: сначала использовать k для зашифрования М 1,..., Мn, получая С 1,..., Сn, а затем k 2— для получения КАС. Получатель же будет использовать k2 для проверки КАС, а затем k — для расшифрования C1,..,Cn. Во всех перечисленных режимах вместо алгоритма DES может быть использован любой алгоритм блочного шифрования, в частности российский стандарт ГОСТ 28147-89. В российском стандарте также предусмотрено несколько режимов использования: режим простой замены, режим шифрования с обратной связью и режим гаммирования с обратной связью, которые являются аналогами соответственно режимов ЕСВ, СВС и CFB. Для того чтобы избавиться от указанной выше проблемы неопределенности длины периода гаммы в режиме OFB, в российском стандарте введен режим гаммирования, при котором блочный шифр используется в качестве узла усложнения некоторой последовательности гарантированного периода. Для выработки этой последовательности обычно применяются линейные регистры сдвига или счетчики по некоторому модулю. Рис.31. Режим гаммирования. Уравнение шифрования имеет вид Ci = Mi. Å F (γi), i = 1,2,..., где F — преобразование, осуществляемое блочным шифром, γi - блоки, сформированные узлом выработки исходной гаммы из начального вектора γ 1, который передается в начале сообщения в открытом или зашифрованном виде.
Ошибка при передаче, состоящая в искажении символа, приводит при расшифровании к искажению только одного блока, поэтому сохраняются все преимущества шифра гаммирования.
Контрольные вопросы 1. В чем различие между поточными и блочными шифрами? 2. Какие шифры удобнее в программной, а какие в аппаратной реализации? 3. Какие требования предъявляются к шифрующим преобразованиям блочных шифров? 4. В чем суть рассеивающих и перемешивающих преобразований при блочном шифровании? 5. Назовите основные параметры блочных шифров. 6. Какие виды поточных шифров могут быть эффективно реализованы программно? 7. Какие требования предъявляются к генераторам псевдослучайной последовательности? 8. Какие требования предъявляются к функции шифрования поточного шифра? 9. Какие режимы шифрования не распространяют искажений?
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|