Способы криптоанализа симметричных шифров
Курсовая работа, 24 Апреля 2013, автор: пользователь скрыл имя
Краткое описание
На сегодняшний день не вызывает сомнения тот факт, что будущее информационных технологий неразрывно связано с совершенствованием методов и способов обеспечения конфиденциальности информации. Наиболее важным способом является криптография. Однако для обеспечения конфиденциальности криптографические алгоритмы должны обладать достаточной стойкостью. Данным вопросом занимается такая наука, как криптоанализ.
Содержание работы
Введение 6
1 Теоретическая часть 7
1.1 Классификация криптоатак 7
1.2 Универсальные методы криптоанализа 14
1.2.1 Метод полного перебора 14
1.2.2 Атака по ключам 17
1.2.3 Частотный анализ 21
1.3 Методы криптоанализа блочных шифров 22
1.3.1 Статистический метод 23
1.3.2 Метод разностного (дифференциального) анализа 25
1.3.3 Метод линейного анализа 28
1.4 Методы криптоанализа поточных шифров 30
1.5 Криптоанализ по побочным каналам 36
1.5.1 Атака по времени 38
1.5.2 Атаки по мощности 39
1.5.3 Атаки по ошибкам вычислений 40
1.5.4 Атаки по электромагнитному излучению 41
2 Практическая часть 42
Заключение 47
Список использованных источников 48
Содержимое работы - 1 файл
4_курс_Курсовая_КМЗИ.docx
— 935.57 Кб (Скачать файл)Показателем эффективности служит количество операций, затрачиваемых на вычисление каждого очередного бита псевдослучайной последовательности. Псевдослучайный генератор характеризуются периодом, разбросом, а также необходимостью его инициализировать. Малый период и плохой разброс относятся к недостаткам псевдослучайного генератора. В случае малого периода (когда псевдослучайных значений, вырабатываемых генератором, меньше, чем возможных значений ключа) злоумышленник может сократить время поиска ключа, перебирая не сами ключи, а псевдослучайные значения, и генерируя из них ключи. Невысокое качество программных методов формирования объясняется также необходимостью защиты от разрушающих программных воздействий.
Лучший
способ генерации множества случайных
битов – извлечение их из естественно
случайных событий реального
мира. Часто такой метод требует
наличия специальной
- моменты нажатия на клавиши;
- моменты поступления команд от мыши;
- номер сектора, время дня и задержку поиска для каждой дисковой операции;
- фактической положение курсора мыши;
- номер текущей строки развертки монитора;
- содержимое текущего выводимого на экран изображения;
- содержимое таблиц файловой системы FAT;
- момент окончания загрузки процессора;
- время поступления сетевых пакетов и т.д.
Применяя к этим событиям однонаправленную функцию, можно сохранять полученные случайные величины в накопителе (пуле) и при необходимости их извлекать.
Частотный анализ
На
протяжении веков дешифрованию криптограмм
помогает частотный анализ появления
отдельных символов и их сочетаний.
Вероятности появления
В таблице 1 приведены частоты появления русских букв.
Буква |
Частота % |
Буква |
Частота % |
Буква |
Частота % |
Буква |
Частота % |
О |
11,08 |
Р |
4,45 |
Ы |
1,96 |
Х |
0,89 |
Е, Ё |
8,41 |
В |
4,33 |
Ь |
1,92 |
Ш |
0,81 |
А |
7,92 |
К |
3,36 |
З |
1,75 |
Ю |
0,61 |
И |
6,83 |
М |
3,26 |
Г |
1,74 |
Э |
0,38 |
Н |
6,72 |
Д |
3,05 |
Б |
1,71 |
Щ |
0,37 |
Т |
6,18 |
П |
2,81 |
Ч |
1,47 |
Ц |
0,36 |
С |
5,33 |
У |
2,80 |
Й |
1,12 |
Ф |
0,19 |
Л |
5,00 |
Я |
2,13 |
Ж |
1,05 |
Ъ |
0,02 |
Таблица 1.
Частота появления пробела или знака препинания в русском языке составляет 17,4%. Кроме того, порядок букв в словах и фразах естественного языка подчиняется определенным статистическим закономерностям. Частотный анализ также учитывает частоту появления различных буквосочетаний: например, пара стоящих рядом букв «ся» в русском языке более вероятна, чем «цы», а «оь» не встречается никогда. Для большинства естественных языков такая статистика документирована.
Эти принципы широко применяются в распространенных сегодня программах по подбору паролей. Возможные методы подбора пароля (могут применяться в совокупности):
- неоптимизированный перебор;
- перебор, оптимизированный по словарям вероятных паролей;
- перебор, оптимизированный на основе встречаемости символов и биграмм;
- перебор, ориентированный на информацию о подсистеме аутентификации ОС. Если ключевая система ОС допускает существование эквивалентных паролей, при переборе из каждого класса эквивалентности опробуется всего один пароль;
- перебор с использованием знаний о пользователе. Как правило, опробуются пароли, использование которых представляется наиболее вероятным.
Если программа перебора вначале подбирает наиболее вероятные пароли, а менее вероятные оставляет на потом, то перебор сокращается в десятки и сотни раз.
Частотный криптоанализ использует статистические и лингвистические методы для получения дополнительной информации о ключе, а аналитические методы предполагают математическое изучение алгоритма шифрования. Каждый новый метод криптоанализа добавляет новые требования к алгоритмам шифрования. Так, частотный метод, в котором по распределению символов в шифртексте выдвигаются гипотезы о ключе шифрования, породил требование равномерного распределения символов в шифртексте. С ростом сложности алгоритмов постепенно стал доминировать математический подход. Такая тенденция проявилась особенно отчетливо во время Второй Мировой Войны, когда взлом шифров потребовал применения нетривиальных математических выкладок.
Методы криптоанализа блочных шифров
Блочный
шифр представляет собой отображение
векторных пространств над
Наибольший прогресс в разработке методов раскрытия блочных шифров был достигнут в самом конце ХХ века и в основном связан с появлением в начале 90-х годов двух методов – метода разностного криптоанализа и метода линейного криптоанализа.
Статистический метод
Задачей статистического метода криптоанализа является разработка алгоритмов определения неизвестного ключа (или части ключа) . Рассмотрим базовые принципы и понятия статистического метода для блочных шифров. Реализации статистического метода криптоанализа для ряда блочных шифров позволяют получать оценки эффективности алгоритмов определения секретного ключа лучше, чем оценки метода полного перебора ключей. Входом алгоритма является некоторое число пар (), 1≤i≤N открытого и шифрованного текста, полученных в результате применения отображения F с ключом k. Такие пары будем называть материалом и обозначим буквой M. Объем материала соответствует числу пар ():|M|=N. Предполагается, что открытые тексты Xi, 1≤i≤N выбраны случайно, равновероятно и независимо из всего пространства .
Важнейшей частью статистических методов анализа являются процедуры статистической классификации (ПСК), предназначенные для поиска неизвестного параметра по доступным случайным наблюдениям. Функции распределения вероятностей для наблюдений зависят от этого параметра. Идея ПСК заключается в том, что, если эти распределения вероятностей различны, то при достаточно большом числе наблюдений можно с определенной долей уверенности определить закон распределения наблюдений, а, значит, и искомый параметр.
Доступными случайными наблюдениями в нашем случае является материал M , а неизвестным параметром - часть ключа или некоторые линейные комбинации битов ключа. Обозначим множество, в котором принимает значения неизвестный параметр, через Г, |Г| = s ≤ 2n.
Каждая ПСК определяет разбиение всего пространства наблюдений на T>1, непересекающихся областей: , при i≠j, 1≤i,j≤T. Области Mi , 1≤i≤T, называют областями принятия решений, причем для заданного наблюдения m∈M сложность алгоритма определения номера i(m), такого, что m∈Mi(m), считается малой. Для каждой области Mi ПСК также определяет упорядоченный список объема s′, 1≤s′≤s элементов множества Г: γi,1,γi,2,…,γi,s′, при этом γi, j1 ≠ γi, j2 при j1 ≠ j2.
Для определения неизвестного параметра из Г выполняются следующие действия. Сначала по полученному наблюдению m∈M нужно определить номер области принятия решений i(m). Затем последовательно перебирают параметры из Г: γi(m),1,γi(m),2 ,…,γi(m),s′ и проверяют, является ли значение j −го параметра, 1≤j≤s′ искомым или нет. Алгоритм проверки включает два этапа:
- доопределение оставшейся части ключа;
- проверка, правильно ли определен весь ключ. Первый шаг отсутствует, если в качестве неизвестного параметра выступает весь ключ.
В этом случае Г = . Как правило, для доопределения оставшейся части ключа используется полный перебор все оставшихся неизвестными битов ключа. Если параметром является часть ключа или невырожденная линейная комбинация битов ключа Г = , 1≤ n*≤ n , потребуется перебрать 2n−n* вариантов.
Проверка того, правильно ли доопределен весь ключ, осуществляется следующим образом: для пар ()∈M, ∈, 1≤i≤N открытого и шифрованного текста из доступного материала M проверяют, выполнены или нет равенства: F(Xi,k*)=Y, где∈опробуемый вариант всего ключа. Ложный ключ, как правило, отсеивается уже на первых шагах проверки. На самом деле проверку достаточно осуществить для d первых пар открытого и зашифрованного текста, где число d таково, что для любого набора из d различных открытых текстов Xi, 1≤i≤d и для любых двух различных ключей k1≠k2∈ найдется такой номер j∈{1,…,d}, что F(Xi,k1)≠F(Xi,k2) (минимальное d0 , удовлетворяющее этому условию, называют расстоянием единственности шифра F).
Алгоритмы определения ключа сравнивают по трем параметрам: N – объем используемого материала, Q0 - средняя трудоемкость работы алгоритма и π0 - надежность алгоритма. Q0 и π0 зависят от того, какие открытые тексты были случайно выбраны, и от искомого ключа. Трудоемкость соответствует математическому ожиданию числа шагов алгоритма при случайном выборе открытых текстов и случайном, равновероятном и независимом от выбора открытых текстов выборе ключа. Надежность алгоритма равна математическому ожиданию вероятности того, что процедура выдаст правильный результат в предположении, что ключ выбран в пространстве случайно, равновероятно и независимо от выбора открытых текстов. Между параметрами Q0 и π0 существует прямая зависимость: чем выше надежность, тем больше трудоемкость, и наоборот.
Метод разностного (дифференциального) анализа
Метод
разностного анализа сочетает в
себе обобщение идеи общей линейной
структуры с применением