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

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

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

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

1.Что называется хэш-функцией?

2.ЭЦП это идентификатор или аутентификатор? Поясните раз-

личия.

3.Приведите примеры аутентификаторов и идентификаторов че- ловека.

4.Выделите две основные части ЭЦП. Как они связаны с иденти- фикацией и аутентификацией?

5.На каком из ключей вы подписываете сообщение?

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

7.В чем заключается основной недостаток ЭЦП RSA? Подготовь- те пример и продемонстрируйте его.

8.Подберите два различных текста с совпадающими хэш- значениями. Объясните результат.

9.Подберите два различных текста с совпадающими ЭЦП. Объяс- ните результат.

10.Приведите примеры аутентификаторов и идентификаторов, ис- пользуемых в паспорте гражданина.

11.Измените текст сообщения на один бит. Как изменится при этом хэш-значение?

12.Измените ЭЦП сообщения на один бит и прокомментируйте ре- зультат верификации.

13.Как с помощью ЭЦП защитить программу от проникновения вирусов?

14.Как провести аутентификацию пользователя, используя ЭЦП?

15.Приведите примеры аутентификаторов и идентификаторов ав- томобиля.

16.Какие виды действий с электронными документами можно про- контролировать с помощью ЭЦП?

21

2. КРИПТОАНАЛИЗ

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

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

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

2.Криптоанализ решает две задачи: расшифрование зашифрован- ного текста без знания ключа и определение стойкости шифра. Если первую из них можно назвать задачей чистого криптоанализа, то вто-

рую скорее следует отнести к тому, что можно было бы назвать крип-

тометрологией.

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

22

Задачи различаются не только исходными данными, но и решения- ми. Решение первой задачи правильный открытый текст. Решение второй задачи определение для конкретного шифра того объема от- крытого и зашифрованного текста, в том числе и специально выбран- ного, при котором может быть определен ключ шифра, и необходимых для этого условий, в которых это может быть сделано. Такая информа- ция важна как для задачи правильного решения шифра, так и для пра- вильного шифрования при использовании определенного шифра.

Если метод криптоанализа предназначен для решения первой зада- чи, то он должен отвечать двум основным требованиям:

1) кратно уменьшать минимальную существующую рабочую ха- рактеристику решения (рабочей характеристикой шифра по Шеннону называется средний объем работы, необходимый для определения ключа при имеющемся объеме шифротекста);

2) соответствовать реальным исходным данным.

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

ключа необходимо перехватить 250 связанных 64-битовых блока от- крытого текста и шифротекста, то возникает вопрос: когда это воз- можно, да и ключ в такой ситуации для чего нужен? Или другой вари- ант в каких случаях возможен доступ к шифратору с одним и тем же ключом для генерации такого же по порядку величины количества свя- занных пар выбранного открытого текста и шифротекста? И если та- кой доступ все-таки возможен, то для чего необходимо узнать ключ такого шифратора?

2.1. Криптоанализ закрытых текстов

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

23

Метод перебора

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

Здесь важно понимать, что для получения ответа по методу пере- бора лишь в отдельных случаях потребуется просмотреть все про- странство. В других случаях ответ будет получен сразу или почти сра- зу. В теории вероятностей под названием «парадокс дней рождений»

известен следующий результат [6]. Если множество Z мощностью 2n содержит пару (x, y), связанную отношением f(x) = y, то для произ-

вольного подмножества A Z мощностью 2n/2 с вероятностью боль- шей одной второй найдется хотя бы одна пара (x, y), связанная отно- шением f(x) = y. То есть для получения решения методом перебора потребуется просмотреть не более половины возможных вариантов, в среднем и менее половины, если метод может быть остановлен при достижении правильного решения (распознавании его). Следует пони- мать, что это статистическая оценка, и она достижима лишь при значи- тельном числе постоянных испытаний.

В силу своей универсальности метод перебора позволяет устано- вить единую меру «переборной» стойкости шифра Р как мощности переборного пространства (как правило, ключей) практически для всех шифров. Данная мера легко позволяет получить оценку рабочей харак- теристики шифра на основе известной производительности используе- мых ЭВМ и их доступного количества. Последнее связано с тем, что перебор легко распараллеливается.

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

P = 2R.

Она измеряется в количестве возможных вариантов ключей, т. е. в штуках (ключах), и отличается от стойкости шифра по Шеннону (рас- стояния единственности), которая измеряется в единицах объема ин- формации битах и которую будем называть длиной ключа L.

24

Так, длина ключа L шифра Виженера для английского языка, по Шеннону, равна 2R, где R размер ключа в знаковых единицах [1]. Это означает, что для решения данного шифра необходимо и достаточно L = 2R знаковых единиц зашифрованного текста. С другой стороны,

мощность пространства ключей составит 26R при размере ключа R.

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

Система Цезаря имеет максимальный размер ключа R = 1, значения

которого выбираются из пространства 261 . В то же время она является

частным случаем системы Виженера и, следовательно, имеет длину ключа, равную 2×1 = 2. Для простой замены, также являющейся част- ным случаем системы Виженера, но с перемешанным алфавитом, мак- симальный размер «ключа» равен единице (R = 1), значения которого

выбираются из пространства (26!)1 (1026,3) . С другой стороны, дли-

на «ключа» простой замены для англоязычных текстов по оценке Шеннона составляет 53R = 53×1 = 53 знаковые единицы.

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

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

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

Метод проб и ошибок

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

25

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

принципами.

Когда возможность разделения переборного пространства все-таки существует, время криптоанализа может быть значительно сокращено. В [1] приводятся такие оценки. Если при полном переборе простран- ства шифра прямой замены для англоязычных текстов, мощность ко-

торого равна 26! 1026,3 , на получение ответа может понадобиться

3 106 лет при просмотре 1012 ключей в одну секунду, то при разделе-

нии этого пространства на 10 подмножеств, содержащих одинаковое количество ключей (когда правильное подмножество находится не бо- лее чем за 10 испытаний) и дальнейшем повторении процесса можно ожидать всего около 26 × 5 = 130 испытаний. При разделении на два подмножества понадобится не более 88 испытаний. То есть число ис- пытаний в этом случае будет равно по порядку размеру ключа в битах:

288= 1026,3 . Информацию о ключе при этом можно извлекать с любой

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

Методы, основанные на частотных характеристиках текстов на естественных языках

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

Прямое использование данных методов для криптоанализа воз- можно лишь в случаях применения систем кодирования, например

26

простой замены. Для шифров требуются особые приемы, например тест Казиски для шифра Виженера [5]. Тест основан на простом наблюдении о том, что два одинаковых отрезка открытого текста, от- стоящих друг от друга на расстоянии, кратном размеру ключа R, будут одинаково зашифрованы. В шифротексте ищутся повторения длины не меньшей трех и расстояния между ними. Определяется наибольший общий делитель d этих чисел. Тогда R должно делить d. Чем больше повторений имеет текст, тем более вероятно, что R совпадает с d. Для уточнения значения R используется индекс совпадения. Индексом сов- падения называется вероятность того, что две случайно выбранные буквы для строки х совпадают. После этого формируется таблица, в которой каждая строка простая замена. И из всех возможных сочета- ний находится решение. Похожая схема применяется и для шифра пе- рестановки.

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

глийского языка на четыре частотные группы с четко различающимися пределами частот [1]. Логарифм числа ключей в этом случае равен

log(2! 9! 9! 6!) = 14,28, т. е. простой подсчет частот знаков в тексте уменьшает неопределенность ключа на 12 десятичных единиц (показа- тель степени).

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

Подставляя вероятные слова в текст, получаем в локальной пози- ции текста сочетание «шифротекст открытый текст», по которому вычисляются позиции ключа или весь ключ целиком. Вычисленный ключ применяется для расшифрования текста, и по результатам его

применения принимается решение о завершении или продолжении процедуры.

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

27

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

Шеннон сформулировал следующие требования к так называемой хорошей статистике [1]. Она должна:

1)просто вычисляться;

2)зависеть от ключа больше, чем от сообщения;

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

4)формировать простую и удобную в использовании информацию. Подсчет частот букв униграмм пример очень хорошей стати-

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

[12].

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

В строго идеальном шифре все статистики данной криптограммы не зависят от частного используемого ключа. Та как все стандартные шифры проектируются в приближении к совершенным, идеальным и абсолютно стойким шифрам по Шеннону [1], методы на основе ча- стотных статистик текстов, как правило, неприменимы для стандарт- ных шифров. Такие методы следует в первую очередь использовать для систем кодирования и классических (нестандартных) шифров с конечным ключом.

2.2. Криптоанализ с использованием открытого текста

Метод «встречи посередине»

 

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

С Е(Р, K)

Е2 Е1(Р, K1), K2 , где K объединение K1 и K2

длин m1 и m2

соответственно. Пара (С, Р) известна [6].

 

1. Шифруем Р с помощью Е1 при всех возможных значениях K1 , результаты сохраняются в массиве U1, U2, …, U2m1 .

28

2. Расшифровываем С с помощью Е2 для всех возможных значе- ниях K2 . Результаты сохраняются в массиве V1, V2, …, V 2m2 .

3.Анализируем U, V, формируя возможные пары K = (K1, K2) . Пара является возможной, если промежуточный шифротекст Ui сов- падает с шифротекстом Vj .

4.Повторяем шаги 1–3 для нескольких пар (С, Р), сокращая число возможных ключей.

Сложность метода полного перебора равна 2m1 m2 , но сложность

«встречи посередине» существенно меньше и равна a 2m1 b 2m2 , где a и b некоторые константы. Метод наиболее эффективен при m1 m2 . Именно ввиду простоты данного метода в криптографии не

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

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

Предложен М. Мацуи в 1992 г. в первую очередь для криптоанали- за шифра DES [6]. Для проведения линейного криптоанализа необхо- димо знать структуру шифра, а также иметь достаточный объем стати- стики, состоящей из пар открытого и шифротекстов, полученных на одном и том же неизвестном ключе.

Пусть Р, С, K открытый текст, шифротекст и ключ некоторого блочного алгоритма с r раундами соответственно. Линейным прибли-

жением шифра называется соотношение L вида: < P, > < C, β > = = < K, γ >, которое выполняется с вероятностью 1/2 + ε, отличной от одной второй. Величина ε называется преобладанием линейного соот- ношения. Основная трудность линейного криптоанализа заключается в нахождении удачного линейного приближения. От этого зависит необ- ходимый для криптоанализа объем статистики. Для успешного анализа модуль ε должен быть как можно больше.

На основе анализа статистики пар открытого и шифротекстов уста-

навливается вероятностное соотношение для одного бита ключа или группы битов (более распространенный вариант). Для оценки качества данного статистического метода используется параметр надежности, который зависит от мощности статистики N (количества пар табл. 2).

29

 

 

 

 

Т а б л и ц а 2

 

 

 

 

 

N

1/4ε–2

1/2ε–2

ε–2

2ε–2

Надежность

0,841

0,921

0,977

0,998

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

ся [6].

Для криптоанализа DES вероятностное соотношение в некоторых случаях выполняется как 1/ 2 57 / 237 . В среднем для нахождения

ключа DES этим методом потребуется приблизительно 243 пар откры- того и шифротекстов, причем успех (надежность) составит лишь 85 % случаев, т. е. ключ будет найден с вероятностью 0,85 [6].

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

Предложен Э. Бихамом и А. Шамиром в 1990 г. В основе метода лежит анализ пар открытых текстов (Р, Р1) и соответствующих им пар шифротекстов (С, С1) между которыми существуют определенные

разности или дифференциалы, а именно: a = P + P1, b = C + C1 [6].

1. Пара векторов (a, b)i называется i-м дифференциалом шифра,

если пара открытых текстов, отличающихся на вектор a, после i раун- дов шифрования может перейти в пару шифротекстов, отличающихся на вектор b. Вероятность i-го дифференциала P.

2.Выбираем наиболее вероятный дифференциал (r – 1).

3.При фиксированном неизвестном ключе собираем статистику из N четверок {P, P1, C, C1} таких, что P = a.

4.Предполагаем, что Сr 1 b . Для тройки Сr 1 b, С, С1 нахо-

дим список возможных значений ключа K.

5. Ключ, встречающийся в таких списках наиболее часто, принима- ем за основное решение.

Слайдовый метод

Предложен А. Бирюковыми и Д. Вагнером в 1999 г. Основная осо- бенность метода его успешность не зависит от числа раундов в шиф- ре. Для его применения необходимо, чтобы шифр можно было разде-

30

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