Защита Информации / зи лб 3
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ
КЫРГЫЗСКОЙ РЕСПУБЛИКИ
КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. И. РАЗЗАКОВА
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА»
Отчет
По защите информации
Лабораторная работа 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");
}