Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора крипта экзамен.docx
Скачиваний:
37
Добавлен:
22.09.2019
Размер:
724.74 Кб
Скачать

30. Методы анализа криптоалгоритмов. Метод встречи посередине.

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

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

Основные требования к шифрованию:

-Стойкость ключа не должна зависеть от распределения вероятностей источника сообщений.

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

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

Обычно задачу вычисления ключа можно переформулировать как задачу поиска внутри большого конечного множества М элемента m, обладающего нужными свойствами. Один из подходов к решению этой задачи получил название “разделяй и властвуй”. Суть его заключается в том, что исходная сложна задача поиска разделяется на две подзадачи. Для этого мн-во элементов разбивается на пересекающиеся или слабо пересекающиеся перечислимые подмножества, распознаваемые по отношению к свойствам, которыми обладает данный элемент. На первом этапе ищется подмн-во, в котором находится требуемый элемент (решается первая подзадача), затем ищется требуемый элемент внутри найденного подмножества(решается вторая подзадача). Такого рода разбиение может применяться многократно.

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

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

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

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

Если мн-во ключей криптоалгоритма замкнуто относительно композиции, то есть для любых ключей z i и z j найдется ключ zk такой, что результат шифрования любого текста последовательно на z i и z j равен шифрограмме этого же числа на zk , то есть F(z j ,F(z i , x))= F(z k , x), то можно воспользоваться этим свойством. Пусть нам нужно найти ключ zk. Тогда для нахождения ключа zk, необходимо найти эквивалентную ему пару ключей zi , zj. Данный метод криптоанализа основан на “парадоксе дней рождения”. Известно, что если считать, что дни рождения распределены равномерно, то в группе из 24 человек с вероятностью 0,5 у двух человек дни рождения совпадут. В общем виде этот парадокс формулируется так: если a Ц n предметов выбираются с возвращением из некоторой сов-ти размером n, то вероятность того что два из них совпадут, равна 1-exp(-a2 / 2) .

Пусть известен ОТx и его шифрограмма y. Для текста x строим базу данных, содержащую случайноемн-во ключей z| и соответствующих шифрограмм w=F(z| , x), и упорядочиваем ее по шифрограммам w. Объем базы данных выбираем О( Ц # {z} ). Затем подбираем случайным образом ключи z| | для расшифровки текстов y и результат расшифрования v = F(z| | , y) сравниваем с базой данных. Если текст v окажется равным одной из шифрограмм w, то ключ z| z| | эквивалентен искомому ключу z. Временная сложность метода составляет О( Ц # {z} log#{z}). Множитель log#{z} учитывает сложность сортировки. Требуемая память равна О( Ц # {z} log#{z}) бит или ОЦ # {z}) блоков ( предполагается, что длина блока и длина ключа различаются на ограниченную константу ).

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

Другое применение этого метода для множества, не являющегося полугруппой, можно продемонстрировать на хэш-функциях. Например, для подделки подписи надо найти два текста, обладающих одним хэш-образом. После этого можно подписанное сообщение заменить на другое, обладающее таким же хэш-образом. Поиск двух таких сообщений можно выполнить с использованием метода “встречи посередине”. Сложность поиска равна О(Ц #{h}), где #{h} — число всевозможных хэш-образов.