Спонсор: Microsoft
Опубликован: 25.06.2010 | Уровень: специалист | Доступ: платный
Лекция 4:

Методы криптоанализа

< Лекция 3 || Лекция 4: 12 || Лекция 5 >

Атака по ключам

Одной из причин ненадежности криптосистем является использование слабых ключей. Фундаментальное допущение криптоанализа, впервые сформулированное О. Кирхгоффом, состоит в том, что секретность сообщения всецело зависит от ключа, т.е. весь механизм шифрования, кроме значения ключа, известен противнику (секретность алгоритма не является большим препятствием: для определения типа программно реализованного криптографического алгоритма требуется лишь несколько дней инженерного анализа исполняемого кода). Слабый ключ - это ключ, не обеспечивающий достаточного уровня защиты или использующий в шифровании закономерности, которые могут быть взломаны. Алгоритм шифрования не должен иметь слабых ключей. Если это невозможно, то количество слабых ключей должно быть минимальным, чтобы уменьшить вероятность случайного выбора одного из них; все слабые ключи должны быть известны заранее, чтобы их можно было отбраковать в процессе создания ключа.

Генераторы случайных чисел - еще один источник угрозы для стойкости криптосистемы. Если для генерации ключей используется криптографический слабый алгоритм, независимо от используемого шифра вся система будет нестойкой. Качественный ключ, предназначенный для использования в рамках симметричной криптосистемы, представляет собой случайный двоичный набор. Если требуется ключ разрядностью n, в процессе его генерации с одинаковой вероятностью должен получаться любой из 2^n возможных вариантов. Исследования компании Counterpane, президентом которой является известный криптограф Брюс Шнайер, показали, что определённые генераторы случайных чисел могут быть надёжными при использовании с одной целью, но ненадёжными для другой; обобщение анализа надёжности опасно.

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

Известно, что если считать, что дни рождения распределены равномерно, то в группе из 23 человек с вероятностью 0,5 у двух человек дни рождения совпадут. В общем виде парадокс дней рождения формулируется так: если a \sqrt{b} предметов выбираются с возвращением из некоторой совокупности размером b, то вероятность того, что два из них совпадут, равна 1-e^{- \frac{a^2}{2}} (в описанном частном случае b=365 - количество дней в году, a \sqrt{b}=23, т.е. a \approx 1.204 ).

Данный метод криптоанализа (см. [6.1]) основан на "парадоксе дней рождения". Пусть нам нужно найти ключ k по известному открытому тексту x и криптограмме y. Если множество ключей криптоалгоритма замкнуто относительно композиции, т.е. для любых ключей k' и k'' >найдется ключ k такой, что результат шифрования любого текста последовательно на k' и k'' равен результату шифрования этого же текста на k, т.е. E_{k''}(E_{k'},x)=E_k (x) , то можно воспользоваться этим свойством. Поиск ключа k сведем к поиску эквивалентной ему пару ключей k', k''. Для текста x построим базу данных, содержащую случайное множество ключей k' и соответствующих криптограмм w=E_{k'}(x) , и упорядочим ее по криптограммам w. Объем базы данных выбираем O(\sqrt{| k' |}) , где | \{ k' \} | - мощность множества ключей k'. Затем подбираем случайным образом ключи k'' для расшифровки текстов y и результат расшифрования v=E_{k''}(y) сравниваем с базой данных. Если текст v окажется равным одной из криптограмм w, то ключ k' k'' эквивалентен искомому ключу k.

Алгоритм является вероятностным. Существуют детерминированный аналог этого алгоритма "giant step - baby step" с такой же сложностью, предложенный американским математиком Д. Шенксом.

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

Наибольший прогресс в разработке методов раскрытия блочных шифров был достигнут в самом конце ХХ века и связан с появлением двух методов -разностного (дифференциального) криптоанализа и линейного криптоанализа.

Метод разностного анализа сочетает в себе обобщение идеи общей линейной структуры с применением вероятностно-статистических методов исследования. Этот метод относится к атакам по выбранному открытому тексту. Хотя Д. Копперсмит утверждает, что разностный криптоанализ был известен команде разработчиков DES алгоритма еще в начале 70-х годов, официальной датой появления этого метода считается 1990 г., а первенство в разработке признано за израильскими математиками Э. Бихамом и А. Шамиром. Разностный анализ основан на использовании неравновероятности в распределении значений разности двух шифртекстов, полученных из пары открытых текстов, имеющих некоторую фиксированную разность. Отметим, что разностный анализ применим и для взлома хеш-функций.

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

На сегодняшний день метод линейного криптоанализа позволил получить наиболее сильные результаты по раскрытию ряда итерационных систем блочного шифрования, в том числе и системы DES. Метод линейного криптоанализа в неявном виде появился еще в работе С. Мёрфи в 1990 г., где он успешно применялся при анализе системы блочного шифрования FEAL. В 1992 г. М. Мацуи формализовал этот подход, а позже успешно применил его к анализу криптоалгоритма DES. В 2001 г. в США на смену DES и Triple DES пришел новые стандарт AES, действующий и по сей день.

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

Практически все используемые алгоритмы асимметричной криптографии основаны на задачах факторизации (например, известная криптосистема RSA ) и дискретного логарифмирования в различных алгебраических структурах (схема электронно-цифровой подписи Эль-Гамаля). Несмотря на то, что принадлежность этих задач к классу NP -полных задач не доказана, на сегодняшний день не найден полиномиальный алгоритм их решения. Для криптоанализа асимметричных криптосистем можно применять универсальные методы - например, метод "встречи посередине". Другой подход заключается в решении математической задачи, положенной в основу асимметричного шифра. С того момента, как У. Диффи и М. Хеллман в 1976 г. предложили концепцию криптографии с открытым ключом, проблемы факторизации целых чисел и дискретного логарифмирования стали объектом пристального изучения математиков всего мира. За последние годы в этой области наблюдался значительный прогресс. Подтверждением тому может служить следующий казус: в 1977 г. Р. Ривест заявил, что разложение на множители 125-разрядного числа потребует 40 квадриллионов лет, однако уже в 1994 г. было факторизовано число, состоящее из 129 двоичных разрядов!

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

Последние достижения теории вычислительной сложности показали, что общая проблема логарифмирования в конечных полях уже не является достаточно прочным фундаментом. Наиболее эффективные на сегодняшний день алгоритмы дискретного логарифмирования имеют уже не экспоненциальную, а субэкспоненциальную временную сложность. Это алгоритмы "index-calculus", использующие факторную базу. Первый такой алгоритм для вычисления дискретного логарифма в простом поле Z_p был предложен Л. Адлеманом. На практике алгоритм Адлемана оказался недостаточно эффективным; Д. Копперсмит, А. Одлыжко и Р. Шреппель предложили свою версию субэкспоненциального алгоритма дискретного логарифмирования - " COS ". Алгоритм решета числового поля, предложенный О. Широкауэром, при p>10^{100} работает эффективнее различных модификаций метода COS.

Ряд успешных атак на системы, основанные на сложности дискретного логарифмирования в конечных полях, привел к тому, что стандарты ЭЦП России и США, которые были приняты в 1994 г. и базировались на схеме Эль-Гамаля, в 2001 году были обновлены: переведены на эллиптические кривые. Схемы ЭЦП при этом остались прежними, но в качестве чисел, которыми они оперируют, теперь используются не элементы конечного поля GF(2^n) или GF(p) , а эллиптические числа - решения уравнения эллиптических кривых над указанными конечными полями. Алгоритмов, выполняющих дискретной логарифмирование на эллиптических кривых в общем случае хотя бы с субэкспоненциальной сложностью, на сегодняшний день не существует, хотя работы в этом направлении ведутся. Так, для эллиптических кривых специального вида наш соотечественник И. Семаев указал способ сведения задачи логарифмирования в группе точек эллиптической кривой к задаче логарифмирования в некотором расширении простого поля.

Криптоанализ хеш-функций

Основная атака на хеш - это метод коллизий [6.2] . Пусть M и M' - сообщения, H - хеш-функция, а ЭЦП представляет собой некоторую функцию S от хеша сообщения: C=S(H(M)) . Законный обладатель пары "открытый ключ - секретный ключ " готов подписать сообщение M, но злоумышленник заинтересован в получении подписи под сообщением M'. Если M' выбрано так, что H(M)=H(M') , то злоумышленник может предъявить пару (M', C) : тогда атака удалась. Реализовать подбор такого сообщения можно методом, который основан на упомянутом выше "парадоксе дней рождения". Варьируя интервалы, шрифты, формат и т.п., злоумышленник получает n пар вариантов M и M' без изменения их смысла. Сообщения M_1, \ldots ,M_n отличаются слабо, а их хеш-функции - значительно, т.е. можно считать, что значения хеш-функций выбираются случайно, равновероятно и независимо друг от друга. Тогда при n=t \sqrt{N} ( t>0 - некоторая константа, N - мощность множества всевозможных хеш-функций) вероятность того, что имеется пара сообщений \tilde M и \tilde M', для которых H(\tilde M)=H(\tilde M') , вычисляется по формуле 1-e^{-\frac{t^2}{2}}.

Этот метод криптоанализа породил требования устойчивости к коллизиям для хеш-функций.

Криптоанализ по побочным каналам

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

В последние годы количество криптографических атак, использующих слабости в реализации и размещении механизмов криптоалгоритма, резко возросло. Противник может замерять время, затрачиваемое на выполнение криптографической операции, или анализировать поведение криптографического устройства при возникновении определённых ошибок вычисления. Другой подход предполагает отслеживание энергии, потребляемой смарт-картой в процессе выполнения операций с секретным ключом (например, расшифрования или генерации подписи). Побочную информацию собрать порой несложно - на сегодняшний день выделено более десяти побочных каналов, в т.ч. электромагнитное излучение, ошибки в канале связи, кэш-память и световое излучение. Более подробное описание перечисленных типов атак можно найти в материалах доклада А.Е.Жукова на конференции РусКрипто2006 [6.3] , использованных при подготовке данного раздела.

Нанотехнологии в криптоанализе

С помощью квантового компьютера можно проводить вычисления, не реализуемые на сегодняшних (классических) компьютерах. В 1994 году П. Шор открыл так называемый "ограниченно-вероятностный" алгоритм факторизации, который позволяет разложить на множители число N за полиномиальное от размерности задачи время O((\log N)^3) . Алгоритм Шора разложения чисел на множители явился главным достижением в области квантовых вычислительных алгоритмов. Это был не только крупный успех математики. Именно с этого момента началось усиленное финансирование работ по созданию квантовых компьютеров.

Важно отметить, что алгоритм Шора чрезвычайно прост и довольствуется гораздо более скромным аппаратным обеспечением, чем то, которое понадобилось бы для универсального квантового компьютера. Поэтому вероятно, что квантовое устройство для разложения на множители будет построено задолго до того, как весь диапазон квантовых вычислений станет технологически осуществимым. На сегодняшний день есть конкретные результаты. Так, IBM продемонстрировала использование созданного в лабораториях компании семикубитового квантового компьютера для факторизации чисел по алгоритму Шора. Хотя решённая им задача вряд ли способна поразить воображение (компьютер верно определил, что делителями числа 15 являются числа 5 и 3), это самое сложное вычисление в области теории чисел за всю историю квантовых компьютеров.

Краткие итоги

В лекции рассмотрены основные исторические этапы и новые тенденции развития методов криптоанализа. Подчеркнута важная роль взаимодействия криптоанализа и криптографии в развитии науки криптологии.

< Лекция 3 || Лекция 4: 12 || Лекция 5 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Денис Овчинников
Денис Овчинников
Россия
Павел Артамонов
Павел Артамонов
Россия, Москва, Московский университет связи и информатики, 2016