Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Експериментальна частина: новий алгоритм шифрування






Алгоритм шифрування було виконано на мові програмування С++. Задля простоти було взято маленький ключ (3) і повідомлення, що складажться з одної букви (к). Використано англійський алфавіт і кодування в такому вигляді: a=1, b=2, c=3, d=4, e=5, f=6, g=7, h=8, i=9, j=10, k=11, l=12, m=13, n=14, o=15, p=16, q=17, r=18, s=19, t=20, u=21, v=22, w=23, x=24, y=25, z=26. При виконанні програми отримуємо командний рядок, в який по запиту вводимо ключ (3), по новому запиту вводимо повідомлення, яке потрібно зашифрувати і отримуємо зашифроване повідомлення у вигляді цифр (8, 17, 11).

При виконанні програми дешифровки по запиту вводимо ключ (3), по новому запиту вводимо шифр у вигляді цифр (8, 17, 11) і отримуємо розшифроване повідомлення «к».

Далі будуть представлені Screenshot-и виконаної роботи, а також текст програми:
Алгоритм шифрування:

“ #include < iostream>

#include < cmath>

#include < cstdlib>

#include < string>

#include < stdlib.h>

#include< time.h>

using namespace std;

int main () {

 

int chislo;

 

int 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; // Ввод переменных

srand(time(NULL));

int ran=rand()%26;

 

srand(time(NULL));

int rano=rand()%27; //Подстановка случайных чисел

a=1, b=2, c=3, d=4, e=5, f=6, g=7, h=8, i=9, j=10, k=11, l=12, m=13, n=14, o=15,

p=16, q=17, r=18, s=19, t=20, u=21, v=22, w=23, x=24, y=25, z=26; // Кодировка каждой буквы алфавита

char text;

cout < < " Vvedite kluch" < < endl; // Вывод на экран сообщения в скобках

cin > > chislo; // Ввод ключа (цифра)

cout < < " (kluch = 3), Vvedite text" < < endl; // Вывод на экран сообщения

cin > > text; // Ввод текста, который нужно зашифровать

 

// Шифровка сообщения ключом " 3":

if (text=='a')

cout < < ran < < ", " < < rano < < ", " < < a < < endl;

else if (text=='b')

cout < < ran < < ", " < < rano < < ", " < < b < < endl;

else if (text=='c')

cout < < ran < < ", " < < rano < < ", " < < c < < endl;

else if (text=='d')

cout < < ran < < ", " < < rano < < ", " < < d < < endl;

else if (text=='e')

cout < < ran < < ", " < < rano < < ", " < < e < < endl;

else if (text=='f')

cout < < ran < < ", " < < rano < < ", " < < f < < endl;

else if (text=='g')

cout < < ran < < ", " < < rano < < ", " < < g < < endl;

else if (text=='h')

cout < < ran < < ", " < < rano < < ", " < < h < < endl;

else if (text=='i')

cout < < ran < < ", " < < rano < < ", " < < i < < endl;

else if (text=='j')

cout < < ran < < ", " < < rano < < ", " < < j < < endl;

else if (text=='k')

cout < < ran < < ", " < < rano < < ", " < < k < < endl;

else if (text=='l')

cout < < ran < < ", " < < rano < < ", " < < l < < endl;

else if (text=='m')

cout < < ran < < ", " < < rano < < ", " < < m < < endl;

else if (text=='n')

cout < < ran < < ", " < < rano < < ", " < < n < < endl;

else if (text=='o')

cout < < ran < < ", " < < rano < < ", " < < o < < endl;

else if (text=='p')

cout < < ran < < ", " < < rano < < ", " < < p < < endl;

else if (text=='q')

cout < < ran < < ", " < < rano < < ", " < < q < < endl;

else if (text=='r')

cout < < ran < < ", " < < rano < < ", " < < r < < endl;

else if (text=='s')

cout < < ran < < ", " < < rano < < ", " < < s < < endl;

else if (text=='t')

cout < < ran < < ", " < < rano < < ", " < < t < < endl;

else if (text=='u')

cout < < ran < < ", " < < rano < < ", " < < u < < endl;

else if (text=='v')

cout < < ran < < ", " < < rano < < ", " < < v < < endl;

else if (text=='w')

cout < < ran < < ", " < < rano < < ", " < < w < < endl;

else if (text=='x')

cout < < ran < < ", " < < rano < < ", " < < x < < endl;

else if (text=='y')

cout < < ran < < ", " < < rano < < ", " < < y < < endl;

else if (text=='z')

cout < < ran < < ", " < < rano < < ", " < < z < < endl;

else

cout < < " Vvedite bykvy" < < endl;

system (" pause");

return 0;

} ”

 

При виконанні програми отримуємо командний рядок, куди вводимо дані, які від нас вимагає програма:

 

Алгоритм дешифрування:

“ #include < iostream>

#include < cmath>

#include < cstdlib>

#include < string>

#include < stdlib.h>

#include< time.h>

using namespace std; // подключение библиотек и стандартов программы С++

int main () {

 

int random1;

int random2;

int kluch;

int chislo; //Ввод переменных

 

cout < < " Vvedite kluch" < < endl; // Вывод на экран сообщения в скобках

cin > > kluch; // Ввод ключа (цифра)

cout < < " Vaw kluch=3, Vvedite tri zifri, kotorymi bylo zashyfrovano vashe soobshenie" < < endl; // Вывод на экран сообщения

 

cin > > random1;

cin > > random2;

cin > > chislo; // Ввод шифра(цифры), который нужно расшифровать

 

 

// Расшифровка закодированного сообщения ключом " 3":

if (chislo==1)

cout < < " Rasshifrovanyi text: a" < < endl;

if (chislo==2)

cout < < " Rasshifrovanyi text: b" < < endl;

if (chislo==3)

cout < < " Rasshifrovanyi text: c" < < endl;

if (chislo==4)

cout < < " Rasshifrovanyi text: d" < < endl;

if (chislo==5)

cout < < " Rasshifrovanyi text: e" < < endl;

if (chislo==6)

cout < < " Rasshifrovanyi text: f" < < endl;

if (chislo==7)

cout < < " Rasshifrovanyi text: g" < < endl;

if (chislo==8)

cout < < " Rasshifrovanyi text: h" < < endl;

if (chislo==9)

cout < < " Rasshifrovanyi text: i" < < endl;

if (chislo==10)

cout < < " Rasshifrovanyi text: j" < < endl;

if (chislo==11)

cout < < " Rasshifrovanyi text: k" < < endl;

if (chislo==12)

cout < < " Rasshifrovanyi text: l" < < endl;

if (chislo==13)

cout < < " Rasshifrovanyi text: m" < < endl;

if (chislo==14)

cout < < " Rasshifrovanyi text: n" < < endl;

if (chislo==15)

cout < < " Rasshifrovanyi text: o" < < endl;

if (chislo==16)

cout < < " Rasshifrovanyi text: p" < < endl;

if (chislo==17)

cout < < " Rasshifrovanyi text: q" < < endl;

if (chislo==18)

cout < < " Rasshifrovanyi text: r" < < endl;

if (chislo==19)

cout < < " Rasshifrovanyi text: s" < < endl;

if (chislo==20)

cout < < " Rasshifrovanyi text: t" < < endl;

if (chislo==21)

cout < < " Rasshifrovanyi text: u" < < endl;

if (chislo==22)

cout < < " Rasshifrovanyi text: v" < < endl;

if (chislo==23)

cout < < " Rasshifrovanyi text: w" < < endl;

if (chislo==24)

cout < < " Rasshifrovanyi text: x" < < endl;

if (chislo==25)

cout < < " Rasshifrovanyi text: y" < < endl;

if (chislo==26)

cout < < " Rasshifrovanyi text: z" < < endl;

 

if (chislo> 26)

cout < < " Vy vveli nevozmognyi kod, perezapystite programmy i vvedite novyi kod" < < endl;

 

else

cout < < " Text rasshifrovano! " < < endl;

 

system (" pause");

return 0;

} “

При виконанні програми отримуємо командний рядок, куди вводимо дані, які від нас вимагає програма:






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.