Sunteți pe pagina 1din 6

Ministerul Educaţiei Cercetării al Republicii Moldova

CENTRU DE EXCELENŢĂ ÎN ENERGETICA ŞI ELECTRONICĂ

din CHIŞINĂU

CATEDRA “SISTEME INFORMAȚIONALE”

LUCRARE DE LABORATOR Nr.1


La obiectul :“ Asistenta si securitatea informatiei”

A efectuat eleva gr. RC-0318 Arapan Alexandru

A verificat profesorul Sisan Petru

Chișinău 2022
Lucrare de laborator nr.1
Criptarea ca metoda de securitatea a informatiilor
Scopul lucrarii:
Intelegerea si familiarizarea cu tehnica de criptare prin cheie secreta.Realizarea criptarii si decriptarii
mesajelor folosind metoda cifrului lui Cezar/Vernam/Vigenere.

Mersul lucrarii:

1.Teorie

2.Programul executat la alegere.

1. Aspecte teoretice:
O variantă mai nouă a cifrului Vigenere peste un alfabet binar, este cifrul Vernam care se
diferenţiază prin cheia de cifrare, care este reprezentată de o secvenţă de caractere aleatoare care
nu se repetă.
Fie M=m1m2…mn un mesaj clar binar şi K=k1k2…kn un şir binar care reprezintă cheia.
Criptograma C = Ek (M) = c1c2…cn se obţine determinând fiecare caracter ci astfel : Ci =
(mi+ki) (mod n), i=1, 2, … ,n .
Utilizarea o singură dată a cheii ne dă un exemplu de criptosistem care face ca mesajul să fie
foarte rezistent la criptanaliză, practic imposibil de spart; textul clar este o secvenţă finită de biţi,
să zicem cel mult 20. Cheia este şi ea o secvenţa de 20 de biţi. Ea este utilizată atât pentru
criptare, cât şi pentru decriptare şi este comunicată receptorului printr-un canal sigur. Să luăm
cheia
11010100001100010010;
un text clar, să zicem 010001101011, este criptat prin sumare bit cu bit cu biţii cheii, pornind cu
începutul acesteia.
11010100001100010010 ⊕
010001101011
100100101000
Deci criptotextul este 100100101000. Acesta nu dă informaţii criptanalistului, deoarece el nu
ştie nici ce biţi vin din textul clar, nici care au fost schimbaţi de către cheie. Aici este esenţial
faptul că o cheie este folosită o singură dată, altfel, un text clar anterior împreună cu criptotextul
corespunzător oferă posibilitatea aflării cheii sau cel puţin prefixul ei.
Dezavantajul evident al acestei tehnici este gestionarea dificilă a cheilor. Cheia, cel puţin la fel
de lungă ca şi textul clar, trebuie comunicată printr-un canal sigur. Aceste cifruri au o largă
utilizare în comunicaţiile diplomatice şi militare.

2. #include "stdafx.h"

#include<iostream>

#include<string>
using namespace std;

class vernam

public:

string s, k;

char enc[1000], dec[1000];

vernam(string a, string b)

s = a;

k = b;

void encrypt()

int i, j = 0;

for (i = 0; i<s.size(); i++)

enc[i] = s[i] ^ k[j];

j++;

if (j >= k.size())

j = 0;

}
}

void decrypt()

int i, j = 0;

for (i = 0; i<s.size(); i++)

dec[i] = enc[i] ^ k[j];

j++;

if (j >= k.size())

j = 0;

void printenc()

int i;

char c;

for (i = 0; i<s.size(); i++)

c = enc[i] % 74 + 48;

cout << c;

}
cout << endl;

void printdec()

int i;

for (i = 0; i<s.size(); i++)

cout << dec[i];

cout << endl;

};

int main()

string s, k;

cout << "Introduceti textul: " << endl;

cin >> s;

cout << "Introduceti cheia: " << endl;

cin >> k;

vernam v(s, k);

v.encrypt();

cout << "Mesajul criptat : ";

v.printenc();
cout << endl;

v.decrypt();

cout << "Mesajul decriptat : ";

v.printdec();

system("pause");

alecsand

S-ar putea să vă placă și