Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekateriny_Zolotukhinoy.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
734.21 Кб
Скачать
  1. Выходные данные

Выходные данные представлены в Таблице А.2.

Таблица А.2 – Выходные данные

Тип

Идентификатор

Назначение

Диапазон

int

a^-1

Обратное значение а по модулю 68

3…61

str

Str11, str22

Зашифрованный текст/ Открытый текст

1031 знаков

  1. Описание логической структуры

После загрузки файла «Shifr.exe» появляться главная форма модуля Form1, которая содержит 2 вкладки: «Подстановка Цезаря» и «Аффинная подстановка».

Вкладка «подстановка Цезаря» содержит 3 окна: для введения открытого текста (в случае зашифрования) или зашифрованного текста (в случае расшифрования) и ключа, а также кнопки: «Зашифрование», «Расшифрование», «Сохранить», «Открыть».

В первом случае, при нажатии кнопки «Зашифрование» запускается алгоритм подстановки Цезаря, и программа выводит зашифрованные текст. Во втором случае, при нажатии кнопки «Расшифрование» запускается алгоритм расшифрования подстановки Цезаря, и программа выводит открытый текст. При нажатии кнопки «Сохранить» результаты работы программы сохраняются в файл. При нажатии кнопки «Открыть» входные данные берутся из указанного файла.

Вкладка «Аффинная подстановка» содержит 3 окна: для введения открытого текста (в случае зашифрования) или зашифрованного текста (в случае расшифрования) и элемента ключа (b), а также выпадающий список для выбора элемента ключа а. Вкладка содержит кнопки: «Зашифрование», «Расшифрование», «Сохранить», «Открыть».

В первом случае, при нажатии кнопки «Зашифрование» запускается алгоритм Аффинной подстановки Цезаря, и программа выводит зашифрованные текст. Во втором случае, при нажатии кнопки «Расшифрование» запускается алгоритм расшифрования Аффинной подстановки Цезаря, и программа выводит открытый текст и высчитывает значение а-1. При нажатии кнопки «Сохранить» результаты работы программы сохраняются в файл. При нажатии кнопки «Открыть» входные данные берутся из указанного файла.

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

Это приложение Shifr создано автоматически с помощью

мастера приложений.

  1. Состав программного модуля

Данная программа содержит 3 модуля: Form1.h, Form2.h, Form3.h в которых использовано 16 функций.Название функций и их краткое описание представлены ниже.

Form1.h

void ShifrC() – функция зашифрование по алгоритму Цезаря;

void DeshifrC() – функция расшифрование подстановки Цезаря;

Void button3_Click(System::Object^ sender, System::EventArgs^ e) – функция сохранения в файл открытого текста (для подстановки Цезаря);

Void button6_Click(System::Object^ sender, System::EventArgs^ e) – функция чтения из файла открытого текста (для подстановки Цезаря);

Void button5_Click(System::Object^ sender, System::EventArgs^ e) – функция сохранения в файл зашифрованного текста (для подстановки Цезаря);

Void button6_Click(System::Object^ sender, System::EventArgs^ e) – функция чтения из файла зашифрованного текста (для подстановки Цезаря);

void ShifrA() – функция зашифрование по Аффинному алгоритму Цезаря;

Void button8_Click(System::Object^ sender, System::EventArgs^ e) – функция сохранения в файл открытого текста (для Аффинной подстановки Цезаря);

Void button9_Click(System::Object^ sender, System::EventArgs^ e) – функция чтения из файла открытого текста (для Аффинной подстановки Цезаря);

Void button11_Click(System::Object^ sender, System::EventArgs^ e) – функция сохранения в файл открытого текста (для Аффинной подстановки Цезаря);

Void button12_Click(System::Object^ sender, System::EventArgs^ e) – функция чтения из файла открытого текста (для Аффинной подстановки Цезаря);

void extended_euclid(long a, long b, long *x, long *y, long *d) – функция, вызывающая обобщенный алгоритм Евклида;

long inverse(long a, long n) – функция, инверсия для вызова обобщенного алгоритма Евклида;

void DeshifrA()–функция расшифрование Аффинной подстановки Цезаря.

Form2.h

Void Form2_Shown(System::Object^ sender, System::EventArgs^ e) – функция для построения таблицы алфавита.

Приложение Б

(обязательное)

Государственное образовательное учреждение

высшего профессионального образования

ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ И ТЕЛЕКОММУНИКАЦИЙ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]