Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
cryptology-lectures_a4_10pt_2.docx
Скачиваний:
6
Добавлен:
22.12.2018
Размер:
678.28 Кб
Скачать

Глава 8

Современные методы анализа симметричных

криптографических шифров

8.1. Цели и содержание криптографического анализа

Под криптографическим анализом понимается всестороннее исследование криптосистемы, в ходе которого оцени-

ваются ее криптографические характеристики.

Цель при разработке – определение возможности и условий применения криптосистемы для защиты информации;

Цель при атаке – определение возможности и условий вскрытия криптосистемы.

Основное содержание криптографического анализа:

1. Исследование свойств криптографических функций системы;

2. Разработка и моделирование методов вскрытия криптосистемы при различных исходных данных, оценка ресур-

сов, необходимых для реализации разработанных методов;

3. Разработка обоснованных рекомендаций по применению криптосистемы или по реализации дешифрования.

8.2. Условия криптографического анализа

Криптоаналитику известны:

· вся выходная информация криптосистемы, например, известны шифрованные сообщения и соответствующие им

открытые сообщения, длины сообщений и их число полагается максимальными при ограничениях, определяе-

мыми конкретными условиями;

· математическая модель семейства криптографических функций {fk } криптосистемы, т. е. может моделировать

для любого открытого сообщения x вычисление значений криптографической функции fk (x) при любом ключе

k;

· криптограммы y1, . . . , yt так и соответствующие им открытые сообщения x1, . . . , xt, при этом не известен ключ

k.

8.3. Практические условия проведения криптоанализа

· Криптоанализ на основе только известных криптограмм;

· Криптоанализ на основе известного открытого сообщения;

· Криптоанализ на основе выбранного открытого сообщения;

· Криптоанализ на основе выбранной криптограммы

8.4. Классификация методов криптографического анализа

По используемым математическим методам:

· Методы апробирования или алгоритмические методы (полный перебор, перебор с учетом эквива-

лентности, использование каталогов, метод Хеллмана и др.);

· Алгебраические или аналитические методы (каталог функций, линейный криптоанализ и др.);

· Статистические методы (частотный анализ, дифференциальный криптоанализ);

По области применения:

· Универсальные метод криптоанализа;

· Специальные методы криптоанализа.

8.5. Метод полного перебора (МПП)

МПП состоит в последовательном переборе всех элементов ключевого множества криптосистемы с целью проверки

ключей на истинность.

Вычислительная сложность (трудоемкость) выполнения МПП используется как эталон для сравнения с другими

методами.

Формальное описание МПП:

8.6. Характеристики МПП

Ek (a1, . . . , at) = (b1, . . . , bt)

(8.1)

Где a1, ldots, at – открытое сообщение в алфавите A;

b1, ldots, bt – криптограмма в алфавите B; Ek - преобразование на ключе k из K; t - lkb.

Условия перебора:

· Известны открытое сообщение (a1, . . . , at) и соответствующая ему криптограмма (b1, . . . , bt);

· Известна криптограмма (b1, . . . , bt) и статистика (например, статистические оценки вероятностей знаков) откры-

того сообщения.

В условии 1 ключ k называется истинным если он удовлетворяет равенству (8.1).

8.6. Характеристики МПП

Оценка сверху трудоемкости МПП:

T ≤ C(t) · |K|,

T - трудоемкость МПП; C(t) – трудоемкость проверки ключа на истинность; |K|- мощность множества ключей.

Надежность метода МПП равна 1.

Оценка средней трудоемкости МПП:

T = C(t) · µ,

– математическое ожидание; µ - число опробываемых ключей до первого успеха;

M C(t) =

1 − pt

q

1

, p = , q = 1 − p, m −

m

(8.2)

1 ≤ M C(t) ≤ 2M µ =

n

i=1

i

n

=

n +1

2

n

2

(8.3)

MT ≈

1 − p n

·

q 2

(8.4)

n

2

≤ MT ≤ n

(8.5)

8.7. Атаки на основе парадокса дней рождений

Полагая равномерным распределение дней рождений (случайно выбранных людей) по дням в году, определить,

сколько человек в среднем достаточно собрать вместе, чтобы хотя бы у двоих был общий день рождения?

· Средняя численность группы людей, среди которой найдется человек, родившийся в заданный день, равна 365.

· Искомая группа из n людей должна содержать 365 различных пар.

· Из Cn ≥ 365 находим n = 28.

Парадокс дней рождений используется для оценки трудоемкости поиска коллизий.

8.8. Применение парадокса дней рождений и хеш-функции

Хеш-функции

Хеш функцией назовем отображение H : M → h следующего вида:

1. M >> h

2. длина h фиксирована

3. M1 = M2 ⇒ P {h1 = h2} > P , где P - наперед заданная вероятность

4. Нахождение M1 = M2 таких что h1 = h2 по времени ограничено снизу наперед заданной константой T0

Применение парадокса дней рождений

Имеется хеш-функция f (x), принимающая значения во множестве Xm, где X – конечное множество;

1. Для заданного y из Xm определить такое сообщение , при котором f (x) = y;

2. Определить коллизию, т. е. сообщение такие x и x , при которых x = x и f (x) = f (x ).

Трудоемкость поиска коллизий

33

t

2

8. Современные методы анализа симметричных криптографических шифров

T

2

≥ |X|m

Если значение хеш-функции m-разрядные двоичные числа, то для поиска коллизий достаточно перебрать 2(m+1)/2

сообщений. Если требуется возникновение коллизий у случайной пары с вероятностью не больше 2−50, то достаточно

100 разрядной хеш-функции.

8.9. Метод перебора ключей с учетом эквивалентности

Усовершенствование МПП для криптосистем имеющих эквивалентные ключи. Т.е. атака в частности на алгоритм

ключевого расписания.

Ключи k и q из ключевого множества K эквивалентны если Ek (a1, . . . , at) = Eq (a1, . . . , at), для любого натурального

t и любого сообщения a1, . . . , at.

В этом случае множество K можно разбить на не пересекающиеся классы эквивалентности в смысле преобразова-

ния Ek

K = K (1) . . . K (S)

и провести МПП по представителям из классов эквивалентности.

При проектировании криптосистем необходимо учесть возможность образования эквивалентных ключей.

8.10. Метод Разделяй и побеждай

Метод предполагает представление ключей k из K в виде вектора k = (k1, k2, . . . kn), k1 из K1, k2 из K2, . . . kn из

Kn) и наличия критерия (или критериев) h позволяющего при известном открытом сообщении и соответствующей

ему криптограмме проверять правильность подлкючей независимо друг от друга.

Если 1, 2, . . . n – трудоемкости апробирования подключей k1, k2, . . . kn то общая трудоемкость является их суммой.

В случае невозможности независимого апробирования общая трудоемкость является произведением (или близко к

нему).

8.11. Линейный криптоанализ

Линейный криптоанализ основан на возможности замены нелинейной функции ее линейным аналогом.

E – функция шифрования, X(i) – блок открытого текста на i−ом цикле, Y(i) – блок шифротекста, K(i) – исполь-

зуемый подключ, X(i), Y(i) – вектора размерности n, K(i) – вектор размерности m.

Введем обозначения (X, a) – скалярное произведение векторов. S – {0,1}, случайная величина для которой P {S =

1} = p, P (S = 0) = 1 − p, ∆(S) = |1 − 2p|

Линейным статистическим аналогом нелинейной функции Y(i) = E(X(i), K(i)) называется случайная величина:

S(i) = (Y(i), α(i)) ⊗ (X(i), β(i)) ⊗ (K, χ(i))

1

Если вероятность P (S(i) = 1) = p = 2 для случайно выбранного открытого текста X(i).

Отклонение ∆(S) = |1 − 2p| определяет эффективность линейного статистического аналога.

Для применения линейного криптоанализа необходимо решить следующие задачи:

1. Нахождение эффективного статистического линейного аналога и вычисление его вероятности;

2. Определение ключа (или несколько битов ключа) с использованием линейного статистического аналога.

8.12. Дифференциальный криптоанализ

Метод основан на выборе открытых текстов. Анализ заключается в изучении процесса изменения несходства для

пары открытых текстов, имеющих определенные исходные различия, в процессе прохождения через циклы шифрова-

ния с одним и тем же ключом.

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

оценивается вероятность используемых ключей.

Представим шифр в виде

34

8.12. Дифференциальный криптоанализ

Где K = (K(1), K(2), . . . , K(r)) получается по некоторой схеме из исходного ключа или независимо выбирается для

каждого раунда.

Пусть X(1) и X (1) – пара открытых текстов. Рассмотрим разности

∆X(1) = X(1) − X (1);

∆Y (i) = Y (i) − Y (i).

(8.6)

(8.7)

Задача дифференциального криптоанализа заключается в том, что бы найти такие DeltaX(1), что при случайном

равновероятном выборе X(1), K(1), K(2), . . . , K(r − 1) с вероятностью более 1/(2n) появится ∆Y (r − 1).

Пара (α, β) возможных значений вектора (∆X(i), ∆Y (i)) называется дифференциалом i-го цикла

Рис. 11. Модель дифференциального криптоанализа

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

алгоритму:

1. Выбираем дифференциал (r − 1)-го раунда (α, β), для которого вероятность P (∆X(1)) = α, ∆Y (r − 1) = β)

большая;

2. Случайно выбираем X(1) и подбираем X (1) так, чтобы ∆X(1) = α. Пусть известны Y (r) и Y (r);

3. Делаем предположение, что ∆Y (r − 1) = β, и зная Y (r) и Y (r) находим K(r); Повторяем пп. 2 и 3, пока один

подключ не начнет появляться чаще других

35

8. Современные методы анализа симметричных криптографических шифров

x

36

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]