Криптографический алгоритм шифрования Хаффмана, его реализация в виде приложения

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    414,53 Кб
  • Опубликовано:
    2015-09-18
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Криптографический алгоритм шифрования Хаффмана, его реализация в виде приложения

Введение


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

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

Система программирования Delphi 7 версии компании Borland была выбрана для написания приложения, так как она зарекомендовала себя как удобное визуальное средство разработчика Windows-приложений.

Часть 1. СИСТЕМНЫЙ АНАЛИЗ

 

1.1 Характеристика исходных данных о предметной области.


Криптография изучает методы преобразования информации, обеспечивающие её конфиденциальность и аутентичность. Под конфиденциальностью понимают невозможность получения информации из преобразованного массива без знания дополнительной информации. Аутентичность информации состоит в подлинности автора и целостности.

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

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

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

Большинство широко изучаемых алгоритмов сжатия данных основаны на кодах Хаффмана. В коде Хаффмана каждая буква исходного текста представляется в архиве кодом переменной длины. Более частые буквы представляются короткими кодами, менее частые - длинными. Коды, используемые в сжатом тексте должны подчиняться свойствам префикса, а именно: код, использованный в сжатом тексте не может быть префиксом любого другого кода.

Коды префикса могут быть найдены посредством дерева, в котором каждый лист соответствует одной букве алфавита источника.

 

.2 Обоснование цели разработки программы


Использование программы шифрования обеспечит:

§  Надёжную защиту данных от несанкционированного доступа.

§  Удобное хранение информации в сжатом виде

1.3 Обоснование автоматизируемых подразделений, комплекса авт. задач, выбора КТС, ПО и ИО.

Функции, которые должны выполняться программой:

§  шифрование файлов;

§  дешифрование файлов;

§  архивирование файлов;

§  разархивирование файлов.

Функции программы должны выполняться безошибочно, также должна быть

защита информации от вторжения пользователей, не имеющих прав доступа к использованию данной информации.

Интерфейс программы должен иметь мягкую цветовую гамму, оптимальное расположение форм и кнопок, дружественный интерфейс и защита от ошибок.

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

Совместимость системы. Система должна работать в операционных системах семейства Windows 98, 2000, XP, Vista.

.4 Минимальные требования к техническому и программному обеспечению

§  процессор Pentium или Celeron (с частотой не менее 500 МГц)

§  оперативная память 1 ГБ, жесткий диск не менее 100 ГБ.

§  ОС Windows 98, 2000, XP, Vista..

Часть 2. ТЕХНИЧЕСКИЙ ПРОЕКТ

2.1 Разработка основных положений по разрабатываемой программе


“Шифрование информации по алгоритму Хаффмана” включает в себя разработку программного средства, предназначенного для демонстрации работы криптографического алгоритма шифрования Хаффмана, обеспечивающей шифрование, дешифрование, архивацию и разархивацию информации. Данная программа должна работать на IBM-совместимых компьютерах под управлением операционной системы Windows устанавливаться на любой компьютер.

2.2 Разработка функциональной структуры и перечня задач


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

·        шифрование и дешифрование файлов.

1 архивирование и разархивирование файлов.

 

.3 Разработка принципов организации информационного обеспечения внутримашинной информационной базы


База данных, применяемая в данной системе представляет собой типизированный файл, состоящий из:

словаря данных.

бинарное дерево Хаффмана.

Таблица 1. Словарь данных.

Область

Описание

Символ

Код символа из таблицы ASCII

Количество повторений

Количество повторений данного символа

 

.4 Разработка постановки решения задачи


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

.4.1Функции, выполняемые в задачах шифрования и дешифрования

1)       Выбор файла для шифрования в виде диалогового окна;

2)      Ввод пароля, необходимого для шифрования и дешифрования файла;

)        Сохранение файла в виде зашифрованного типизированного файла.

)        Выбор файла для дешифрования файла в виде диалогового окна

.4.2Функции, выполняемые в задачах архивирования и разархивирования

)        Выбор файла для архивирования в виде диалогового окна;

)        Сохранение файла в виде архивированного типизированного файла.

)        Выбор файла для дешифрования файла в виде диалогового окна

 

.5 Разработка классификаторов и кодов


В программе используется кодировка классификаторов:

Таблица 2. Классификаторы и коды.

Код

Расшифровка

Windows

Операционная система Microsoft Windows

ПО

Программное обеспечение

ИО

Информационное обеспечение

КТС

Комплекс технических средств

ASCII

Общепринятая таблица кодов символов

 

.6 Разработка структуры входных и выходных сообщений


Входной информацией выступают:

§  файлы, необходимые для шифрования;

§  текстовая информация, используемая в качестве пароля.

Выходной информацией выступают:

§  расшифрованные файлы;

2.7 Разработка технологий решения задачи


Интерфейс разработанной программы интуитивно понятен. При запуске программы появляется форма на которой расположены кнопки:

§  Открыть (выбор и открытие файла)

§  Зашифровать (запуск процесса шифрования файла)

§  Дешифровать (запуск процесса дешифрования файла)

§  Архивировать (запуск процесса архивирования файла)

§  Разархивировать (запуск процесса разархивирования файла)

§  Помощь (справочная информация)

§  О программе (информация о программе)

§  Выход ( выход из программы)

В программы могут быть добавлены новые элементы, носящие

дополнительный и необязательный характер.

2.8 Уточнение состава периферийной техники

 

Периферийная техника не требуется.


2.9 Уточнение состава аппаратной платформы


Для реализации задачи будут использованы IBM-совместимые компьютеры.

 

.10 Разработка плана мероприятий по подготовке и внедрению системы


Проектирование системы включает в себя следующие этапы:

Концептуальное проектирование                    (Техническое задание)

Логическое проектирование                    (Технический проект)

Физическое проектирование                            (Рабочий проект)

Внедрение

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

·        установка программы на пользовательские компьютеры.

·        дополнительная подготовка пользователей.

 

2.11 Окончательное оформление проекта


Документация по проекту предоставляется заказчику в сроки.

Часть 3. РАБОЧИЙ ПРОЕКТ

 

.1 Описание программы

 

.1.1 Общие сведения

Программа шифрования по алгоритму Хаффмана позволяет:

§  зашифровывать файлы;

§  производить архивирование файлов;

Программа совместима с ОС семейства Microsoft с графическим интерфейсом. Так же возможно дополнение и изменение программы по желанию заказчика.

Программный код написан на языке программирования Object Pascal в среде Borland Delphi7.

 

.1.2 Функциональное назначение

Программа разработана для автоматизирования процесса безопасного хранения и передачи информации, включающей в себя шифрование и архивирование файлов.

 

.1.3 Используемые технические средства

Данная программа совместна с различными версиями ОС Windows и IBM-совместимыми компьютерами.

3.1.4 Вызов и загрузка

Данная программа в готовом виде устанавливается на жесткий диск компьютера и запускается из установленной папки.

3.1.5 Входные данные

§  Данные (содержимое файла)

§  Информация о паролях (текст пароля)

3.1.6 Выходные данные

Выходными данными являются зашифрованные, заархивированные файлы.

3.3 Руководство пользователя


3.3.1. Установка программы производится путем копирования исполняемого файла на жесткий диск компьютера. Для удобного быстрого вызова программы также можно создать ярлык программы на рабочем столе.

.3.2. Для использования функции шифрования файлов используется вкладка «Шифрование», используемый формат файлов с расширением *.xhf.

.3.3. Для шифрования файлов нажмите кнопку «Открыть», в диалоговом окне выберите файл, который необходимо зашифровать, затем в поле ввода пароля введите пароль и нажмите кнопку «Зашифровать».

.3.4. Для расшифрования файлов используйте кнопку «Расшифровать». После нажатия кнопки появится диалоговое окно для выбора зашифрованного файла и окно ввода пароля для файла.

.3.5. Для использования функции архивации файлов используется вкладка «Архивирование», используемый формат файлов с расширением *.har.

.3.6. Для архивации файлов нажмите кнопку «Открыть», в диалоговом окне выберите файл, который необходимо архивировать и нажмите кнопку «Архивировать».

.3.7. Для разархивирования файлов используйте кнопку «Разархивировать». После нажатия кнопки появится диалоговое окно для выбора.

3.3.8. Использование функций меню аналогично использованию кнопок, вкладки меню имеют соответствующие названия.

3.4 Оформление рабочего проекта

Рабочий проект оформляется в соответствии с требованиями ГОСТ 19.ХХХ-78 и предоставляется заказчику в сроки, оговоренные в задании.

3.5 Внешний вид программы

Внешний вид оконных форм программы шифрования показаны на рисунках 1-3.

Рис1. Вид программы при запуске

Рис2. Вид программы после открытия файла для шифрования/архивации.

Далее в таблице 3 описаны столбцы:

Таблица 3.

Название столбца

Описание

Код

Код символа в таблице ASCII

Символ

Изображение символа

Частота

Количество повторений символа

Длина

Длина кода Хаффмана для символа

Код Хаффмана

Бинарное дерево символа

Рис3. Вид меню программы

ЗАКЛЮЧЕНИЕ


Данная программа создана для шифрования и архивирования файлов по криптографическому алгоритму Хаффмана.

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

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

СПИСОК ЛИТЕРАТУРЫ

. Vitter,J.S. Two papers on dynamic Huffman codes. Tech.Rep.CS-85-13.Brown University Computer Science, R.I. Revised Dec.1986

. Учебное пособие «Система программирования Delphi» Валерий Фаронов, издательство «БХВ-Петербург» 2003г.

. Методическое пособие по составлению и оформлению курсового проекта под авторством Рычкова В.А.

5. Knuth,D.E. Dynamic Huffman coding. J.Algorithms 6, 2 (Feb. 1985), 163-180

6. Welch,T.A. A technique for high-performance data compression. IEEE Comput. 17, 6 (June 1984), 8-19.

. Sleator,D.D., and Tarjan,R.E. Self-adjusting binary trees. In Proceedings of the ACM SIGACT Symposium on Theory of Computing (Boston, Mass., Apr.25-27).ACM, New York, 1983, pp.235-245.

. Учебный курс «Основы современной криптографии», Баричев С.Г., Гончаров В.В., Серов Р.Е.2006.

. «Криптография без секретов», Левин М. 2005.

. «Основы защиты информации», Куприянов А.И., Сахаров А.В., Шевцов В.А., 2007.

Похожие работы на - Криптографический алгоритм шифрования Хаффмана, его реализация в виде приложения

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!