Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
3
Добавлен:
27.01.2022
Размер:
25.43 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ

КЫРГЫЗСКОЙ РЕСПУБЛИКИ

КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. И. РАЗЗАКОВА

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

КАФЕДРА «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА»

Отчет

По защите информации

Лабораторная работа 3

Бишкек 2019

Гаммирование с использованием генератора Фибоначчи:

#include<iostream>

#include<cmath>

#include<bitset>

#include<climits>

using namespace std;

int main() {

setlocale(0, "");

string txt = "лето";

int kl[100];

kl[0] = 1;

kl[1] = 1;

bitset<CHAR_BIT>bin[100];

bitset<CHAR_BIT>K[100];

bitset<CHAR_BIT>ST[100];

bitset<CHAR_BIT>RM[100];

//Перевод в двоичный код

for (int i = 0; i < txt.length(); i++) {

bin[i] = txt[i];

cout << bin[i] << " ";

}

cout << endl;

//Получение ключа

K[0] = kl[0];

K[1] = kl[1];

for (int i = 2; i < txt.length(); i++) {

kl[i] = (kl[i - 2] + kl[i - 1]) % 33;

K[i] = kl[i];

}

for (int i = 0; i < txt.length(); i++) {

cout << K[i] << " ";

}

cout << endl;

//Гаммирование

for (int i = 0; i < txt.length(); i++) {

ST[i] = bin[i] ^ K[i];

cout << ST[i] << " ";

}

cout << "\n\n //////////////////////////////////////////////////////////////////////////// \n\n";

//Расшифровка

for (int i = 0; i < txt.length(); i++) {

RM[i] = ST[i] ^ K[i];

cout << RM[i] << " ";

}

cout << endl;

for (int i = 0; i < txt.length(); i++) {

cout << char(RM[i].to_ulong());

}

cout << endl;

system("pause");

}

Соседние файлы в папке Защита Информации