Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие КЗИ учебное пособие.docx
Скачиваний:
130
Добавлен:
08.05.2019
Размер:
1.34 Mб
Скачать

3.5. Современные поточные криптоалгоритмы

Краткие сведения о некоторых наиболее известных поточных криптоалгоритмах, считающихся относительно стойкими, сведены в табл.7.

Таблица 7. Стойкие поточные криптоалгоритмы

№пп

Алгоритм

Описание

1

Каскад Голлмана

Усиленная версия генератора «старт-стоп». Последовательное соединение РСЛОС

2

А5

Комбинация трех РСЛОС с изменяемым управлением тактированием

3

Nanoteq

На основе одного РСЛОС

4

Rambutan

Предположительно на основе РСЛОС

5

Pike

На основе трех аддитивных генераторов

6

Mush

Взаимно сжимающий генератор

7

RC4

S-блочная замена в режиме OFB. Эффективен для программной реализации

8

SEAL

На основе таблиц SHA. Эффективен для программной реализации. Наиболее быстрый алгоритм

9

WAKE

S-блочная замена в режиме CFB. Эффективен для программной реализации

10

Генератор Блюма-Микали

На основе трудности решения задачи дискретного логарифмирования

11

Генератор RSA

На основе трудности решения задачи факторизации

12

Генератор BBS

На основе трудности решения задачи факторизации

3.5.1. Алгоритм Гиффорда

Алгоритм построен на основе единственного 8-байтового регистра сдвига и работает в режиме OFB. Ключевая гамма генерируется побайтово. Схема работы алгоритма приведена на рис. 25.

Рис.25. Алгоритм Гиффорда

Характеристический многочлен регистра не примитивен и потому может быть вскрыт.

3.5.2. Алгоритм a5

Алгоритм построен на основе трех РСЛОС длины 19, 22 и 23 с последовательностью «стоп/вперед», управляющей движением регистров. В каждом такте сдвигаются по меньшей мере два регистра. Схема приведена на рис. 26.

Рис.26. Алгоритм А5

Алгоритм используется в системах связи стандарта GSM для шифрования трафика между абонентом и базовой станцией.

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

Для решения разнообразных криптографических задач блочные шифры используют в нескольких режимах работы. Рассмотрим этот вопрос на примере шифра 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 блоки гаммы удовлетворяют соотношению Zi = DESk(Ci-1). Блоки открытого текста шифруются по правилу Ci = Mi Zi, i1.

Рис.28. Режим CFB

В режиме OFB вырабатывается блочная "гамма" Z0,Z1, ..., причем Z0 полагается равным начальному вектору IV, а при i ≥ 1 блоки гаммы удовлетворяют соотношению Zi = DESk (Zi-1). Блоки открытого текста шифруются по правилу Ci=MiZi, i1.

Рис.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.

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

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

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

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

Рис.31. Режим гаммирования

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

Ci = Mi. F(γi), i = 1,2,...,

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

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