Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Алгоритм шифрування було виконано на мові програмування С++. Задля простоти було взято маленький ключ (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;
} “

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




Поделиться с друзьями:


Дата добавления: 2015-07-13; Просмотров: 250; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.