Автор работы: Пользователь скрыл имя, 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
Разработанная программа проводит криптоанализ на основе открытого текста. Так как имя пользователя всегда известно, то его можно использовать для проверки правильности расшифровки программа сравнивает дешифрованное имя пользователя с введенным именем. При запуске в зависимости от ключей, заданных в командой строке, программа вызывает вспомогательные функции, перечисленные следующем параграфе.
Далее программа осуществляет чтение зашифрованного PWL-файла, после чего либо начинает его расшифровку, либо просмотр ресурсов. Для PWL-файлов, создаваемых операционной системой Microsoft Windows, программа позволяет определить нестойкие пароли, генерируемые по ниже описанному алгоритму.
Алгоритм генерации ключа по паролю в Microsoft Windows
Имеем ключ (двойное слово) и пароль до 20-и символов.
1) Обнулить ключ.
2) Привести пароль к верхнему регистру.
3) Для каждого символа пароля, начиная с первого:
а) прибавить код символа к ключу
б) повернуть ключ влево 7 раз.
Данный алгоритм слаб тем, что при
выбранной длине ключа в
Для PWL-файлов, создаваемых новыми версиями в операционных системах Microsoft Windows, программа осуществляет перебор ключей.
Алгоритм генерации ключа по паролю в Microsoft Windows
Имеем ключ (двойное слово) и пароль до 128-и символов.
1) Обнулить ключ.
2) Привести пароль к верхнему регистру.
3) Для каждого символа пароля, начиная с первого:
а) прибавить код символа к ключу
б) повернуть ключ влево 16 раз.
Далее программа перебирает пароли до тех пор, пока расшифрованное имя пользователя не совпадет с ранее введенным. При совпадении работа заканчивается.
Таблица 3.3 Скорость работы программы
Используемая машина |
Скорость работы в секунду для Windows 3.11 и Windows 95 без Service Pack |
Скорость работы в секунду для Windows 95 с Service Pack, OSR2 и 98 |
AMD K5 - 100 |
53000 |
29000 |
Intel Pentium - 120 |
61000 |
31000 |
Intel Pentium - 166 |
76000 |
39000 |
Pentium II -166 |
87000 |
45000 |
Intel Celeron – 400 |
153000 |
101000 |
Intel Celeron - 700 |
304000 |
192000 |
Рис. 6. Блок-схема основной программы.
Разработанная программа запускается из командной строки с ниже перечисленными ключами:
/BF[:S] [ИмяPwlФайла] [ИмяПользователя]
- для выполнения взлома PWL-файла
перебором. Пароли
/EN: [ИмяСекцииПеребора]
- добавьте это к ключу /
/F: [СтартоваяДлина]
- добавьте это к ключу /
/IN: [НачальныйПароль]
- добавьте это к ключу /
/D: [ПарольОстановки]
- добавьте это к ключу /
/NUM: [КоличествоИтераций]
- добавьте это к ключу /
/VOC [:S] [ИмяPwlФайла] [ИмяПользователя] [МаскаСловарей]
- для обнаружения пароля PWL-файла с помощью словаря.
/CON [:S] [ИмяФайлаСессии]
- для возобновления прерванной сессии.
/PROT [:ИмяФайлаПротокола]
- добавление этого ключа к
некоторым ключам позволит
/L [:E] [ИмяPwlфайла] [ИмяПользователя] [ПарольПользователя]
- для просмотра указанного PWL-файла
с соответствующими
/GR [ИмяПротоколаБазы]
- для просмотра секции [Password Lists] файла SYSTEM.ini. Эта секция описывает зарегистрированные PWL-файлы на данной машине.
/TM [ОценочнаяСкорость]
- для оценки времени работы сплошного перебора. Можно использовать ключ /ENUM для выбора секции символов перебора. Скорость указывается в pps (что обозначает паролей в секунду).
/H [ИмяФайлаСправки]
- для сохранения справки в текстовом файле.
/?
- для отображения этой краткой справки на терминале.
Используйте атрибут 'S' с вышеперечисленными ключами для защиты данных от нестабильности электропитания. Применение атрибута вызовет периодическое сохранение результатов работы текущей сессии. Нажатие Ctrl+Break приводит к остановке процесса перебора и записи текущей сессии в соответствующем .BRK файле.
Проанализировав сегодняшнюю ситуацию с реальными криптографическими продуктами, мы пришли к выводу, что криптография, представленная на коммерческом рынке, не предоставляет достаточного уровня безопасности. Сегодня в компьютерную безопасность вкладываются миллиарды долларов, и большинство денег тратится на нестойкие продукты. В настоящей работе было проведено исследование криптографических методов защиты информации, применяемых популярных операционных системах семейства Microsoft Windows 9x, и была написана программа общим объемом около тысячи строк программного кода для анализа си. Рассматриваемый алгоритм RC4 используется в более чем двадцати программных продуктах и результаты данной работы относятся к большому числу программных продуктов, используемых в различных областях.
В ходе работы был сделаны следующие выводы: