Автор работы: Пользователь скрыл имя, 28 Ноября 2013 в 14:20, дипломная работа
Широкое применение компьютерных технологий и постоянное увеличение объема информационных потоков вызывает постоянный рост интереса к криптографии. В последнее время увеличивается роль программных средств защиты информации, просто модернизируемых не требующих крупных финансовых затрат в сравнении с аппаратными криптосистемами. Современные методы шифрования гарантируют практически абсолютную защиту данных, но всегда остается проблема надежности их реализации.
ВВЕДЕНИЕ 3
1.Теоретические основы криптоанализа 7
1.1 Методы криптоанализа 7
1.2 Потоковые шифры 12
1.3 Алгоритм RC4 и его криптоанализ 15
K = (KL)t=02n -1 18
На последнем шаге порождается таблица, представляющая S0. Ключевая последовательность K составляется из секретного ключа, возможно повторяющегося, и случайного ключа, передаваемого в открытом виде в целях ресинхронизации. 18
где I - единичная матрица, det(zA - I) = (z), (0) = 1, - многочлен, обратный к характеристическому многочлену матрицы переходов A степени, не превышающей ранг A (≤M); а элементы (присоединенной) матрицы adj(zA - I) - это полиномы от z степени не более M-1. Вычислительная сложность для отыскания такого решения составляет O(M3(N+1)). В другом виде решение можно переписать как 22
2. Защита информации в операционных системах Microsoft Windows 9x 25
2.1 Аутентификация, безопасность и доступ к ресурсам в операционных системах семейства Microsoft Windows 9x 25
2.2 Структура PWL–файлов 27
Рис. 5. Структура PWL-файла 28
3. Программа анализа PWL-файлов 31
3.1 Оценка надежности криптоалгоритмов в зависимости от длины ключа 31
3.2 Разработка программы 36
3.3 Функции программы 40
ЗАКЛЮЧЕНИЕ 43
СОДЕРЖАНИЕ
Широкое применение компьютерных технологий и постоянное увеличение объема информационных потоков вызывает постоянный рост интереса к криптографии. В последнее время увеличивается роль программных средств защиты информации, просто модернизируемых не требующих крупных финансовых затрат в сравнении с аппаратными криптосистемами. Современные методы шифрования гарантируют практически абсолютную защиту данных, но всегда остается проблема надежности их реализации.
Другой важной проблемой применения криптографии является противоречие между желанием граждан защитить свою информацию и стремлением государственных спецслужб иметь возможность доступа к некоторой информации для пресечения незаконной деятельности. Чрезвычайно трудно найти неоспоримо оптимальное решение этой проблемы. Как оценить соотношение потерь законопослушных граждан и организаций от незаконного использования их информации и убытков государства от невозможности получения доступа к защищенной информации отдельных групп, скрывающих свою незаконную деятельность? Можно ли гарантированно не допустить незаконное использование криптоалгоритмов лицами, которые нарушают и другие законы? Кроме того, всегда существуют способы скрытого хранения и передачи информации.
Хотя сдерживание открытых исследований в области криптографии и криптоанализа является самым простым путем, но это принесет значительный отрицательный эффект. Применение ненадежных средств не защитит пользователей, но вызовет распространение компьютерных преступлений, напротив, обнаружение своевременное обнаружение ошибок в системах защиты информации позволит предотвратить ущерб.
В настоящее время особо
На сегодняшний день существуют
хорошо известные и апробированные
криптоалгоритмы (как с симметричными,
так и несимметричными ключами)
С другой стороны, в компьютерном и мире все время появляется информация об ошибках или "дырах" в той или иной программе (в т.ч. применяющей криптоалгоритмы), или о том, что она была взломана. Это создает недоверие, как к конкретным программам, так и к возможности вообще защитить что-либо криптографическими методами не только от спецслужб, но и от простых хакеров. Поэтому знание атак и дыр в криптосистемах, а также понимание причин, по которым они имели место, является одним из необходимых условий разработки защищенных систем и их использования.
Рис. 1. Почему криптосистемы ненадежны.
В настоящей работе проведен анализ криптостойкости методов защиты информации в операционных системах семейства Microsoft Windows 9x, кроме того, было проведено исследование по поиску необходимой длины ключа и пароля, а также рассматриваются проблемы криптоанализа потокового шифра на примере популярного алгоритма RC4. Разработанная программа по исследованию PWL-файлов позволит восстанавливать забытые пароли и упорядочить имеющиеся сетевые ресурсы.
Криптология делится на две части: криптографию и криптоанализ. Криптограф пытается найти методы обеспечения секретности и (или) аутентичности сообщений. Криптоаналитик пытается выполнить обратную задачу, раскрывая шифр или, подделывая кодированные сигналы таким образом, чтобы они были приняты как подлинные.
Общепринятое допущение в
Важной особенностью системы и средства криптографической защиты информации (СКЗИ) является то, что для них не существует простых и однозначных тестов проверки их надежности. Кроме того, эффективность СКЗИ и просто их наличие никак не связываются на работоспособности основной системы. Поэтому задача эффективности СКЗИ не может быть решена обычным тестированием.
Криптоалгоритмом будем
Принято различать криптоалгоритмы по степени доказуемости их безопасности. Существуют безусловно стойкие, доказуемо стойкие и предположительно стойкие криптоалгоритмы.
Безопасность безусловно стойких криптоалгоритмов основана на доказанных теоремах о невозможности раскрытия ключа. Примером безусловно стойкого криптоалгоритма является система с разовым использованием ключей (шифр Вернама) или система квантовой криптографии, основанная на квантово-механическом принципе неопределенности, но стойкие криптосистемы неудобны на практике.
Стойкость доказуемо стойких
Предположительно стойкие
Криптографические алгоритмы обычно строятся с использованием простых и быстро выполняемых операторов нескольких типов. Множество обратимых операторов, преобразующих текст длиной n бит в текст длиной n бит, являются элементами группы обратимых операторов по умножению (подстановок n-разрядных слов). Пусть f, g, h — обратимые операторы, то есть существуют f -1, g -1 , h -1 . Поэтому hgf - последовательное выполнение операторов f, g, h - тоже обратимый оператор (операторы выполняются справа налево) с обратным оператором к этому произведению f -1, g -1 , h -1 . Поэтому дешифратор выполняет те же операции, что и шифратор, но в обратном порядке, и каждый оператор дешифрования является обратным к соответствующему оператору шифрования. Некоторые операторы являются взаимно обратными, то есть выполнение подряд два раза некоторой операции над текстом дает исходный текст. В терминах теории групп это записывается уравнением f 2 = e , где e - единичный оператор. Такой оператор называется инволюцией. Можно сказать, что инволюция представляет собой корень из единицы. Примером инволюции является сложение по модулю два текста с ключом.
Существует еще одно важное применение одноключевой криптографии. Это осуществление вычислимого в одну сторону преобразования информации. Такое преобразование называется хэш-функцией. Особенность этого преобразования заключается в том, что прямое преобразование y=h(x) вычисляется легко, а обратное x=h-1(y) - трудно. Вообще говоря, обратное преобразование не является функцией, поэтому правильнее говорить о нахождении одного из прообразов для данного значения хэш-функции. В этом случае ключа, понимаемого как некоторая конфиденциальная информация, нет. Однако стойкие хэш-функции, для которых прообраз по данному значению функции тяжело найти, реализуются криптографическими методами и требуют для обоснования стойкости проведения криптографических исследований. Типичное применение хэш-функции - создание сжатого образа для исходного текста такого, что найти другой текст, обладающий таким же образом, вычислительно невозможно. Задача создания стойкой хэш-функции возникает, например, при цифровой подписи текстов.
Способность криптосистемы противостоять атакам называется стойкостью. Количественно стойкость измеряется как сложность наилучшего алгоритма, приводящего криптоаналитика к успеху с приемлемой вероятностью. В зависимости от целей и возможностей криптоаналитика меняется и стойкость. Различают стойкость ключа (сложность раскрытия ключа наилучшим известным алгоритмом), стойкость бесключевого чтения, имитостойкость (сложность навязывания ложной информации наилучшим известным алгоритмом) и вероятность навязывания ложной информации.
Уровень стойкости зависит от возможностей криптоаналитика и от пользователя. Так, различают криптоанализ на основе только шифрованного текста, когда криптоаналитик располагает только набором шифрограмм и не знает открытых текстов, и криптоанализ на основе открытого текста, когда криптоаналитик знает открытые и соответствующие шифрованные тексты. Поскольку криптоалгоритм должен быть универсальным, естественным представляется требование, чтобы стойкость ключа не зависела от распределения вероятностей источника сообщений. В общем случае источник сообщений может вырабатывать “удобные” для нарушителя сообщения, которые могут стать ему известными. В этом случае говорят о криптоанализе на основе специально выбранных открытых текстов. Очевидно, что стойкость ключа по отношению к анализу на основе выбранных текстов не может превышать стойкости по отношению к анализу на основе открытых текстов, а она не может превышать стойкости по отношению к анализу на основе шифрованных текстов.
Обычно криптоалгоритмы
Создание новых эффективных методов раскрытия ключа или иного метода ослабления криптоалгоритма может давать осведомленным лицам большие возможности по нанесению ущерба пользователям, применяющим данный криптоалгоритм. Публикация или замалчивание этих сведений определяются степенью открытости общества. Рядовой пользователь системы бессилен помешать нарушителю в раскрытии его ключей. С развитием математики и средств вычислительной техники стойкость криптоалгоритма может только уменьшаться. Для уменьшения возможного ущерба, вызванного несвоевременной заменой криптоалгоритма, потерявшего свою стойкость, желательна периодическая перепроверка стойкости криптоалгоритма.
Из рассмотренного выше следует, что
понятие стойкости
Последние десятилетие характеризуется резким увеличением числа открытых работ по всем вопросам криптологии, а криптоанализ становится одной из наиболее активно развивающихся областей исследований. Многие криптосистемы, стойкость которых не вызывала особых сомнений, оказались успешно раскрытыми. При этом разработан большой арсенал математических методов, представляющих прямой интерес для криптоаналитика.
Каждый новый метод
Рассматриваемый нами криптоалгоритм RC4 относится к классу потоковых шифров, которые в последнее время стали популярными благодаря высокой скорости работы. Потоковые шифры преобразуют открытый текст в шифротекст по одному биту за операцию. Генератор потока ключей (иногда называемый генератором с бегущим ключом) выдает поток битов: k1, k2, k3, ..., ki. Этот поток ключей и поток битов открытого текста, p1, p2, p3, ..., pi, подвергаются операции “исключающее или", и в результате получается поток битов шифротекста.