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

Автор работы: Пользователь скрыл имя, 21 Мая 2013 в 16:30, курсовая работа

Краткое описание

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

Содержание

ВВЕДЕНИЕ 3
Часть 1. СИСТЕМНЫЙ АНАЛИЗ 4
1.1. Характеристика исходных данных о предметной области. 4
1.2. Обоснование цели разработки программы 4
1.3. Обоснование автоматизируемых подразделений, комплекса авт. задач, выбора КТС, ПО и ИО. 5
Часть 2. ТЕХНИЧЕСКИЙ ПРОЕКТ 7
2.1. Разработка основных положений по разрабатываемой программе 7
2.3. Разработка функциональной структуры и перечня задач 7
2.4. Разработка принципов организации информационного обеспечения 7
внутримашинной информационной базы 7
2.5. Разработка постановки решения задачи 8
2.7. Разработка классификаторов и кодов 8
2.8. Разработка структуры входных и выходных сообщений 9
2.9. Разработка технологий решения задачи 9
2.10 Уточнение состава периферийной техники 9
Периферийная техника не требуется. 9
2.11 Уточнение состава аппаратной платформы 9
2.14. Разработка плана мероприятий по подготовке и внедрению системы 10
2.15. Окончательное оформление проекта 10
Часть 3. РАБОЧИЙ ПРОЕКТ 11
3.1. Описание программы 11
3.1.1.Общие сведения 11
3.1.2.Функциональное назначение 11
3.3. Руководство пользователя 12
3.4.Оформление рабочего проекта 13
Заключение 16
Список литературы 17

Прикрепленные файлы: 1 файл

Курсовая.doc

— 320.50 Кб (Скачать документ)

Содержание:

Приложение1……………………………………………………...……….18

 

ВВЕДЕНИЕ

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

 

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

 

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

      • шифрование файлов;
      • дешифрование файлов;
      • архивирование файлов;
      • разархивирование файлов.

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

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

к использованию данной информации.

 

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

 

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

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

 

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

      

      • процессор Pentium или Celeron (с частотой не менее 500 МГц)
      • оперативная память 1 ГБ, жесткий диск не менее 100 ГБ.
      • ОС Windows 98, 2000, XP, Vista..

  

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

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

 

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

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

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

  • шифрование и дешифрование файлов.
  • архивирование и разархивирование файлов.

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

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

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

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

 

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

Область

Описание

Символ

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

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

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


 

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

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

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

    1. Выбор файла для шифрования в виде диалогового окна;
    2. Ввод пароля, необходимого для шифрования и дешифрования файла;
    3. Сохранение файла в виде зашифрованного типизированного файла.
    4. Выбор файла для дешифрования файла в виде диалогового окна

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

  1. Выбор файла для архивирования в виде диалогового окна;
  2. Сохранение файла в виде архивированного типизированного файла.
  3. Выбор файла для дешифрования файла в виде диалогового окна

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

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

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

Код

Расшифровка

Windows

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

ПО

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

ИО

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

КТС

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

ASCII

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


 

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

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

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

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

      • расшифрованные файлы;
      • разархивированные файлы.

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

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

      • Открыть (выбор и открытие файла)
      • Зашифровать (запуск процесса шифрования файла)
      • Дешифровать (запуск процесса дешифрования файла)
      • Архивировать (запуск процесса архивирования файла)
      • Разархивировать (запуск процесса разархивирования файла)
      • Помощь (справочная информация)
      • О программе (информация о программе)
      • Выход ( выход из программы)

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

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

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

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

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

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

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

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

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

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

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

Внедрение

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

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

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

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

 

 

 

 

 

 

 

 

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Данные (содержимое файла)
  • Информация о паролях (текст пароля) 

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

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

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

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

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

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

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

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

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

Информация о работе Алгоритм шифрования Хаффмана