Текст программы шифрования и расшифрования приведен в приложении Г.
Данная программа написана с использованием языка программирования С.
В главной функции объявляется таблица Виженера при помощи двумерного массива alfavit[27][27].
В этой функции осуществляется вызов функции шифрования.
Для вывода сообщений на экран используются функции printf() и puts(). А для ввода данных используются функции scanf() и cin().
Для организации циклов в этих функциях используются операторы с предусловием while и с параметрическим циклом for.
3. Экспериментальная проверка работы программы
Для проверки работы программы, выполняющей шифрование по таблице Виженера возьмем, например слово «welcome», а ключевым символом будет являться, например символ «a».
После шифрования был получен следующий шифротекст:«wapnqaq»
Для проверки работы программы расшифрования по таблице Виженера возьмём этот же шифротекст «wapnqaq» при этом ключевым символом должен являться символ «a». При расшифровки получим первоначальный текст «welcome».
Заключение
В результате выполнения курсового проекта была разработана программа, реализующая криптографический алгоритм шифрования и расшифрования с использованием открытого текста в качестве ключа по таблице Виженера. Разработанная программа написана на языке Си.
Также была выполнена экспериментальная проверка работы данной программы, подтверждающая правильность шифрования.
В завершении работы была оформлена пояснительная записка, содержащая описание разработки программы, осуществляющей по таблице Виженера.
Таким образом, задание на курсовую работу выполнено в полном объеме.
Список использованных источников
1. Керниган Б., Ритчи Д. Язык программирования Си.\Пер. с англ., 3-е изд., испр – СПб.: «Невский Диалект», 2001. – 352с.:ил.
2. Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии: Учебное пособие. – М.: Гелиос АРВ, 2001. – 480 с.
3. Основы криптологии. Шифры замены. Методические указания к практическим занятиям по дисциплине «Основы криптологии». / Составители М.М. Грунтович, С.М. Геращенко – Пенза: Пензен. госуд. ун‑т, 2005.
4. Информатика: Базовый курс \ С.В. Симонович и др. – СПб,: Питер,2001. – 640 с.
ПРИЛОЖЕНИЕ А
Алгоритм программы шифрования и расшифрования
ПРИЛОЖЕНИЕ В
Алгоритм функции расшифрования
ПРИЛОЖЕНИЕ Г
Листинг программы шифрования и расшифрования
#include <stdio.h>
#include <string.h>
#include <iostream.h>
#include <stdlib.h>
void main()
{int b;
int f;
int z2;
int z1;
int y;
int y1;
char x1[20]={0};
char x2;
char x3[20]={0};
char x5[20]={0};
char filename[40];
FILE*text;
int r=0;
char c;
int i;
int i1;
int j;
int j1;
char t1[20]={0};
char t2;
char t5[20];
static char alfavit[27][27]={
{' ','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'},
{'a','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'},
{'b','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a'},
{'c','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b'},
{'d','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c'},
{'e','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c','d'},
{'f','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c','d','e'},
{'g','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c','d','e','f'},
{'h','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c','d','e','f','g'},
{'i','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c','d','e','f','g','h'},
{'j','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c','d','e','f','g','h','i'},