Разработка программы-архиватор по методу Хаффмана с возможностью шифрации данных
Автор: kr4m • Сентябрь 13, 2021 • Контрольная работа • 14,789 Слов (60 Страниц) • 351 Просмотры
Министерство образования и науки Российской Федерации
Волжский политехнический институт (филиал) федерального государственного бюджетного образовательного учреждения высшего образования «Волгоградский государственный технический университет»
(ВПИ (филиал) ВолгГТУ)
[pic 1]
Факультет «_________________________________________________________»[pic 2]
Кафедра «___________________________________________________________»
КОНТРОЛЬНАЯ РАБОТА
[pic 3]
по дисциплине «_____________________________________________________»
[pic 4]
на тему______________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
[pic 5]
Студент_____________________________________________________________
(имя, отчество, фамилия)[pic 6]
Группа________________________
Оценка ________________________
(в баллах)
[pic 7]
Проверил ________________________ _____________________
(подпись и дата подписания) (долж., инициалы и фамилия)
Нормоконтролёр ________________________ _____________________
(подпись и дата подписания) (инициалы и фамилия)
Волжский, 2017 г.
Оглавление
Введение 3
Алгоритм Хаффмана 4
Подсчёт частот появления символов алфавита 6
Построение дерева кодирования Хаффмана 7
Запись словаря и кодирования 9
Модификации алгоритма Хаффмана 14
Симметричное блочное шифрование 15
Техническое задание 19
Реализация программной системы 23
Описание программной системы 25
Руководство пользователя 36
Руководство администратора 37
Заключение 38
Список литературы 39
Введение
Цель контрольной работы – систематизация и закрепление теоретических знаний в области информационной безопасности, полученных за время обучения, приобретение опыта проектирования, разработки, отладки, развертывания и использования подсистем информационной безопасности программных или программно-аппаратных комплексов.
Задание к контрольной работе: Разработать программу-архиватор по методу Хаффмана с возможностью шифрации данных. Исследовать разновидности реализации алгоритма архивации по Хаффману и программно реализовать процедуры архивации-разархивации данных с использованием этого алгоритма. Предусмотреть дополнительную защиту архива шифрованием любым симметричным шифром. Проанализировать эффективность сжатия информации различного типа (текст, графика в различных форматах, двоичные данные).
Несмотря на то, что алгоритм Хаффмана был разработан в 1952 году, он широко используется и по сей день в программах сжатия данных, таких как PKZIP 2, LZH и др. В основе алгоритма Хаффмана лежит оптимальное префиксное кодирование алфавита. Среди преимуществ данного алгоритма можно выделить относительную простоту реализации и прекрасную степень сжатия файлов, в которых частоты появления символов отличаются. Если к алгоритму Хаффмана добавить симметричное шифрование, то мы получим шифратор/дешифратор данных со сжатием.
Алгоритм Хаффмана
Алгоритм Хаффмана (англ. Huffman's algorithm) — алгоритм оптимального префиксного кодирования алфавита. Был разработан в 1952 году аспирантом Массачусетского технологического института Дэвидом Хаффманом при написании им курсовой работы. Используется во многих программах сжатия данных, например, PKZIP 2, LZH и др. Алгоритм Хаффмана остаётся всегда оптимальным для алфавитов с более чем двумя символами.
Этот метод кодирования состоит из двух основных этапов:
- Построение оптимального кодового дерева.
- Построение отображения код-символ на основе построенного дерева.
Пусть – алфавит из различных символов, – соответствующий ему набор положительных целых весов. Тогда набор бинарных кодов , где является кодом для символа , такой, что:[pic 8][pic 9][pic 10][pic 11][pic 12][pic 13]
...