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

Иванов М.А. КМЗИ сети

.pdf
Скачиваний:
404
Добавлен:
28.03.2016
Размер:
3.19 Mб
Скачать

Алгоритм выработки ключей (Key Schedule). Раундовые ключи получаются из ключа шифрования посредством алгоритма выработки ключей. Он содержит два компонента: рас-

ширение ключа (Key Expansion) и выбор раундового ключа

(Round Key Selection). Основополагающие принципы алгоритма выглядят следующим образом:

общее число бит раундовых ключей равно длине блока, умноженной на число раундов плюс 1 (например, для длины блока 128 бит и 10 циклов требуется 1408 бит циклового ключа); ключ шифрования расширяется в расширенный ключ

(Expanded Key);

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

Расширение ключа (Key Expansion). Расширенный ключ представляет собой линейный массив 4-байтовых слов. Первые четыре слова содержат ключ шифрования. Все остальные слова определяются рекурсивно из слов с меньшими индексами.

Криптоалгоритм. Шифр AES-128 состоит из:

начального добавления раундового ключа; девяти раундов; заключительного раунда.

Новая архитектура (рис. 2.18,а), с использованием которой построена функция Ek, получила название «Квадрат». Свойства алгоритма иллюстрирует рис. 2.18,б, из которого видно, что два раунда обеспечивают полное рассеивание и перемешивание информации. Видно, что даже незначительные изменения на входе нелинейной функции приводят к существенным изменениям на выходе (в среднем изменяется половина бит преобразованного блока).

101

Входной блок Mi

Добавление раундового ключа

AddRoundKey

Замена байтов

SubBytes

Сдвиг строк

ShiftRows

Перемешивание столбцов

MixColumns

Добавление раундового ключа

AddRoundKey

Замена байтов

SubBytes

Сдвиг строк

ShiftRows

Перемешивание столбцов

MixColumns

Добавление раундового ключа

AddRoundKey

Замена байтов

SubBytes

Сдвиг строк

ShiftRows

Добавление раундового ключа

AddRoundKey

Выходной блок Ci

а

Входной блок

1-й раунд

После SubBytes 1-го раунда

9-й раунд После MixColumns

1-го раунда

10-й раунд После ShiftRows

2-го раунда

После MixColumns 2-го раунда

Измененный бит

Измененный байт

б

Рис. 2.18. Шифр AES-128: а – итеративное блочное преобразование (нелинейная функция зашифрования); б – рассеивание и перемешивание информации в процессе двухраундового преобразования

Обоснование числа раундов выглядит следующим образом. Авторы криптоалгоритма продемонстрировали эффективнейшую атаку на 4-раундовую версию RIJNDAEL [14]. После добавления

102

5-го раунда атака по-прежнему возможна, но становится сложнее. После добавления 6-го раунда атака по-прежнему возможна, но ее сложность уже сопоставима с атакой полного перебора. К получившейся 6-раундовой функции шифрования, обладающей минимальной стойкостью к рассматриваемой атаке, добавляются два начальных раунда, обеспечивающих полное рассеивание и перемешивание, и два конечных раунда, обладающих тем же свойством. Таким образом, суммарное число раундов становится равным 10.

Основные достоинства AES-128:

новая архитектура «Квадрат», обеспечивающая быстрое рассеивание и перемешивание информации, при этом за один раунд преобразованию подвергается весь входной блок; байт-ориентированная структура, удобная для реализации на 8-разрядных микроконтроллерах; все раундовые преобразования суть операции в конечных по-

лях, допускающие эффективную аппаратную и программную реализацию на различных платформах.

Возможные направления совершенствования архитектуры

«Квадрат». Можно выделить следующие пути совершенствования архитектуры «Квадрат»:

замена раундовой операции сдвига строк ShiftRows на операцию перемешивания строк MixRows позволит обеспечить полное рассеивание и перемешивание за один раунд; совместное использование архитектур «Петля Фейстеля» и «Квадрат», например построение раундового преобразования f на основе операций добавления раундового ключа, замены байтов, перемешивания строк и перемешивания столбцов; переход от архитектуры «Квадрат» к архитектуре «Куб» (приложение 3).

2.7. Вероятностное блочное шифрование

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

Ek : M υ R ο C,

103

где Ek , k, M , C – функция зашифрования, секретный ключ, про-

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

Во избежание путаницы следует отметить: термин вероятностное шифрование (Probabilistic Encryption) был впервые введен Ш. Гольдвассер и С. Микали. Ими же предложена первая схема такого шифрования, основанная на использовании BBSгенератора ПСЧ в качестве источника ключевой последовательности. В настоящем разделе термин «вероятностное шифрование» используется, чтобы подчеркнуть факт внесения неопределенности в работу криптоалгоритма. Представляется, что такое применение термина – более обосновано.

Схема одного из возможных вариантов вероятностного блочного шифрования в режиме ECB показана на рис. 2.19, где на вход функции зашифрования Ek поступает «расширенный»

n-разрядный блок M'i , полученный в результате конкатенации m-разрядного блока открытого текста Mi и двоичного набора Ri разрядности (n m) с выхода генератора ПСЧ. В результате зашифрования получается блок ci закрытого текста, разрядность которого больше разрядности блока Mi . В результате при за-

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

вается.

Можно выделить следующие достоинства вероятностного шифра:

появляется принципиальная возможность увеличения времени жизни сеансовых ключей; использование качественного генератора ПСЧ позволяет

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

104

отношение длин блока открытого текста M'i и соответствующего ему элемента ri вероятностного пространства может выступать в качестве параметра безопасности.

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Mi

 

Ri

 

 

 

 

Генератор ПСЧ

 

 

 

Ci

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n - m

 

 

m

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

Dk

 

 

 

 

 

k

 

 

EAk

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

n - m

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ci

 

 

 

 

 

 

 

 

 

 

Mi

 

Ri

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

Рис. 2.19. Пример вероятностного шифрования в режиме ECB: а – зашифрование; б – расшифрование

Недостаток у рассматриваемой схемы лишь один – шифротекст всегда длиннее соответствующего ему открытого текста.

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

2.8.Cинхронные поточные шифры

Всинхронных поточных шифрах гаммирующая последовательность формируется независимо от потока открытого текста при зашифровании и шифротекста при расшифровании. Функционирование генератора гаммы, разворачивающего короткий случайный ключ k в длинную псевдослучайную последовательность (ПСП), в общем случае можно описать следующим образом:

105

st 1

F st , k ,

ϑt

f st , k ,

где st – состояние элементов памяти генератора гаммы в момент

времени t; F – функция обратной связи (перехода); f – функция выхода. Начальное заполнение s0 может быть функцией от клю-

ча и синхропосылки.

Существуют два основных режима функционирования синхронных поточных шифров. В режиме обратной связи по выходу OFB функция выхода f генератора ПСЧ не зависит от ключа и

уравнения работы генератора гаммы имеют вид

st 1

F st , k ,

ϑt

f st .

В режиме счетчика функция обратной связи F генератора ПСЧ не зависит от ключа, но гарантированно обеспечивает прохождение генератора через все пространство состояний (или большую его часть). Уравнения генератора гаммы в этой ситуации имеют вид

st 1

F st ,

ϑt

f st , k .

Главное свойство синхронного поточного шифра – отсутствие эффекта размножения ошибок. При расшифровании неправильного бита искажается только соответствующий бит открытого текста. Данное свойство ограничивает возможность обнаружения ошибки при расшифровании. Кроме того, противник имеет возможность производить управляемые изменения шифротекста, совершенно точно зная, какие изменения в результате произойдут в соответствующем открытом тексте. При использовании синхронных поточных шифров необходимо согласование работы устройств на передающей и принимающей стороне, так как в случае потери или вставки элемента зашифрованной последовательности на принимающей стороне будет потеряна вся информация, начиная с того места, где сбилась синхронизация. Обычно синхронизация достигается либо вставкой специальных маркеров, либо переинициализацией передающего и принимающего

106

устройства при некотором заранее согласованном условии

[21, 24, 30].

Описание наиболее известных поточных шифров приведено в [24].

Шифр А5 – поточный шифр, используемый в системах GSM (Group Special Mobile) для закрытия связи между абонентом и базовой станцией. Он является европейским стандартом для цифровых сотовых мобильных телефонов. А5 использует три LFSR длиной 19, 22 и 23 с прореженными многочленами обратной связи, т.е. с многочленами, имеющими небольшое число ненулевых коэффициентов. Выходом генератора гаммы является выход элемента сложения по модулю два М2, на входы которого поступают последовательности с выходов трех LFSR (их начальное заполнение – секретный сеансовый ключ). Используется управление синхронизацией LFSR (рис. 2.20).

c1

LFSR 1

Stop/go

c2

LFSR 2

Stop/go

c3

LFSR 3

Stop/go

Схема

синхронизации

ТИ

x1

x2 γ

M2

x3

Рис. 2.20. Генератор ПСЧ поточного шифра А5

107

Для управления синхронизацией используются биты c1, c2 , c3 с выходов LFSR. В каждом такте сдвигаются как минимум два LFSR. Если c1 = c2 = c3, сдвигаются все три регистра, в противном случае – те два регистра i и j, для которых выполняется равенство ci = cj .

Криптоанализ алгоритма показал, что для определения начального заполнения LFSR при известных 64 бит гаммы требу-

ется перебор 240 вариантов. Кроме того, около 40 % ключей приводят к циклу, длина которого наименьшая из всех возмож-

ных и равна 223 1 43 бит. Алгоритм разрабатывался с нару-

шением правила Кирхгофа, поэтому имеет большое число слабостей, подробное описание которых приведено в [24].

Шифр RC4 – поточный шифр переменным размером ключа, разработанный Р. Ривестом. Алгоритм работает в режиме OFB, т.е. поток ключевой информации не зависит от открытого текста. Используется 8-разрядный S-блок, таблица замен имеет размерность 8υ 256 и является перестановкой (зависящей от ключа) двоичных чисел от 0 до 255. Применяются два счетчика Q1 и Q2

с нулевым начальным состоянием (рис. 2.21).

Рассмотрим процедуру генерации очередного байта гаммы. Пусть Si и ϑ – содержимое ячейки с адресом i таблицы замен S-блока и очередной байт гаммы.

Алгоритм RC4

1. Такт работы первого счетчика:

Q

Q 1 mod 28.

1

1

 

 

2. Такт работы второго счетчика:

Q

Q S

Q

mod 28.

2

2

 

 

 

1

 

3.Ячейки таблицы замен S-блока с адресами Q1 и Q2 обмениваются своим содержимым:

SQ1 λ SQ2 .

108

4.

Вычисление

суммы содержимого

ячеек

таблицы

замен

 

S-блока с адресами Q1

и Q2

:

 

 

 

 

 

 

 

T

S

 

S

mod 28.

 

 

 

 

 

 

 

Q

 

Q

2

 

 

 

 

 

 

 

 

1

 

 

 

 

5. Считывание содержимого ячейки таблицы замен S-блока

 

с адресом Т:

ϑ

ST .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

ТИ

+1

Q1

 

 

 

 

 

S-блок

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

γ

ST

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q2

 

 

 

 

 

 

 

 

 

8

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

SQ1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mod 256

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

SQ2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mod 256

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

Рис. 2.21. Схема генератора ПСЧ RC4

 

 

Алгоритм инициализации таблицы замен S-блока

1.Запись в каждую ячейку таблицы замен S-блока ее собственного адреса:

i 0, 255, Si i.

2. Заполнение байтами ключа другой 256-байтовой таблицы:

109

k ki `, i 0, 255.

3.Инициализация индекса j: j = 0.

4.Перемешивание таблицы замен S-блока:

i

 

j

j S

k mod 28

, S

 

λ S

 

.

0, 255,

i

j

 

 

 

i

i

 

 

 

Число состояний RC4 равно приблизительно

2 1700 256! υ 2562 .

Таблица замен S-блока медленно изменяется при использовании, при этом счетчик Q1 обеспечивает изменение каждого элемента

таблицы, а Q2 гарантирует, что элементы таблицы изменяются

случайным образом.

Основные достоинства алгоритма: простая и понятная структура шифра;

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

цы, имеющий самостоятельное значение, пригодный для создания как S-, так и R-блоков.

Наиболее известный пример неудачной реализации шифра – стандарт безопасности Wep, криптоанализ которого приведен в [24].

Шифр PIKE – это модификация взломанного шифра FISH, предложенная Р. Андерсоном. Алгоритм использует три адди-

тивных генератора (рис. 2.22):

Qi = (Qi – 55 + Qi - 24) mod 232, Qi = (Qi – 57 + Qi - 7) mod 232, Qi = (Qi – 58 + Qi - 19) mod 232.

Управление синхронизацией осуществляется на основе анализа битов переноса cro1, cro2, cro3 на выходах сумматоров Sm. Если все три одинаковы cro1 = cro2 = cro3 (все нули или все единицы), то тактируются все три генератора; в противном случае тактируются те два генератора i и j, для которых выполняется равенство croi = croj. Выходом генератора является результат

110