Sunteți pe pagina 1din 17

Masterat E- Business

Securitatea sistemelor de
E-Business
- Curs 3 -

Introducere în criptografie

Lector. Dr. Ana-Maria Ghiran


anamaria.ghiran@econ.ubbcluj.ro
Cuprins

1. Terminologie

2. Metode de criptare
 Substituția
 Substituția monoalfabetică
 Transpoziția
 Substituția polialfabetică
 One time pad

3. Tipuri de cifruri
 Cifruri bloc
 Cifruri stream
Terminologie

 Criptografie=“scriere secretă”
 Criptanaliză=descifrarea cifrurilor
Criptologie

 Text clar (m)= Mesajele ce trebuie criptate


 Text cifrat (c)= Mesajele trasformate de un algoritm de criptare (E) cu ajutorul
unei chei (K)
 Cheia de criptare/decriptare (K)= Şir de biţi

 Regulă în criptografie: folosirea unor algoritmi testaţi (cantitatea de efort


necesară pentru a inventa, testa, implementa o metodă nouă a făcut să fie
nepractică păstrarea secretă a algoritmului)

 Principiul lui Kerckhoff: algoritmii de criptare/decriptare sunt publici doar cheile


sunt secrete -> lungimea cheii reprezintă cel mai important aspect
Metode de criptare
Substituţie: foloseşte o anumită schemă de substituire a caracterelor
folosind un algoritm ce e cunoscut de emiţător şi destinatar;
ex: cifrul lui Cezar - deplasare 3 litere – impropriu denumit cifru
pentru că nu avem o cheie
A-> D
B->E ....
c=E(m)=(m+3) mod 26,
m=D(c)=(c-3) mod 26
Dezavantaj: poate fi uşor descifrat cu atacuri de tip brute-force,
sau analiza frecvenţei
 Atacurile de tip brute-force: căutare completă a cheii sau
verificarea sistematică a tuturor cheilor posibile: de aici cu cât
avem o cheie mai are va creşte exponenţial spaţiul de căutare
 Analiza frecvenţei:
1) Analiza frecvenţei literelor
2) Analiza frecvenţelor pentru secvenţe de 2 litere în textul cifrat,
a celor de 3 ş.a.m.d

 Ex: reguli pentru criptanaliza textelor în română:


 Cele mai frecvente simboluri corespund vocalelor 'e‘, 'a', sau 'i'
 Dintre consoane cele mai frecvent întâlnite ar fi ‘r’, ‘n’, ‘t’
 'c' este litera cu care încep cele mai multe cuvinte în limba română
 Se începe cu cuvinte scurte de 2 litere care ar corespunde unor
construcţii frecvente în română precum: 'la', 'pe', 'in',
Metode de criptare

Substituţie monoalfabetică: se bazează pe o substituţie


aleatoare a fiecărui caracter cu un alt caracter; ex: tabel de
subtituţie
De asemenea poate fi uşor descifrat cu analiza frecvenţei
caracterelor

Transpoziţie, cunoscută şi sub numele de permutare,


presupune rearanjarea caracterelor : caracterele din mesajul în
clar apar în continuare în mesajul cifrat însă într-o altă ordine
Metode de criptare
Substituţie polialfabetică: foloseşte mai multe alfabete de substituţie
pentru fiecare literă din textul în clar

Exemple: cifrul Alberti, cifrul


Vigenere
- folosesc Tabula recta - un tabel în
care fiecare linie este completată
prin transpoziţia unei litere din
alfabet cu o poziţie

Cifrul Vigenere foloseşte o cheie


pentru alegerea alfabetului folosit

Cifrul Vigenere, prin alegerea


alfabetului în funcţie de o cheie
secretă, elimină analiza simplă a
frecvenţei: punctul slab e natura
repetitivă a cheii
Metode de criptare
Criptanaliza cifrului Vigenere:

 Datorită naturii repetitive a cheii există posibilitatea ca grupuri de


litere din textul în clar să fie codate cu aceeaşi cheie, rezultând
acelaşi text cifrat.
 Pe acest considerent s-a bazat Kasiski (în 1863) care a formulat o
metodă de determinare a lungimii cheii folosite în cifrul Vigenere
 Cunoscând lungimea cheii, textul criptat poate fi rescris pe mai
multe coloane, fiecare coloană corespunzând unei litere din cheie.
 Ulterior, Kerckhoff a propus folosirea analizei frecvenţei literelor pe
fiecare coloană pentru a determina care sunt literele cheii : cea mai
des folosită literă din set va fi criptarea literei „a” (cea mai des
folosită literă în română)
Metode de criptare
A R S O
C
B V R S
H
. E . V R.
. I . . V
Y E O . .
Z S O .
 Maşini cu rotor:

Hebern Machine –
1 singur rotor (1870-1943)

 Cea mai cunoscută:


Enigma Machine –
între 3 şi 5 rotoare
Metode de criptare

 One-time pads: cifrul Vernam cheia trebuie să fie


ca lungime egală cu mesajul ce trebuie criptat, fiind
folosită o singură dată

 One-time pads: singurul cifru ce oferă ”perfect


secrecy”
Tipuri de cifruri
 După modul în care a fost folosită criptografia (pentru a
cripta datele păstrate sau pentru a cripta datele transmise)
avem două mari categorii de tipuri de cifruri:
 Block: folosesc în general o
Cifruri Cifruri Stream: realizează
dimensiune fixă (de 128 de biţi) a blocului de criptarea la un flux continuu
criptare; de informaţii, precum
transmisii video sau audio
Moduri de operare pentru cifrurile bloc: - se folosesc operaţii XOR ce
- Electronic codebook (ECB) pot fi realizate foarte rapid cu
- Cipher-block chaining (CBC) o cheie generată continuu
- Cipher feedback (CFB) (keystream) în mod cât mai
- Output feedback (OFB) aleator pornind de la o valoare
- Counter iniţială; această valoare
iniţială este folosită şi de către
receptor ca şi cheie pentru
decriptare
Cifruri bloc

 Cifrul foloseşte o asociere unu la unu, fiecărui bloc de


text clar de k biţi corespunzându-i un sigur bloc de text
cifrat de k biţi.

 Asocierea este dată de cheie: dacă atât emiţătorul cât şi


receptorul cunosc asocierea (cheia), aceştia pot cripta şi
decripta mesajele trimise

 Pentru a decripta mesajul, se poate folosi atacul de tip


forţă-brută, adică se încearcă toate asocierile pentru
textul cifrat.
Cifruri bloc

 Electronic codebook (ECB): fiecare bloc este


criptat separat; se aplică cheia de criptare la fiecare
bloc ce urmează a fi criptat
Cifruri bloc

 Cipher block chaining (CBC): foloseşte la


fiecare bloc criptat în plus şi textul cifrat al blocului
anterior; înainte de aplicarea cheii pentru criptare
realizează operaţia XOR între textul în clar şi textul
cifrat al blocului anterior; porneşte cu un anumit
vector de iniţializare
Cifruri bloc

 Cipher feedback (CFB): este o metodă


asemănătoare cu cipher block chaining cu diferenţa
că textul cifrat al blocului anterior este criptat cu
ajutorul cheii şi apoi se combină cu textul în clar
Cifruri bloc

 Output feedback (OFB): este asemănător cu


CBC şi CBF; înainte de aplicarea cheii de criptare
este preluată cheia cifrată a blocului anterior (o
înlănţuire a cheii); blocul de text în clar se combină
apoi cu rezultatul
Cifruri bloc

 Counter (CTR): foloseşte un număr “nonce” (un


număr aleator ce este folosit o singură dată) ce este
concatenat cu un counter ; ca şi cum ar înlocui un
vector de iniţializare pentru a modifica cheia de
criptare la fiecare bloc următor