Студопедия

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

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

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






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






    Алгоритм шифрування було виконано на мові програмування С++. Задля простоти було взято маленький ключ (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 :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.