Добавил:
донатики - https://qiwi.com/n/1ZOMBIE1 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / ЯП_Курсовая_БунинаАВ.docx
Скачиваний:
11
Добавлен:
11.12.2022
Размер:
1.09 Mб
Скачать

РЕФЕРАТ

Данный текстовый документ имеет объем 52 страницы и включает в себя 23 рисунка, 3 таблицы, 2 приложения, 10 библиографических источников.

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

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

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

При создании программного продукта с локальной архитектурой применялись современные средства разработки GUI-приложений.

ABSTRACT

This text document has a volume of 52 pages and includes 23 figures, 3 tables, 2 appendices, 10 bibliographic sources.

Keywords: decryption programs, encrypted file, cryptography, simple permutation, Gronsfeld decryption, Vigener decryption.

The purpose of the course work is to create a program in C# for decrypting an encrypted text file using the methods of Vigener and Gronsfeld.

The software product is designed to decrypt an encrypted file using the methods of Vigener and Gronsfeld.

When creating a software product with a local architecture, modern GUI application development tools were used.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 5

1 Техническое задание 6

1.1 Основание для разработки 6

1.2 Назначение разработки 6

1.3 Требования к программе или программному изделию 6

1.3.1 Описание предметной области 6

1.3.2 Требования к функциональным характеристикам 7

1.3.3 Требования к входным и выходным данным 8

1.3.4 Требования пользователя к интерфейсу 8

1.3.5 Требования к надежности 8

1.3.6 Условия эксплуатации 9

1.3.7 Требования к составу и параметрам технических средств 9

1.3.8 Требования к информационной и программной совместимости 9

1.4 Требования к программной документации 9

1.5 Стадии и этапы разработки 10

1.6 Порядок контроля и приемки 10

2 Технический проект 11

2.1 Описание функционала разрабатываемого проекта 11

2.2 Шифры 11

2.3 Разработка программного интерфейса 13

2.3.1 Описание алгоритма решения задачи 14

2.4 Описание функций, используемых системой 15

2.4.1 Описание функции «выбор загружаемого файла из системы» 16

2.4.2 Описание функции «сохранение промежуточных результатов» 16

2.4.3 Описание функции «ввод ключа дешифровки» 16

2.4.4 Описание функции «вывод информации о дешифровании» 17

2.4.5 Описание функции «вывод информации о возникающих ошибках» 17

3 Рабочий проект 19

3.1 Модули и объекты интерфейса пользователя 20

3.2 Описание объектов интерфейса программы 20

3.3 Тестирование программной системы 23

ЗАКЛЮЧЕНИЕ 36

CПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 38

ПРИЛОЖЕНИЕ А 40

ПРИЛОЖЕНИЕ Б 53

ВВЕДЕНИЕ

Целью курсовой работы является создание на языке C# программы дешифрования, зашифрованного текстового файла методами Виженера и Гронсфельда.

Для достижения поставленной цели необходимо решить следующие задачи:

  1. Разработка архитектуры приложения.

  2. Разработка интерфейса приложения.

  3. Разработка алгоритмов дешифрования методами Гронсфельда и Виженера.

  4. Реализация функции загрузки исходного файла и сохранения итогового результата.

  5. Реализация функции вывода полученного результата на экран.

Основные результаты. В ходе разработки получены следующие результаты:

  1. Разработан интерфейс программы (форма заставки, форма главного меню, форма для дешифрования зашифрованного файла).

  2. Реализован переход между формами.

  3. Реализована проверка входных данных.

  4. Реализована возможность загрузки исходного зашифрованного текста из файла.

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

  6. Реализовано сохранение промежуточных и конечных результатов дешифрования в отдельный файл.

  7. Реализован вывод результатов дешифрования в окне программы.

1 Техническое задание

    1. Основание для разработки

Основанием для разработки программного продукта служит задание по курсовой работе по дисциплине «Языки программирования».

    1. Назначение разработки

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

    1. Требования к программе или программному изделию

      1. Описание предметной области

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

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

Шифр Гронсфельда. Этот шифр сложной замены, называемый шифром Гронсфельда, представляет собой модификацию шифра Цезаря числовым ключом. Для этого под буквами исходного сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифры сложной замены называют многоалфавитными, так как для шифрования каждого символа исходного сообщения применяют свой шифр простой замены. Многоалфавитная подстановка последовательно и циклически меняет используемые алфавиты в соответствии с Рисунок 1.

Рисунок 1 - Шифрование методом Гронсфельда

Шифр Виженера — метод полиалфавитного шифрования буквенного текста с использованием ключевого слова. Человек, отправляющий сообщение, выбирает ключевое слово и повторяет его до тех пор, пока длина не совпадет с открытым текстом Шифр Виженера. Каждая строка начинается с ключевой буквы. Остальная часть строки содержит буквы от A до Я (в порядке смещения). Этот метод является простой формой многоалфавитной замены. На Рисунок 2 показан «квадрат» Виженера, который облегчает процесс шифрования/дешифровки [2].

Рисунок 2 - «Квадрат» Виженера

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

      1. Требования к функциональным характеристикам

Программный продукт предназначен для одного пользователя.

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

  1. Пользователь может выбирать загружаемый файл из системы.

  2. Пользователь может сохранять промежуточные результаты в файлы.

  3. Пользователь может вводить код дешифровки.

  4. Информация о дешифровании должна быть выведена на экран в виде текстовых сообщений.

  5. Информация о возникающих ошибках должна быть выведена на экран в виде сообщений.

      1. Требования к входным и выходным данным

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

  • текстовый документ формата .txt.

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

  • текстовые документы формата .txt.

      1. Требования пользователя к интерфейсу

В программе должны присутствовать следующие элементы:

  1. Заставочная форма.

  2. Главное окно программы.

  3. Диалоговое окно выбора зашифрованного файла [1].

      1. Требования к надежности

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

      1. Условия эксплуатации

Программное изделие должно эксплуатироваться на персональном компьютере пользователя под управлением операционной системы Windows.

      1. Требования к составу и параметрам технических средств

Для работы приложения необходимо дисковое пространство не менее 14 Мб, свободная оперативная память в размере не менее 512 Мб, видеокарта с не менее 256 Мб видеопамяти, разрешение экрана не менее 1024*768, клавиатура, мышь.

      1. Требования к информационной и программной совместимости

Для разработки программного продукта необходимы использовать:

  • язык С# – для разработки клиентского приложения;

  • Microsoft Visual Studio не ниже версии 2017 – для компиляции кода программы.

Программное изделие должно работать в операционных системах Windows с установленным .NET Framework версии не ниже 4.6.1. Для переноса программы не должны требоваться специальные аппаратные и программные средства [4].

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

    1. Требования к программной документации

Разработка программной документации и программного изделия должна производиться согласно СТУ 04.02.030–2017 «Курсовые работы (проекты). Выпускные квалификационные работы. Общие требования к структуре и оформлению» ЮЗГУ, ГОСТ 19.001-77, ГОСТ Р 7.0.100–2018.

    1. Стадии и этапы разработки

Выполнение разработки должно включать три стадии:

  • техническое задание;

  • технический проект;

  • рабочий проект.

На стадии «Техническое задание» проводится постановка задачи, анализ данной предметной области, разработка требований к программному изделию, изучение литературы по задаче и оформление документа «Техническое задание».

На стадии «Технический проект» проводится проектирование программной системы. В заключение данного этапа оформляется документ «Технический проект».

На стадии «Рабочий проект» проводится реализация программной системы. В заключение данного этапа оформляется документ «Рабочий проект» [3].