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

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

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

lic 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. Результат выполнения - расшифрованный файл.

Рисунок 6. Общая схема работы программного средства

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

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

Рисунок 7 - Просмотр исходного файла cat.jpg

 

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

Рисунок 8. Пример заполнения полей

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

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.

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

 

Рисунок 9. Просмотр декодированного файла

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

 

ЗАКЛЮЧЕНИЕ

 

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

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

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

 

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

 

. Современная криптография [Электронный ресурс] URL:

. Блог о шифровании [Электронный ресурс] URL:

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