Professional Documents
Culture Documents
C2.Elemente de Teoria Probabilităților În Criptografie
C2.Elemente de Teoria Probabilităților În Criptografie
Dezvoltarea unui sistem de criptare are la bază aspecte fundamentale din domeniile: matematică
discretă, statistică și probabilități și teoria informației.
În 1949, Shannon publica lucrarea ”Communication theory of secrecy systems” – piatra de
temelie în elaborarea sistemelor de criptare, care urmăresc să asigure o comunicare sigură printr-un canal
de comunicare nesigur.
Conceptul de entropie, dezvoltat în contextul Teoriei Informației, ca măsură a gradului de
incertitudine al informației, este utilizat în proiectarea algoritmilor moderni de criptare. Acest concept,
cât și tehnicile utilizate în domeniul Teoriei Informației, au natură probabilistă și în acest sens, Teoria
Informației are o strânsă legătură cu Teoria Probabilităților.
Axiomele probabilităților:
P(E) ≥ 0 probabilitatea unui eveniment este un număr nenegativ
P(S) =1 probabilitatea evenimentului sigur este egală cu 1
Dacă {E1, E2, …, Ei, …} este o secvență de evenimente mutual exclusive a.î. Ei ∩ Ej = ⏀, ∀ i și j, atunci
P(E1 ⋃ E2 ⋃ …⋃ Ei ⋃ …) = P(E1) + P(E2) + ... + P(Ei) + ....
probabilitatea mai multor evenimente mutual exclusive este egală cu suma probabilităților
evenimentelor.
Două evenimente se numesc independente, dacă realizarea unuia nu influenţează realizarea celuilalt; în
caz contrar, când realizarea unui eveniment influenţează realizarea altui eveniment, ele sunt numite
evenimente dependente.
Fie A,B evenimente independente. Atunci P(AB) = P(A)⋅P(B), adică probabilitatea producerii
simultane a evenimentului A şi B, este egală cu produsul probabilităţilor acestor evenimente.
Alte proprietăți:
Pr(∅) = 0
P(non E) = 1 - P(E) , unde P(non E) este probabilitatea evenimentului contrar
Dacă E1⊆E2 (evenimentul E1 este implicat în evenimentul E2) atunci P(E1) ≤ P(E2)
Pentru orice evenimente Ei și Ej are loc egalitatea: P(Ei ⋃ Ej) = P(Ei) + P(Ej) - P(Ei ∩ Ej)
probabilități condiționate ► probabilitatea unui anumit eveniment care urmează să aibă loc, cunoscând
deja că alt eveniment a avut loc:
Fie evenimentele arbitrare Ei și Ej. Se definește probabilitatea condiționată a lui Ei de către Ej ca
probabilitatea de a se realiza evenimentul Ei dacă în prealabil s-a realizat evenimentul Ej și se calculează
conform formulei:
P( Ei E j )
P( Ei | E j )
P( E j )
Care este probabilitatea ca o persoană aleasă aleator să fie bărbat, cunoscând faptul că persoana are studii
superioare?
P( B SS ) 0.35
Trebuie calculat: P( B | SS ) 0.4069 40.69%
P( SS ) 0.86
P( Ei E j ) P( Ei E j )
Atunci: P( Ei | E j ) și P( E j | Ei ) ⟹
P( E j ) P( Ei )
P( Ei ) P( E j | Ei )
Dacă P(Ej)>0, atunci: P( Ei | E j )
P( E j )
Definiția axiomatică: o variabilă aleatoare discretă X se definește prin mulțimea valorilor pe care
aceasta le poate lua, Ẋ, și printr-o distribuție de probabilitate definită pe mulțimea valorilor Ẋ.
Probabilitatea ca variabila aleatoare X să ia valoarea x ∈ Ẋ se notează PX(x) sau P(X=x), iar pentru
ușurința scrierii P(x).
De exemplu, în aruncatul monedei, distribuția este 1/2 pentru cap și 1/2 pentru pajură, iar suma
probabilităților este 1/2 +1/2 = 1.
Schematic, distribuţia unei variabile aleatoare discrete X se scrie sub forma unui tablou unde pe primul
rând se trec valorile posibile ale variabilei aleatoare X, iar sub fiecare valoare posibilă, probabilitatea cu
care X ia această valoare:
x1 x2 ....... xi ........ xn xi
X: = i = 1, 2, ..., n
p1 p2 ....... pi ........ pn pi
Deoarece într-un experiment variabila aleatoare ia una şi numai una din valorile sale posibile,
avem relaţia: P(X=x1) + P(X=x2) + ... + P(X=xn) = 1, deci
distribuție uniformă ► când toate probabilitățile din distribuție sunt egale, ceea ce înseamnă că toate
rezultatele au aceeași probabilitate de apariție. Dacă sunt N evenimente, atunci fiecare eveniment are
probabilitatea de apariție egală cu 1/N.
De exemplu, dacă o cheie pe 27 – 128 biți este aleasă la întâmplare, conform unei distribuții uniforme,
atunci fiecare dintre cele 2128 chei posibile vor avea o probabilitate de 1/2128.
P
X ,Y ( x, y ) 1
xX ,yY
independența statistică ►
► două evenimente Ei și Ej sunt independente dacă:
P(Ei , Ej) = P(Ei) ⋅ P(Ej)
deci probabilitatea comună de realizare a evnimentelor Ei și Ej este egală cu produsul dintre
probabilitatea ca evenimentul Ei să se realizeze și probabilitatea ca evenimentul Ej să se realizeze
► perechea de variabile aleatoare discrete X și Y sunt independente statistic dacă oricare dintre
realizările lor particulare sunt independente:
PX ,Y ( x , y ) PX ( x ) PY ( y )
Teoria Informației
apreciază criptografic: care este dimensiunea unei chei a.î. criptosistemul să nu poată fi spart
criptanalitic: de câtă informație criptată e nevoie pt. a sparge un mecanism de criptare
noțiunea de bază entropia: măsură a gradului de incertitudine a informației
D.p.d.v. al Teoriei Informației, entropia este utilizată pentru a calcula numărul de biți necesari
pentru a codifica o anumită informație:
Astfel, în contextul teoriei informației, în general, o sursă discretă de informație generează un
număr de simboluri dintr-un alfabet S={s1, s2, …, sn} – mulțimea tuturor simbolurilor posibile.
Indiferent de alfabetul utilizat, codarea unui mesaj transmis de sursă presupune ca fiecare simbol
sk să fie reprezentat printr-un șir de biți – cuvânt de cod, utilizând în acest scop cât mai puțini biți.
_ n
l p ( sk ) l ( sk )
k 1
s1 s2 s3 s4 s5
S:
0.0625 0.0625 0.125 0.25 0.5
Relația dintre entropie și lungimea medie a unui cuvânt de cod: în mod evident se urmărește ca
_
l să fie cât mai mic și se poate demonstra că:
_
H( S ) l H( S ) 1
► Fie o variabilă aleatoare discretă X, definită prin mulțimea valorilor pe care aceasta le poate lua,
{x1, x2, ..., xn}cu P(X=xi)=pi .
Care sunt informațiile obținute prin rezultatul unui experiment care are loc în funcție de această
distribuție a probabilităților? În mod echivalent, dacă experimentul nu a avut loc încă, care este
incertitudinea cu privire la rezultat? Această cantitate se numește entropia lui X și este notată de H (X).
H(X) se definește ca:
n
H ( X ) pi log2 pi
i 1
H( X ) p
X ( x ) log2 p X ( x )
xX
Teoremă
0 H ( X ) log 2 | X |
H ( X ) 0 ( )x X a .î .PX ( x ) 1
1
H ( X ) log2 | X | ( )x X avem PX ( x )
|X|
Obs: Entropia poate fi calculată în raport cu toate componentele unui criptosistem. De exemplu, cheia
K poate fi gândită ca o variabilă aleatoare cu valori în mulțimea K și se poate calcula entropia H(K).
Analog, se poate calcula entropia H(P) și H(C) ale variabilelor aleatoare asociate cu mesajul în clar
(”plain text”) și respectiv mesajului cifrat (”cipher text”).
► Se definește entropia variabilelor aleatoare X1, ... , Xn ca o extensie a definiției entropiei variabilei
aleatoare X:
► Pentru un criptosistem descris prin structura: (P, C, K, ε, D), entropia (per literă) a unui limbaj
natural L, notată HL este o măsură a informației medii per literă dintr-un text clar, cu înțeles (cu
semnificație), deci HL măsoară cantitatea medie de informație per literă (biți per caracter) într-un astfel
de text.
Într-o codificare cu lungime fixă, pentru un alfabet cu 26 simboluri este nevoie de log226 ≈ 4.76 biți per
simbol în reprezentare, deci pentru alfabetul englez, fiecare caracter transmite 4.76 biți de informație.
Deci, la modul ideal, un șir aleator de litere – textul clar (în care fiecare literă are aceeași probabilitate
de apariție) are entropia log2|L| = log226 ≈ 4.76.
Dar, ținând cont de frecvența de apariție a literelor în limba engleză (Tabelul 1), s-a apreciat empiric:
1.0 ≤ HL ≤ 1.5, deci conținutul informațional în limba engleză este de aproximativ 1.25 biți pe literă.
► Se definește redundanța unui limbaj, notată RL ca fiind fracția de caractere în exces care sunt
presupuse a fi redundante:
HL
RL 1 ,
log2 | P |
log2 | P |fiind entropia unui limbaj aleator, care are redundanța nulă astfel încât R L măsoară fracția de
caractere în exces care sunt presupuse a fi redundante.
adică d.p.d.v al codificării, limba engleză este 74% redundantă, în sensul că pentru un text suficient de
mare, este posibil să se găsească o anumită „codificare“ ce va comprima textul în limba engleză la
aproximativ un sfert din lungimea inițială.
► D.p.d.v al criptanalizei, pentru un criptosistem descris prin structura: (P, C, K, ε, D), din totalitatea
cheilor posibile pentru criptarea unui text clar, cheile posibile dar incorecte sunt numite chei
false/înșelătoare.
Se consideră un criptosistem cu chei alese echiprobabil și fie RL redundanta limbajului utilizat. Pentru
un text criptat de lungime n, unde n este suficient de mare, numărul mediu estimat de chei false, sn,
satisface relația:
|K|
sn 1
| P |nRL
► Pentru un sistem de criptare cu spațiul cheii K și spațiul textelor clare P, se definește distanța de
unicitate, notată cu U, ca valoarea lui n la care numărul mediu statistic al cheilor false devine zero, altfel
spus cantitatea medie de text criptat necesară pentru a calcula cheia, admițând un timp de calcul suficient.
Considerând sn = 0, se obține formula:
log2 | K |
U
RL log2 | P |
De exemplu:
- în cazul cifrului de substituție simplă, unde |P |= 26, iar |K| = 26!, considerând RL = 0.74, se obține o
estimare a distanței U: U ≃ 25, ceea ce înseamnă că pentru o lungime de text criptat de cel puțin 25 de
caractere se poate obține o decriptare unică.
- în cazul cifrului de deplasare, unde |P| = |K| = 26, considerând RL = 0.74, se obține o estimare a distanței
U: U ≃ 1.33
Deci, bazându-se pe redundanța mesajului în clar, distanta de unicitate a unui cifru estimează cantitatea
de text cifrat necesară pentru regăsirea cheii, asigurând astfel descifrarea unică.
În general, cu cât distanța de unicitate este mai mare, cu atât criptosistemul este mai bun.
Distanța de unicitate poate fi mărită prin reducerea redundanței. Un mod de a face acest lucru este
compresia datelor înainte de criptare, reducând cantitatea de date care trebuie criptate.
Obs: Pentru majoritatea criptosistemelor simetrice, distanța de unicitate este definită ca entropia
spațiului cheilor divizată prin redundanța limbajului:
H( K )
U
RL