Анализ алгоритмов шифрования в сетях передачи данных
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
методы современного криптоанализа
2.1 Метод грубой силы
Это самый простой способ, заключающийся в переборе всего множества ключей. При этом, используется некоторый критерий для проверки. В случае если известен открытый текст, то необходимо просто сравнить с ним расшифрованную версию. Если же атака производиться на основе шифротекста, то возможны следующие варианты: [10]
-Если открытый текст является осмысленным текстом на каком-либо языке, перехваченный шифртекст должен иметь достаточный размер для однозначного расшифрования в осмысленный текст (минимально достаточный для этого размер называется точкой единственности). В основополагающей для современных симметричных криптосистем работе размер единственности для английского языка теоретически определен как 27 букв.
Если сообщение короче, то при переборе возможно появление нескольких различных осмысленных текстов, каждому из которых соответствует некий кандидат в искомые ключи. При невозможности перехвата дополнительных шифртекстов невозможно определить, какое из осмысленных сообщений является верным, если это не ясно из контекста.
Если открытый текст является бинарными данными, необходима какая-либо информация о том, что он из себя представляет. Если перехватывается архив, то при переборе ключей каждое значение M должно рассматриваться как возможный заголовок архива. При другом потенциальном M это может быть PE-заголовок исполняемого файла для Windows, заголовок графического файла и т. д.
Стоит отметить, что многие средства шифрования информации внедряют в формат зашифрованного объекта контрольную сумму открытого текста для проверки его целостности после расшифрования (см. подробное описание в). Это может быть, например, имитоприставка, вычисленная согласно отечественному криптостандарту ГОСТ 28147-89, или просто CRC32. Главное, что такая контрольная сумма может быть идеальным эталоном при криптоанализе, вполне подходящим для определения верного ключа.
Метод грубой силы часто используется совместно с другими методами. Например, после раскрытия части ключа с помощью дифференциального криптоанализа, может стать возможен перебор оставшейся части.
Неправильная реализация алгоритмов на практике часто упрощает вскрытие грубой силой.
Например, в ОС Windows XP для хранения паролей использует LM-хеширование, которое преобразует все символы пароля в верхний регистр, и обрезает значимую длину до 8 символов. Это существенно сокращает ключевое пространство, и на данный момент вскрытие пароля в данной ОС не представляет никакой сложности.
2.2 Атаки класса встреча посередине
Наиболее ярким примером применения данного метода является взлом двойных шифров, то есть таких, в которых один и тот же шифр применяется два раза подряд с разными ключами (например, Double DES). Суть метода заключается в следующем.
Пусть у нас имеется открытый и соответствующий зашифрованный текст.
Сначала мы строим таблицу всех возможных шифротекстов для открытого текста (перебором всего ключевого пространства). Далее строим таблицу всех возможных открытых текстов для шифротекста. После останется только найти в этих таблицах одинаковые вхождения. Схематично данный метод показан на рисунке 2.
Рисунок 2 - Иллюстрация метода встреча по середине для Double DES
Крупные государства могут иметь вычислительные средства, для взлома DES методом грубой силы (размер ключа в DES 56 значащих бит). В таком случае взлом Double DES методом встречи посередине всего в 2 раза сложнее, чем полный перебор ключей обычного DES, что несравнимо меньше 2112 возможных вариантов двойного ключа [10].
2.3 Дифференциальный криптоанализ
Как видно из названия, данный метод связан с вычислением разности. Действительно, в данном случае берутся две пары открытый]шифрованный текст, вводиться некоторая функция разности между двумя текстами, и производиться наблюдение, как значение этой функции меняется после шифрования.
Операции перестановки и XOR (в том числе с ключом), практически не влияют на разность (ее легко вычислить), поэтому изменение разности в основном характеризует работу S-блоков.
Проанализировав статистическими методами возможные значения S-блоков, можно сделать некоторые предположения о ключе. [11]
Данный метод подробно описан в [16]. Основная процедура ДКА r- циклического шифра с использованием выбранных открытых текстов может быть следующей:
. На этапе предвычислений ищем множество (r-1)-цикловых дифференциалов (a 1,b 1)r-1 , (a 2,b 2)r-1 ,.... (a s,b s)r-1 . Упорядочиваем это множество дифференциалов по величине их вероятности.
. Выбираем открытый текст x произвольным образом и вычисляем x* так, чтобы разность между x и x* была равна a 1. Тексты x и x* шифруется на подлинном ключе и после r циклов получаем пару шифртекстов y(r) , y*(r). Предполагаем, что на выходе предпоследнего (r-1)-ого цикла разность шифртекстов равна наиболее вероятной: D y(r-1)=b 1. Для тройки (D y(r-1), y(r) , y*(r)) находим каждое возможное (если их несколько) значение подключа последнего цикла к(r). Добавляем его к количеству появлений каждого такого значения подключа к(r).
. Повторяем п.2 до тех пор, пока одно или несколько значений подключа к(r) не станет появляться чаще других. Берем этот подключ или множество таких подключей в качестве криптографического решения для подключа к(r).
. Повторяем пп.1-3 д