Sunteți pe pagina 1din 19

Securitatea sistemelor

informatice
Ana-Maria Ghiran
anamaria.ghiran@econ.ubbcluj.ro
Introducere în criptografie

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ă”
Criptologie
• Criptanaliză=descifrarea cifrurilor

• Text clar (m)= Mesajele ce trebuie criptate


• Text cifrat (c)= Mesajele trasformate de un algoritm de criptare (E) cu ajutorul unei chei (K)
• Un cifru – o pereche de algoritmi “eficienti” E si D
D(k,E(k,m))=m – ecuația de consistență a unui cifru

• 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
Aplicații ale criptografiei
• Securizarea comunicației, a datelor
• Semnătura digitală (autentificare plus garantare integritate)
• Comunicare anonimă (mixnet – comunicare criptată prin mai multe
servere proxy)
• Monede digitale (anonime și nereplicabile)
• Vot electronic (determinare rezultate vot fara a expune alegerea de
vot a unui anume alegator)
• Licitatii electronice
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
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 mare va creşte exponenţial și
spaţiul de căutare
• Ex: spațiul de căutare pentru o cheie ce folosește 26 litere ar fi 26!
• Numărul de asocieri posibile pentru o literă din textul in clar într-o
literă criptată ar fi 2k !
k – numărul de biți folosiți pentru a reprezenta o literă
Obs: blocurile de biti folosite nu sunt rezervate doar pentru o literă =>
în general vom spune că spațiul cheii, se va determina la fel ca cel
pentru mesaj
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
A E
B S
C D
...

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 1st column 2nd 3rd 4th
Transpoziție după o cheie: A [0] n [1] a [2] [3]
a [4] r [5] e [6] [7]
m [8] e [9] r [10] e [11]
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.
• Kerckhoff este cel care ulterior 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 R S
B V
H
. E . V R.
. I . . V
• Maşini cu rotor: Y E O . .
Z S O .

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ă
C=Ek(m)= k xor m

- 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:

Cifruri Block: folosesc în general o dimensiune Cifruri Stream: realizează criptarea la un flux
fixă (de 128 de biţi) a blocului de criptare; continuu de informaţii, precum transmisii
video sau audio
Moduri de operare pentru cifrurile bloc: - se folosesc operaţii XOR ce pot fi realizate
-Electronic codebook (ECB) foarte rapid cu o cheie generată continuu
-Cipher-block chaining (CBC) (keystream) în mod cât mai aleator pornind
-Cipher feedback (CFB) de la o valoare iniţială; această valoare
-Output feedback (OFB) iniţială este folosită şi de către receptor ca şi
-Counter 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

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