Автор работы: Пользователь скрыл имя, 24 Апреля 2013 в 12:01, курсовая работа
На сегодняшний день не вызывает сомнения тот факт, что будущее информационных технологий неразрывно связано с совершенствованием методов и способов обеспечения конфиденциальности информации. Наиболее важным способом является криптография. Однако для обеспечения конфиденциальности криптографические алгоритмы должны обладать достаточной стойкостью. Данным вопросом занимается такая наука, как криптоанализ.
Введение 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 приведены частоты появления русских букв.
Буква |
Частота % |
Буква |
Частота % |
Буква |
Частота % |
Буква |
Частота % |
О |
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 существует прямая зависимость: чем выше надежность, тем больше трудоемкость, и наоборот.
Метод
разностного анализа сочетает в
себе обобщение идеи общей линейной
структуры с применением
Информация о работе Способы криптоанализа симметричных шифров