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

Приложения шифров. Криптоанализ. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
873 Кб
Скачать

лить на полностью идентичные раунды (т. е. использующие один под-

ключ K) [6].

Пусть шифр разделен на s таких раундов. Криптоанализ основан на использовании так называемых слайдовых пар: пара открытых текстов (Р, Р1) называется слайдовой, если P1 = F(P, K) (один открытый текст получается из другого в результате одного раундового преобразова- ния). Если С, С1 – шифротексты, соответствующие слайдовой паре, они также образуют слайдовую пару.

1.Угадать слайдовую пару Р, Р1 для неизвестного ключа K.

2.Имея доступ к шифратору с ключом K, получить необходимый объем слайдовых пар:

I1 P

O1 P1

I2 E(I1, K)

O2 E(O1, K)

……………..

 

IN E(IN 1, K)

ON E(ON 1, K)

3. С помощью набранной статистики (I, O) провести криптоанализ раундовой функции (линейный, дифференциальный или любой другой).

Основная проблема в шаге 1. В случайном подмножестве А мощ-

ности 2n/2 с вероятностью большей 1/2 найдутся P, P1 такие, что F(P, K) = P1. Перебрав все пары из А, можно считать, что среди них есть слайдовая пара. Хотя явно указать на нее нельзя. Поэтому часто шаги 2 и 3 выполняют параллельно для всех пар А с расчетом, что хотя бы одна ветвь исполнения приведет к правильному ключу.

Криптоанализ на связанных ключах

Предложен Э. Бихамом в 1992 г. Основан на том, что во многих шифрах проводится расширение ключа [6].

Пусть K – (K1, K2, , KR ) , KS – (K2, K3, , KR, K1) . Ключи K,

KS называются связанными (аналог слайдовой пары).

1.На неизвестном K собрать статистку N пар открытого и шифро- текстов.

2.Предположим, что возможно собрать аналогичную статистику и для связанного ключа.

31

3. Пусть F раундовая функция шифра. Для каждых двух связан-

ных пар пробовать решить систему булевых уравнений

F(P, U) = P1,

F(C, U) = C1.

Решение искать относительно блока переменных U. Если для не- которых пар (Р, С) и (Р1, С1) система оказалась совместной и была решена, то с большой вероятностью открытые тексты образуют слай- довую пару. В этом случае найденное решение совпадает с подклю-

чом K1 .

4. Зная K1 , восстанавливается весь ключ K (например, перебором

оставшихся битов).

5. Для того, чтобы на шаге 3 слайдовая пара среди всевозмож-

ных N2 пар была найдена, число N должно быть около 2n/2 .

Для успешности метода необходимо, чтобы функция F была доста- точно слабой. Криптоанализ на связанных ключах не считается прак- тическим, так как предположения, при которых он работает, слишком сильные [6].

Алгебраический криптоанализ

Сформулирован как идея, которая заключается в составлении сложной системы булевых уравнений, описывающих преобразование шифра, и решении такой системы, которое также является очень труд- ной задачей [6].

В 2000-х годах были предприняты попытки применить подобный подход к AES (Н. Куртуа, Й. Пипджик, Британия, специальные методы линеаризации булевых систем: XL- и XSL-). Но практическая ценность и применимость данных методов на сегодняшний день неизвестны [6].

2.3. Криптоанализ асимметричных шифров

Основывается на методах решения известных задач, положенных в основу таких шифров: задачи дискретной факторизации и задачи дис- кретного логарифмирования.

Решение задачи факторизации должно начинаться с проверки простоты числа, подлежащего разложению на множители. Это можно

32

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

Известны следующие алгоритмы факторизации [9]:

1)решето общего числового поля (самый быстрый из известных алгоритмов для чисел размером 110 и более десятичных разрядов);

2)квадратичное решето для чисел менее 110 десятичных разрядов;

3)метод эллиптической кривой;

4)метод Полларда;

5)метод непрерывных дробей;

6)проверка делением (самый известный алгоритм разложения; со- стоит в проверке на деление на каждое простое число, меньшее квад- ратного корня из раскладываемого числа, или равное ему).

Почти все эти алгоритмы субэкспоненциальной сложности. Алго- ритмов факторизации, имеющих оценки сложности лучше указанной, в настоящее время не существует [9].

Решение задачи дискретного логарифмирования в конечном поле заключается в том, чтобы для сравнения

an bmod p

по a, b, p найти его дискретный логарифм (или индекс) n.

Наиболее быстрый алгоритм решения данной задачи имеет слож- ность, близкую к решению задачи факторизации методом решета чис- лового поля [9]. С помощью перебора задачу можно решить за O(p) арифметических операций. Однако эту оценку можно и ухудшить, ес-

ли решение уравнения находить по формуле

p 1

loga b (1 ai 1 bj )mod ( p 1).

j1

В[9] приведен следующий алгоритм решения задачи дискретного логарифмирования в конечном поле (алгоритм согласования), который

имеет сложность O(p1/2log p) арифметических операций.

Алгоритм согласования

1.Присвоить H [ p1/2] 1.

2.Найти c aH mod p .

33

3.Составить таблицу значений сumod p , 1 u H и упорядочить ее.

4.Составить таблицу значений b avmod p , 0 v H и упорядо-

чить ее.

5.Найти совпавшие элементы из первой и второй таблицы. Для них cu bav mod p, откуда a(Hu v) bmod p .

6.Выдать x Hu vmod p 1.

Контрольные вопросы

1.Каковы назначение и ограничения метода полного перебора?

2.Что называется переборным пространством?

3.Какова теоретическая оценка сокращения переборного про- странства при поиске по образцу?

4.Чем отличается направленный случайный поиск от простого случайного поиска?

5.В каком случае при случайном поиске число просмотров будет минимальным?

6.В чем заключается метод проб и ошибок, с каким разделом ма- тематической статистики он связан?

7.Что называется «парадоксом дней рождения»?

8.Каким требованиям (по Шеннону) должен отвечать «хороший» статистический метод криптоанализа?

9.Определите два основных класса методов криптоанализа.

10.В каких единицах измеряется переборная стойкость шифра, стойкость шифра по Шеннону?

11.В чем отличия переборной стойкости шифра и стойкости шиф- ра по Шеннону?

12.В чем заключается метод вероятных слов?

13.В чем заключается тест Казиски?

14.В чем суть метода «встречи посередине»?

15.В чем суть метода линейного криптоанализа?

16.В чем суть метода дифференциального криптоанализа?

17.В чем суть слайдового метода?

18.Что такое криптоанализ на связанных ключах?

34

3. ПОДГОТОВКА И ОБРАБОТКА КЛЮЧЕЙ ШИФРОВАНИЯ

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

3.1. Генераторы псевдослучайных чисел

Генерация случайной последовательности с произвольным законом распределения сводится к генерации равномерно распределенной слу- чайной последовательности (РРСП) [9].

Такая последовательность РРСП, называемая чисто случайной по- следовательностью, – это последовательность значений в дискретном множестве A = 0,..., N–1, определенная на вероятностном пространстве

иудовлетворяющая следующим двум свойствам.

1.Для любой выборки из этой последовательности ее элементы не- зависимы в совокупности.

2.Любая случайная величина из последовательности имеет дис-

кретное равномерное распределение вероятности на A: pi 1/ N .

Отсюда следуют дополнительные свойства, используемые при ге- нерации случайных чисел.

1. Фиксированный по индексу вектор последовательности имеет n- мерное дискретное равномерное распределение: pni 1/ Nn .

2. Подпоследовательности, возникающие при прореживании либо суммировании основной последовательности с независимой от нее по- следовательностью, также являются РРСП.

35

3. Количество информации по Шеннону, содержащееся в преды- дущем отрезке последовательности об элементе n + 1, равно нулю.

Следовательно, для любого алгоритма прогнозирования вероят-

ность ошибки прогнозирования не может быть меньше вероятности угадывания по жребию, т. е. p 1/N.

Генератор случайной последовательности это устройство, позво- ляющее по запросу получить реализацию РРСП.

Генераторы могут быть:

1)табличными;

2)физическими;

3)алгоритмическими.

С помощью последних могут быть реализованы программы, ими- тирующие на ЭВМ реализацию РРСП.

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

Можно выделить следующие подходы в построении алгоритмов генерации РРСП [9].

1.Прямые методы построения рекуррентных последовательностей.

2.Методы улучшения элементарных последовательностей.

3.Комбинированные методы 1 и 2.

Линейные и мультипликативные генераторы

Линейные и мультипликативные генераторы (ЛМГ) – это генерато- ры с параметрами x0 , a, c, N , значения x для которых, x A 0 ,...,

N – 1, получаются с помощью соотношения xt 1 (axt c)mod N, t = 0, 1, …, где x0 начальное значение, a – ненулевой множитель, с

приращение, с А .

Коэффициенты a, c определяют тип генератора. Если a = 1, то ге- нератор линейный. При а 1, с = 0 генератор называется мультиплика- тивным, в противном случае смешанным [9].

Свойства последовательности ЛМГ

1. Формула общего члена:

x

(at x

(at 1) / (a 1))mod N,

t 1 .

 

t

0

 

 

2. Найдется номер τ, начиная с которого генератор зацикливается с периодом T N τ; τ называется предпоследовательностью, предпери- одом.

36

3.Для любых k r подпоследовательность x0 , xk , xrk получается из исходной удалением всех членов, не кратных k, и оказывается по- следовательностью с параметрами x0, , , N , где

аkmod N, c (аk 1) / (a 1) mod N.

4.Последовательность достигает Tmax N тогда и только тогда,

когда:

а) с, N взаимно простые числа;

б) число b = a – 1 кратно p для любого простого p < N, являющего- ся делителем N;

 

в) число b кратно 4, если N кратно 4.

 

Для МКГ,

если N 10q , q 5 и x не кратно 2 или 5, то

 

 

5 10q 1

0

T

 

N / 20 тогда и только тогда, когда вычет a mod 200

max

 

 

принимает одно из следующих 32 значений: 3, 11, 13, …, 197 (все зна- чения в [9]).

Для МКГ, если N 2q , q 4, то Tmax 2q 2 N / 4 достигается, если x0 1 – нечетно, и вычет amod8{3,5}.

Слабость МКГ заключается в том, что если рассматривать после-

довательные биграммы z (t) ,

z

(t) :

z (t) x

; z

2

(t) x

, то точки

 

 

1

 

2

1

t

 

t 1

 

z(t) z (t) , z

(t)

, t = 1, 2, … на плоскости R2

 

будут лежать на прямых

1

2

 

 

 

 

 

 

 

 

 

из семейства

 

 

 

 

 

 

 

 

 

 

 

 

z2 az1 c kN,

k 0, 1,

 

 

 

Это можно использовать для построения атак для оценки парамет- ров a, c, x0 . Для устранения этого недостатка используют нелинейные

квадратичные генераторы [9].

Квадратичные генераторы описываются уравнением

x

dx2

ax

cmod N,

t 0,1.

t 1

t

i

 

 

Выбор параметров осуществляется на основе следующего. Tmax N тогда и только тогда, когда:

а) с, N взаимно простые числа;

37

б) d, a – 1 кратны p любой нечетный простой делитель N;

в) d четное и равно (a – 1) mod 4, если N кратно 4, и равно (a – 1) mod 2, если N кратно 2;

г) если N кратно 9, то либо d mod 9 = 0, либо d mod 9 =1 и cd mod 9 = 6;

д) если N 2q , q 2, то Tmax 2q тогда и только тогда, когда с нечетно, d четно, а нечетно и а = (d + 1) mod 4.

Квадратичный генератор, использующий умножение с переносом, описывается уравнением xi 1 axi ci mod N , ci (axi 1 ci 1) / N .

Генераторы в конечном поле (линейные рекуррентные последовательности)

Обобщением мультипликативных генераторов является линейная последовательность порядка k 1 над конечным полем GF (pk ) [9]:

xt 1 a1xt a2xt 1 ak xt k 1 mod p .

Полем называется множество F с определенными на нем бинарны- ми операциями сложения и умножения, отвечающими определенным условиям (свойствам).

Поле называется конечным, если F конечное множество. Число элементов q в множестве F называется порядком поля.

Конечные поля часто называют полями Галуа и обозначают GF(q). Параметры генератора GF: p, k, a1, , ak 1 . Начальные значения

x0, , xk 1 выбираются произвольно, но так, чтобы они не обраща-

лись в нуль одновременно.

Коэффициенты a1, …, ak выбираются таким образом, чтобы по-

рождающий полином

f (x) xk a1xk 1 ak 1x ak

являлся примитивным многочленом по модулю p. Тогда Tmax pk – 1. Примитивный многочлен степени n по модулю 2 – это неприводи- мый многочлен, который является делителем xq 1 1, q 2n , но не

является делителем xd 1 для всех d, являющихся делителями (2n 1) .

38

Неприводимый многочлен степени n нельзя представить в виде произведения многочленов (кроме его самого и единичного).

Частный случай генераторов в конечном поле генераторы на ос- нове линейного регистра сдвига с обратной связью (LFSR).

Схематично работа таких генераторов представлена на рис. 7.

f(x0, x1, …, xN–1)

α

γ

xN–1

 

x0

 

 

 

 

Рис. 7. Схема работы LFSR-генератора

На рис. 7 f булева функция от n переменных, на каждом такте

определяется ее значение , содержимое регистра сдвигается на один разряд в сторону старших битов. На освободившееся место x0 помеща-

ется значение f (x0, x1, xN 1) . Старший бит становится выход-

ным битом и включается в формируемую последовательность γ.

Регистр сдвига с обратной связью является реализацией модели линейной рекуррентной последовательности над полем GF(2n) .

Возникает вопрос: как построить регистр сдвига с обратной связью минимальной длины, порождающий данную последовательность?

Эффективным способом решения данной задачи является алгоритм БерлекэмпаМэсси. По отрезку последовательности длины L он позво- ляет за полиномиальное время найти ее минимальный многочлен, т. е. полностью восстановить последовательность [6]. Если генератор LFSR используется для генерации ключа шифра при потоковом шифровании, данный алгоритм позволяет проводить криптоанализ таких шифров.

Комбинирование алгоритмов генерации псевдослучайных чисел

Генераторы псевдослучайных чисел могут быть построены также путем комбинирования других генераторов. Основные способы такого

построения алгоритмов генерации псевдослучайных чисел приведены в [9]. Пусть имеется два простейших генератора псевдослучайных

39

последовательностей G1 и G2 ; G1 порождает последовательность x над алфавитом мощности N, G2 последовательность y над алфави-

том мощности K.

Пусть имеется вспомогательная таблица (память) Т = Т(0), Т(1), …, Т(K – 1) из K целых ячеек.

Метод комбинирования МакларенаМарсальи заключается в сле- дующем [9]. Сначала таблица Т заполняется первыми K членами по-

следовательности G1 . Элементы выходной последовательности вы-

числяются следующим образом: s : yk ;

zk : T(s) ;

T(s) : xK k ;

k = 0, 1, …

Таким образом, генератор G2 осуществляет псевдослучайный вы-

бор из таблицы Т и ее «случайное» заполнение псевдослучайными числами, порождаемыми G1.

Метод позволяет ослабить зависимость между членами комбини- рованной псевдослучайной последовательности и увеличить ее период.

В качестве G1 и G2 в предыдущем методе можно использовать

LFSR-генераторы. Общая модель комбинирования таких генераторов выглядит следующим образом (рис. 8).

 

 

 

 

 

 

 

x1t

 

 

 

 

 

LFSR 1

 

 

 

 

 

 

 

 

 

 

 

 

 

x2t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LFSR 2

 

 

 

 

 

yt

 

 

 

 

 

 

 

 

F

 

.

.

.

.

.

 

 

 

 

 

 

 

 

 

 

 

 

xmt

 

 

 

 

 

LFSR m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 8. Комбинирование LFSR-генераторов

Пусть G1 порождает последовательность at , G2 селектирующую

последовательность st . С помощью at

и st строится выходная после-

40

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