Вы находитесь на странице: 1из 8

UNIVERSITATEA TEHNICA A MOLDOVEI

Facultatea Calculatoare, Informatica ș Microelectronică

Departamentul Informatică și Ingineria Sistemelor

RAPORT
Lucrarea de laborator nr.1
La Securitatea Informațională

A efectuat:
st. gr. IA-192 O. Goncearova

A verificat: Struna V.
Chișinău-2021
Лабораторная работа №1
Тема: Шифрование как метод защиты информации
Цель работы: Накопление практических навыков разработки и программирования алгоритмов
симметричное шифрование с использованием подстановочных шифров.
Задания:
 понимание и знакомство с техникой шифрования секретного ключа;
 шифрование и дешифрование сообщений с использованием метода шифрования Цезаря;
 выполнение шифрования и дешифрования сообщений с использованием метода шифрования
Виженера;
 шифрование и дешифрование сообщений с использованием метода шифрования Вернама.

Ход работы:
Что изучает наука криптология
Мировая практика выработала три основных способа защиты информации:

 физическая защита;
 стенографическая защита;
 криптографическая защита.

Физическая защита
Сущность метода заключается в создании надежного канала связи. Как правило, речь идет о
защите материального носителя (бумаги, магнитного диска или флэш-карты). Каналом связи в
различные периоды истории являлись секретные курьеры, почтовые голуби или
засекреченные радиочастоты. Этот метод используется и в современных автоматизированных
системах обработки данных: для них создают условия изоляции и охраны.

Стенографическая защита
Защита подразумевает не только физическую маскировку и изоляцию носителя, но и попытку
скрыть сам факт существования информации, которая интересует противника. Как правило,
секретную информацию прячут на видном месте среди незасекреченных данных.

С развитием информационных технологий кардинально изменились или усложнились


стенографические методы. Например: секретное сообщение может быть спрятано в файле с
графическим изображением, где младший бит в описании пикселей заменяется битом
сообщения.

Криптографическая защита
Наиболее надежный и современный способ защиты. Чтобы скрыть информацию от
противника, данные проходят специальное преобразование.
Шифрование методом Цезаря

Код программы:
#include <iostream>
#include <cstring>
using namespace std;

int main()
{
setlocale(0,"RUS");

char buff[50] = {0};

cout<<"Введите пожалуйста текс!!"<<endl;


cin>>buff;

for(int i = 0;i < strlen(buff); i++)


buff[i] += 3;
cout<<buff<<endl;

cout<<"Decode: "<<endl;
for(int i = 0;i < strlen(buff); i++)
buff[i] -= 3;
cout<<buff<<endl;

system("pause");
return 0;
}

Работа программы:
Шифрование методом Виженера

Код программы:
#include<iostream>
#include<string.h>

using namespace std;

int main(){
setlocale(0,"RUS");
char msg[] = "PAROLAMEA";
char key[] = "BEC";
int msgLen = strlen(msg), keyLen = strlen(key), i, j;

char newKey[msgLen], encryptedMsg[msgLen], decryptedMsg[msgLen];

//generating new key


for(i = 0, j = 0; i < msgLen; ++i, ++j){
if(j == keyLen)
j = 0;

newKey[i] = key[j];
}

newKey[i] = '\0';

//encryption
for(i = 0; i < msgLen; ++i)
encryptedMsg[i] = ((msg[i] + newKey[i]) % 26) + 'A';
encryptedMsg[i] = '\0';

//decryption
for(i = 0; i < msgLen; ++i)
decryptedMsg[i] = (((encryptedMsg[i] - newKey[i]) + 26) % 26) +
'A';

decryptedMsg[i] = '\0';

cout<<"Èñõîäíûé òåêñò: "<<msg;


cout<<"\nÊëþ÷: "<<key;
cout<<"\nÇàøèôðîâàííûé òåêñò: "<<encryptedMsg;
cout<<"\nÐàñøèôðîâàííûé òåêñò: "<<decryptedMsg;

return 0;
}
Работа программы:

Шифрование методом Вернама

Код программы:
#include<iostream>
#include <conio.h>
using namespace std;
char array[26][26];
char text[22],key[22],encrypted_Text[22],decrypted_Text[22];
int findRow(char);
int findColumn(char);
int findDecRow(char,int);
int main()
{
setlocale(0,"RUS");
int i=0,j,k,r,c;
k=96;
for (i=0;i<26;i++)
{
k++;
for (j=0;j<26;j++)
{
array[i][j]=k++;
if(k==123)
k=97;
}
}
cout << "Ââåäèòå òåêñò:"<<endl;
cin >> text;
cout << "Ââåäèòå êëþ÷:"<<endl;
cin >> key;

for (i=0;key[i]!=NULL;i++)
{
c=findRow(key[i]);
r=findColumn(text[i]);
encrypted_Text[i]=array[r][c];
}
encrypted_Text[i]='\0';
cout << "Çàøèôðîâàííûé òåêñò :"<<endl;
cout <<encrypted_Text<<endl;
for (i=0;key[i]!=NULL;i++)
{
c=findColumn(key[i]);
r=findDecRow(encrypted_Text[i],c);
decrypted_Text[i]=array[r][0];
}
decrypted_Text[i]='\0';
cout << "Äåøèôðîâàííûé òåêñò:"<<endl;
cout << decrypted_Text<<endl;
getch();
return(0);
}
int findRow(char c)
{
int i;
for (i=0;i<26;i++)
{
if(array[0][i]==c)
return(i);
}
return 0;
}
int findColumn(char c)
{
int i;
for (i=0;i<26;i++)
{
if(array[i][0]==c)
return(i);
}
return 0;
}
int findDecRow(char c,int j)
{
int i;
for (i=0;i<26;i++)
{
if(array[i][j]==c)
return(i);
}
return 0;
}
Работа программы:
Вывод:
Криптология – наука, изучающая системы шифрования. С их помощью пользователи могут
засекретить сообщения, используя одну из сотен известных миру комбинаций. Это необходимо для
того, чтобы скрыть данные от публичного просмотра.
Впервые технологию стали применять ещё в древнем Риме. С развитием письменности и
математических наук начали использоваться алгоритмы, поспособствовавшие появлению новых
видов зашифровок. Используется система защиты информации в следующих целях:
 создание головоломок;
 засекречивание документов и переговоров;
 противодействие похищению данных при переписке.
Широко системы криптографии применяются специальными и разведывательными службами стран.
Они при помощи собственных алгоритмов передают стратегически важную информацию.
Вторые, для кого востребовано шифрование текста — это коммерческие структуры. Ведение
переговоров и разработки проектов часто на начальных стадиях скрываются при помощи
шифраторов от конкурентов.
Последняя группа пользователей — это обычные граждане. Не запрещается на законодательном
уровне проводить зашифровку собственных писем при помощи доступных кодировок. Мессенджеры
используют алгоритмы с созданными ключами для защиты передачи информации между
пользователями.