- •Факультет прикладной математики и телекоммуникаций
- •Реализация криптоалгоритмов замены (подстановка Цезаря и Аффинная подстановка Цезаря)
- •Тпжа.12214-01 81 01 пз
- •Реферат
- •Содержание
- •Введение
- •Обзор и анализ систем шифрования с открытым ключом
- •3. Криптоалгоритмы замены
- •Применение криптоалгоритмов замены
- •Результаты работы программы
- •Заключение
- •Кафедра радиоэлектронных средств
- •Реализация криптоалгоритмов замены (подстановка Цезаря и Аффинная подстановка Цезаря) Описание программы
- •Кафедра радиоэлектронных средств Утверждён:
- •Реализация криптоалгоритмов замены (подстановка Цезаря и Аффинная подстановка Цезаря)
- •Аннотация
- •Содержание
- •Выходные данные
- •Описание логической структуры
- •Состав программного модуля
- •Кафедра радиоэлектронных средств
- •Реализация криптоалгоритмов замены (подстановка Цезаря и Аффинная подстановка Цезаря)
- •Кафедра радиоэлектронных средств Утверждён:
- •Реализация криптоалгоритмов замены (подстановка Цезаря и Аффинная подстановка Цезаря)
- •Аннотация
- •Содержание
- •Работа с программой
- •Приложение в Библиографический список
Выходные данные
Выходные данные представлены в Таблице А.2.
Таблица А.2 – Выходные данные
Тип |
Идентификатор |
Назначение |
Диапазон |
int |
a^-1 |
Обратное значение а по модулю 68 |
3…61 |
str |
Str11, str22 |
Зашифрованный текст/ Открытый текст |
1031 знаков |
Описание логической структуры
После загрузки файла «Shifr.exe» появляться главная форма модуля Form1, которая содержит 2 вкладки: «Подстановка Цезаря» и «Аффинная подстановка».
Вкладка «подстановка Цезаря» содержит 3 окна: для введения открытого текста (в случае зашифрования) или зашифрованного текста (в случае расшифрования) и ключа, а также кнопки: «Зашифрование», «Расшифрование», «Сохранить», «Открыть».
В первом случае, при нажатии кнопки «Зашифрование» запускается алгоритм подстановки Цезаря, и программа выводит зашифрованные текст. Во втором случае, при нажатии кнопки «Расшифрование» запускается алгоритм расшифрования подстановки Цезаря, и программа выводит открытый текст. При нажатии кнопки «Сохранить» результаты работы программы сохраняются в файл. При нажатии кнопки «Открыть» входные данные берутся из указанного файла.
Вкладка «Аффинная подстановка» содержит 3 окна: для введения открытого текста (в случае зашифрования) или зашифрованного текста (в случае расшифрования) и элемента ключа (b), а также выпадающий список для выбора элемента ключа а. Вкладка содержит кнопки: «Зашифрование», «Расшифрование», «Сохранить», «Открыть».
В первом случае, при нажатии кнопки «Зашифрование» запускается алгоритм Аффинной подстановки Цезаря, и программа выводит зашифрованные текст. Во втором случае, при нажатии кнопки «Расшифрование» запускается алгоритм расшифрования Аффинной подстановки Цезаря, и программа выводит открытый текст и высчитывает значение а-1. При нажатии кнопки «Сохранить» результаты работы программы сохраняются в файл. При нажатии кнопки «Открыть» входные данные берутся из указанного файла.
Обе вкладки содержат кнопки: «Справка» и «Просмотр алфавита». При нажатии кнопки «Справка» выводится инструкция пользователя с подробным описанием использования программы и основными формулами. При нажатии кнопки «Просмотр алфавита» пользователь может просмотреть используемый алфавит.
Это приложение Shifr создано автоматически с помощью
мастера приложений.
Состав программного модуля
Данная программа
содержит 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) – функция для построения таблицы алфавита.
Приложение Б
(обязательное)
Государственное образовательное учреждение
высшего профессионального образования
ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ И ТЕЛЕКОММУНИКАЦИЙ
