Организация криптозащищенного обмена информацией на основе протокола PGP

Курсовой проект - Компьютеры, программирование

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

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

 

b.Используемые модули

 

В данном программном средстве был использован класс GZip для архивирования и разархивирования файлов. Также был написан модуль асимметричного и симметричного шифрования Form1.cs, осуществляющий шифрование и дешифрование данных. Основные процедуры и функции модуля Form1.cs:

Асимметричное шифрование:

  • public void GenPosl(ref int[] bb, int x, ref int ww, ref int mm, ref int rrr). Генерация супервозрастающей последовательности bb по начальному значению x. Результат выполнения - массив, содержащий супервозрастающую последовательность;
  • public bool fileRanecCode(string fname, string newfname). Шифрование файла fname. Результат выполнения - зашифрованный файл;
  • public bool fileRanecDecode(string fname, string newfname) Расшифровка файла. Результат выполнения - расшифрованный файл;
  • - Симметричное шифрование:
  • private bool WriteToFileS(string fname, byte[][] m). Запись массива S симметричного алгоритма в файл;
  • private bool ReadFromFileS(string fname,ref byte[][] m). Чтение массива S симметричного алгоритма из файла;
  • private void OperationR(ref byte[][] x). Выполнение операции R (транспонирование матрицы) алгоритма;
  • private void OperationQ(ref byte[][] x). Выполнение операции Q (умножение исходной матрицы на фиксированную матрицу H) алгоритма;
  • private void OperationU(byte[][] keyY, ref byte[][] x). Выполнение операции U (XOR) алгоритма;
  • private void GetSubkey(string key, int n, ref byte[][] keyY). Выделение подключа раунда.
  • private void CodeFile(string fname, string newfname, string key). Кодирование файла с использованием ключа key. Результат выполнения - зашифрованный файл;
  • private void DeCodeFile(string fname, string newfname, string key). Декодирование файла с использованием ключа key. Результат выполнения - расшифрованный файл;

 

c.Пример работы программы

 

Пусть необходимо зашифровать файл cat.jpg.

 

 

Для этого пользователь в поле Исходный файл вводит cat.jpg, а в строке Ключ вводит произвольное число символов ключа.

 

 

После произведенных операций необходимо нажать кнопку Отправить. Результатом данных операций служит создание в папке программы файлов:

key.txt - файл, содержащий чистый ключ алгоритма Anubis;

key.txt.code.txt - файл, содержащий ключ алгоритма Anubis, закодированный рюкзачным методом;

cat.jpg.gz - заархивированный файл;

cat.jpg.gz.transfer - заархивированный файл, прошедший кодирование алгоритмом Anubis.

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

cat.jpg.res.gz - файл после декодирования алгоритмом Anubis;

key.txt.res.txt - файл, содержащий ключ алгоритма Anubis, декодированный рюкзачным методом;

cat.jpg.res.jpg - исходный файл, декодированный алгоритмом Anubis.

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

 

 

информация шифр архивирование последовательность

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

 

ЗАКЛЮЧЕНИЕ

 

В данной работе были изучены рюкзачный алгоритм (асимметричный) и симметричный алгоритм шифрования Anubis. Рассмотрены математические принципы, лежащие в основе каждого. Алгоритм Anubis основан на перестановках с использованием таблиц, а рюкзачный алгоритм - на выборе взаимно простых чисел и генерации супервозрастающей последовательности. Итогом данной работы является разработанное программное средство, использующее оба алгоритма для безопасной передачи информации.

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

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

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

 

  1. Современная криптография [Электронный ресурс] URL:
  2. Блог о шифровании [Электронный ресурс] URL:
  3. Панасенко С.П. Алгоритмы шифрования, Санкт-Петербург: Изд-во БХВ- Петербург, 2009 УДК 681.3.06

ПРИЛОЖЕНИЕ А. ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА ПРОГРАММНОЕ СРЕДСТВО

 

П.А.1 Введение

П.А.1.1 Наименование программы

Организация криптозащищенного обмена информацией на основе протокола PGP.

П.А.1.2 Область применения

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

П.А.1.3 Объект внедрения

Кафедра ПОВТ и АС, ДГТУ, г. Ростова-на-Дону.

П.А.2 Основания для разработки

Разработка проводится на основании задания на курсовую работу, для студентов факультета Информатики и Вычислительной Техники (ИиВТ) Донского Государственного Технического Университета (ДГТУ) по направлению Программное обеспечение вычислительной техники и автоматизированных систем (ПОВТ и АС), обучающихся по специальности 090102 Компьютерная безопасность.

Наименование темы разработки: Организация криптозащищенного обмена информацией на основе протокола PGP.

П.А.3 Назначение разработки

П.А.3.1Функциональное назначение

Шифрование и дешифрование сообщений с архивацией.

П.А.3.2 Эксплуатационное назначение

Применение в системах защищенной пере