Разработка программного средства, обеспечивающего криптографическую защиту файлов

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



Оглавление

Введение

1. Теоретическая часть криптографической защиты файлов

.1 Задачи криптографии

1.2 Работа криптографии

1.3 Тpебования к кpиптосистемам

1.4 Режимы шифрования

1.4.1 Электронная кодовая книга

1.4.2 iепление блоков по шифротексту

1.4.3 Обратная загрузка шифротекста

1.4.4 Обратная загрузка выходных данных

1.5 Аутентификация. Контроль целостности

1.5.1 Задача имитозащиты данных

1.5.2 Подходы к контролю неизменности данных

1.6 Обзор существующих программных криптографических средств защиты данных

1.6.1 Линейка eToken

1.6.2 Программа шифрования и аутентификации данных PGP

1.6.3 Программа шифрования данных TrueCrypt

1.7 Выводы по главе

1.8 Постановка задачи

2. Алгоритмическая реализация криптографической защиты файлов

2.1 Алгоритм хэш-функции SHA-512

2.2 Алгоритм контрольной суммы CRC-64

2.3 Алгоритм шифрования RC6

2.4 Алгоритм шифрования IDEA

3. Програмная реализация криптографической защиты файлов

3.1 Выбор обоснования языка программирования

3.2 Организация данных

3.3 Основные структуры данных

3.4 Общая схема программного средства

3.5 Создание USB-ключа и нового пользователя

3.6 Вход в систему

3.7 Основные модули программы

3.7.1 Модуль вычисления контрольной суммы

3.7.2 Модуль алгоритма шифрования RC6

3.7.3 Модуль алгоритма шифрования IDEA

3.7.4 Модуль создания архива

3.7.5 Модуль создания USB-ключа

3.8 Выводы по главе

4. Контрольный пример

4.1 Запуск программы

4.2 Сообщения оператору

4.3 Пример шифрования и расшифрования файлов

4.4 Выводы по главе

Заключение

Список источников

Приложения

Введение

Компьютеризация современного общества дошла до той черты, когда буквально вся информация - книги, рабочие документы, фото- и видео-файлы, а также личная информация хранится на жестких дисках компьютеров. В связи с этим остро ставится вопрос о сохранении этих данных от доступа посторонних лиц. Наиболее выходом является шифрование данных [1].

Среди криптографических программных средств с платной лицензией здесь можно выделить продукты eToken и ruToken [2], среди свободно распространяемых программ - PGP, TrueCrypt. Однако данные программы обладают рядом недостатков - они либо платные, либо являются продуктами иностранного производства, где не гарантировано отсутствие закладок. Также порой бесплатные программы не имеют документированного сопровождения на русском языке. Еще одной проблемой бесплатных программ является использование морально устаревших алгоритмов шифрования, в то время, как реализация принципиально новых алгоритмов шифрования дает хорошие результаты [3]. В программных средствах практически не используемым остается многоэтапная аутентификация посредством USB-ключа, что также является большим недостатком таких систем.

Проблемой, касающейся в основном русского сегмента криптографии, является проблема стандарта шифрования. Удобство использования широко применяемого ГОСТ 28147-89 вызывает проблемы. Проблема заключается в процессе согласования таблиц замен. Поэтому алгоритм должен быть простым в эксплуатации.

В аналитической части работы рассматриваются теоретическая база способов шифрования, а так же достоинства и недостатки методов. Рассматриваются подходы к обеспечению целостности информации и методы аутентификации.

В части алгоритмического конструирования рассматривается конструирование программного средства обеспечивающего криптографическую защиту файлов, двухэтапной аутентификации пользователя, создание USB-ключа, определяются входные и выходные параметры.

В части программного конструирования проводится непосредственный выбор среды разработки программного средства, определение алгоритмического языка, описание главных функций, модулей и принципов их работы и взаимодействия.

1. Теоретическая часть криптографической защиты файлов

В данной главе рассматриваются вопросы применения криптографии, подходы к применению криптографических алгоритмов, способы и методы аутентификации.

.1 Задачи криптографии

Проблема защиты информации путем ее пpеобpазования, исключающего ее прочтение посторонним лицом волновала человеческий ум с давних времен. История кpиптогpафии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была кpиптогpафической системой, так как в дpевних обществах ею владели только избранные. Священные книги Древнего Египта, Древней Индии тому пpимеpы.

С шиpоким pаспpостpанением письменности кpиптогpафия стала фоpмиpоваться как самостоятельная наука. Пеpвые кpиптосистемы встpечаются уже в начале нашей эpы. Так, Цезаpь в своей пеpеписке использовал уже более менее систематический шифp, получивший его имя.

Буpное pазвитие кpиптогpафические системы получили в годы пеpвой и втоpой миpовых войн. Начиная с послевоенного вpемени и по нынешний день появление вычислительных сpедств ускоpило pазpаботку и совеpшенствование кpиптогpафических методов [4].

Пpоблема использования кpиптогpафических методов в инфоpмационных системах (ИС) стала в настоящий момент особо актуальна. С одной стоpоны, pасшиpилось использование компьютерных сетей, в частности глобальной сети Интеpнет, по котоpым пеpедаются больши