Documente Academic
Documente Profesional
Documente Cultură
01 Bazele Criptografiei
01 Bazele Criptografiei
1. Bazele criptografiei
Definiia criptografiei pleac de la etimologia cuvntului cripto care vine din grecescul
kryptos, care nseamn ascuns, obscur, secret, iar grafie de la graphia, adic scriere. O
definiie concis a termenului este dat de Yaman Akdeniz, n articolul su Cryptography and
Encryption: Criptografia, definit ca <tiina care se ocup cu studiul scrierii secrete>,
trateaz mijloacele prin care comunicaiile i datele pot fi codificate pentru a preveni
descoperirea lor prin interceptare, folosind coduri, cifruri i alte metode, astfel nct numai
anumite persoane s poat vizualiza mesajul iniial[VeI04].
Primele menionri despre criptografie apar acum 4000 de ani n Egiptul antic.
n India, nu mult dup ce scrisul a fost inventat, se pomenete de scriere secret; dovada
o gsim n Kama Sutra1, unde scrisul secret este pe lista lucrurilor pe care trebuie s le tie o
femeie. Arabii, n al 7-lea secol .e.n., au
criptanaliz. Istoricii au descoperit un text folosit n magie datat n jurul anului 855 .e.n.
Detalii interesante din istoria criptografiei le gsim n cartea lui David Kahn [Kah90].
De-a lungul istoriei criptografia a avut un rol fascinant att n diplomaie i spionaj ct
i n lumea afacerilor. De la rzboiul galic pn la rzboiul din golful Persic, de la afacerea
Dreyfus pn la maina Enigma, criptografia a schimbat nu de puine ori cursul istoriei. nc
de la nceputuri, criptografia a rspuns cererii de a transmite informaii secrete; mult vreme
singura preocupare a fost de a crea metode de transformare a informaiei de aa natur nct
ea s nu fie accesibil unui potenial intrus. O dat cu apariia metodelor electronice de
procesare a informaiei rolul criptografiei a devenit mult mai variat. Aceast perioad care
ncepe n 1949 este cunoscut ca i criptografie modern i va fi descris n capitolul 5.
1.1 Terminologie
S presupunem c E dorete s trimit un mesaj lui D; notm cu E expeditorul i cu D
destinatarul. E ncredineaz mesajul lui T, care l va livra lui D; T devine mediul de
transmitere. Dac o entitate, I, dorete mesajul i ncearc s obin acces la mesaj, o vom
1
Versiunea veche a crii Guide to Good Sex a doctorului Ruth; versiunea original scris n sanscrit de
Vatsyayana ntre sec. I IV .e.n
12
ABCDEFGHIJKLMNOPQRSTUVWXYZ
defghijklmnopqrstuvwxyzabc
15
c i a ( pi )
18
19
1
2
01234567890123456789012345
abcdefghijklmnopqrstuvwxyz
A abcdefghijklmnopqrstuvwxyz
B bcdefghijklmnopqrstuvwxyza
C cdefghijklmnopqrstuvwxyzab
D defghijklmnopqrstuvwxyzabc
E efghijklmnopqrstuvwxyzabcd
F fghijklmnopqrstuvwxyzabcde
G ghijklmnopqrstuvwxyzabcdef
H hijklmnopqrstuvwxyzabcdefg
I ijklmnopqrstuvwxyzabcdefgh
J jklmnopqrstuvwxyzabcdefghi
K klmnopqrstuvwxyzabcdefghij
10
L lmnopqrstuvwxyzabcdefghijk
11
M mnopqrstuvwxyzabcdefghijkl
12
N nopqrstuvwxyzabcdefghijklm
13
O opqrstuvwxyzabcdefghijklmn
14
P pqrstuvwxyzabcdefghijklmno
15
Q qrstuvwxyzabcdefghijklmnop
16
R rstuvwxyzabcdefghijklmnopq
17
S stuvwxyzabcdefghijklmnopqr
18
T tuvwxyzabcdefghijklmnopqrs
19
U uvwxyzabcdefghijklmnopqrst
20
V vwxyzabcdefghijklmnopqrstu
21
W wxyzabcdefghijklmnopqrstuv
22
X xyzabcdefghijklmnopqrstuvw
23
Y yzabcdefghijklmnopqrstuvwx
24
Z zabcdefghijklmnopqrstuvwxy
25
A stabili care este coloana care urmeaz a fi folosit este principalul dezavantaj al
rotaiei celor 26 de permutri, care poate fi ns evitat prin folosirea unui cuvnt cheie.
Literele acestuia vor selecta coloanele pentru criptare.
De exemplu, s criptm mesajul CIFRURILE POLIALFABETICE SUNT MAI
SIGURE, folosind cuvntul cheie cripto. mprim mesajul n text clar n blocuri de cte
20
22
Probi = 1.
ia
1
0,0384
26
Graficul unei astfel de distribuii este o linie orizontal. Pentru o distribuie oarecare,
diferena dintre Proba i 1/26 este variaia sa fa de distribuia uniform.
Sinkov definete n [Sin66] o msur a neuniformitii sau variana, ca fiind:
var
ia
Pr ob i -
ia
Pr ob
2
i
= Pr ob i2 ia
26
2
1
Pr ob i
26
26
z
2 z
1
Pr
ob
i
26 i a
i a 26
2
= Pr ob i - 0,0384
ia
Pentru o distribuie uniform, variana este zero. Probi2 este probabilitatea ca dou
caractere alese la ntmplare din text s coincid cu caracterul i. ns probabilitatea de apariie
a unei litere nu este cunoscut dect dac se cunoate algoritmul prin care literele au fost
generate. Aceast probabilitate va fi aproximat pe baza frecvenelor observate.
ntr-un text de n litere n text cifrat, fie Freci numrul de apariii a literei i. Probabilitatea
ca
alegnd
dou
litere
ntmpltoare
acestea
fie
este
Freci * (Freci - 1). Pentru c perechea (a,b) este identic cu perechea (b,a), produsul numr
fiecare pereche de dou ori. Deci exist Freci * (Freci - 1)/2 moduri de a alege o pereche (i, i).
23
IC=
i a
Frec i * ( Frec i 1)
n * (n 1)
1
0,068
2
0,052
3
0,047
4
0,044
5
0,044
10
0,041
mai multe
0,038
Dup cum se observ n tabelul de mai sus IC scade rapid de la un alfabet la trei i
constituie o bun predicie pentru numrul de alfabete doar atunci cnd numrul acestora este
mic. Pe baza unei prime predicii mesajul n text cifrat se mparte n segmente corespunznd,
teoretic, unui singur alfabet. Aceast situaie se verific aplicnd din nou metoda Kasiski; n
cazul n care variana nu are valoarea ateptat, se reia ntreg procesul, ncercnd o nou
ipotez privind numrul de alfabete folosite la criptare.
Concluzii privind cifrurile polialfabetice
Paii n analiza unui cifru polialfabetic sunt:
1. Se folosete metoda Kasiski pentru a afla numrul probabil al alfabetelor folosite la
criptare. Dac nici unul din numerele probabile nu conduce la o mprire n
segmente monoalfabetice, atunci metoda de criptare nu este substituia
polialfabetic.
2. Se calculeaz indexul de coinciden pentru a valida prediciile de la punctul 1.
3. Cnd pasul 1 i 2 indic o valoare probabil, textul cifrat se mparte n submulimile
separate corespunztoare; se calculeaz pentru fiecare indexul de coinciden, care
trebuie s confirme ipoteza.
Att metoda Kasiski, ct i indexul de coinciden necesit disponibilitatea unei mari
cantiti de text cifrat. Ele dau rezultate cnd alfabetele de criptare sunt aplicate repetat la
intervale periodice.
24
c i b sunt constante, iar w este un numr mare, de obicei cel mai mare ntreg
reprezentabil pe un cuvnt de memorie din calculator. Dndu-se suficieni termeni ai irului,
este posibil s se determine constantele c i b, dac w este ghicit ca fiind ntregul maxim.
Dac irul de numere aleatoare nu este suficient de lung, generatorul nu prezint securitate.
Cifrul Vernam
Cifrul Vernam este un tip de bloc notes dezvoltat la AT&T, imun la majoritatea
atacurilor criptanalitice. Criptarea de baz presupune un ir lung de numere aleatoare
nerepetitive care sunt combinate cu mesajul n text clar. Invenia lui Vernam folosete o band
de hrtie perforat de o lungime arbitrar, montat la un dispozitiv de tip telex. Banda conine
numere aleatoare care se combin cu caracterele tastate la telex. irul de numere aleatoare
este nerepetitiv i fiecare band este folosit o singur dat. Att timp ct banda nu se repet i
nu se refolosete, acest tip de cifru este imun la atacul criptanalitic, deoarece mesajul n text
cifrat nu prezint forme ale cheii.
Cifrul Vernam binar
Aceast schem funcioneaz i la criptarea unui mesaj binar, prin folosirea unui ir
aleator de cifre binare care poate fi combinat modulo 2 cu biii din mesaj. Rezultatul este un
alt ir binar. Combinarea se poate face prin adunare modulo 2, ceea ce se realizeaz prin
funcia sau exclusiv sau adunare fr transport. Aceste funcii sunt implementate ca
instruciuni main, ceea ce simplific aplicarea algoritmului.
26
27
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
c12
c13
c14
c15
c16
c17
c18
c19
c20
c21
c22
c23
c24
c25
c2c7c12c17c22
...
Dac lungimea mesajului nu este multiplu al lungimii liniei, ultima coloan va conine
mai puine litere. O liter mai puin folosit, cum ar fi X, se folosete pentru a completa ultima
coloan.
Complexitatea criptrii/decriptrii
Acest cifru nu presupune alte operaiuni, n afara scrierii literelor ntr-o anumit ordine
i citirii lor ntr-o alt ordine, deci timpul necesar aplicrii algoritmului este proporional cu
lungimea mesajului. Algoritmul necesit citirea ntregului mesaj n text clar nainte de a-l
cripta, ceea ce presupune un spaiu de memorie i o anumit ntrziere care depind direct de
lungimea mesajului. Din aceste cauze, algoritmul nu este potrivit pentru mesaje lungi.
28
29
Redundana
Limbajele sunt n mod natural redundante. Numrul minim de bii de informaie necesar
pentru reprezentarea literelor dintr-un alfabet este A=Int(log2(k)), unde Int este funcia de
rotunjire la cel mai apropiat ntreg mai mare dect argumentul funciei, iar k este numrul de
litere din alfabet. Aceast msur se numete rata absolut a unui limbaj i pentru un alfabet
cu 26 de semne are valoarea 5.
Numrul tuturor mesajelor de n litere ntr-un limbaj de rat absolut A este 2An. O parte a
acestor mesaje sunt relevante, au sens. Fie 2Rn numrul lor. Rata limbajului este R.
Redundana unui limbaj este D = A - R; altfel spus, D este numrul de bii disponibili n
exces, care nu sunt necesari pentru reprezentarea mesajelor cu sens.
Dac un algoritm cripteaz dou sau mai multe mesaje n acelai text cifrat,
interceptorul nu poate s determine care din cele dou sau mai multe mesaje n text clar
posibile este cel autentic. Cnd numrul acestor codificri de mesaje multiple este mare,
sistemul de criptare este sigur. Dac limbajul este puternic redundant, numrul posibilitilor
de codificare de mesaje multiple poate fi mare.
Distana de unicitate
Definim Prob(P) ca probabilitatea ca mesajul P n text clar s fi fost transmis. Dat fiind
c mesajul C a fost recepionat, fie ProbC (P) probabilitatea ca P s fie mesajul transmis. Altfel
spus, ProbC (P)= Prob(C=E(P)). Confidenialitatea perfect are loc atunci cnd ProbC (P)=
Prob(P). n alte cuvinte, tiind c C a fost recepionat, analistul nu obine nici o informaie
suplimentar asupra mesajului care a fost transmis.
Shannon2 a definit un concept, numit distana de unicitate, care descrie cantitatea de
text cifrat necesar pentru a sparge un cifru:
Pr obC ( P )
H C ( P ) Pr obC ( P ) log 2
P
Distana de unicitate este cea mai mic lungime de mesaj n pentru care HC(P) este
apropiat de zero. Pentru anumite sisteme, cum ar fi cel al bloc notes-ului, HC(P) nu este
niciodat aproape de zero.
32
H ( P)
D
unde D este redundana limbajului. Dac numrul de chei este egal cu numrul de
mesaje, cifrul este teoretic, impenetrabil. Aceasta este situaia n cazul ntreeserii a dou
mesaje, a cifrului Vernam sau unui sistem cu chei de lungime infinit.
Probabilitatea de a obine o decriptare fals a textului cifrat este:
2 Rn
2 ( R A) n 2 Dn
An
2
33