Sunteți pe pagina 1din 11

Criptografie i securitate

3. Sisteme de criptare fluide

1. Noiuni teoretice preliminare 2. Sisteme sincrone 3. Sisteme asincrone

1. Noiuni teoretice preliminare


Def.: Sist. criptare bloc (block cyphers) = elementele succesive ale textului clar sunt criptate folosind aceeasi cheie K. Deci, daca x = x1x2x3 . . . este textul clar, textul criptat este y = y1y2y3 . . . = eK(x1)eK(x2)eK(x3) . . .
Def.: Fie M= (P, C,K, E,D) un sistem de criptare. O secventa de simboluri k1k2k3 . . . K+ se numeste cheie fluida. Def.: M= (P, C,K, E,D) este sistem fluid daca cripteaza un text clar x = x1x2x3 . . . In y = y1y2y3 . . . = eK1(x1)eK2(x2)eK3(x3) . . . unde k1k2k3 . . . K+ este o cheie fluida. Problema principala = generarea cheii de criptare. Generator de chei fluide generator de nr. pseudo-aleatoare.

2. Sisteme de criptare sincrone


Def.: Un sistem de criptare fluid sincron este o structura (P, C,K,L,E,D), unde: P, C,K sunt multimi finite nevide ale caror elemente se numesc texte clare, texte criptate si respectiv chei; L este o multime finita nevida numita alfabet sir de chei; g : K L+ este un generator de chei fluide: pentru oricare k K, g(k) = k1k2k3 . . . L+ este o cheie fluida (teoretic infinita); pentru oricare z L exista o regula de criptare ez E si o regula de decriptare dz D astfel ca pentru oricare x P, dk(ek(x)) = x.
Ex.: Sistemul de criptare Vigenere - sistem de criptare fluid sincron. Fie m lungimea cuvantului cheie din sistemul Vigenere. Definim: P = C = L =Z26, K =(Z26)m , ez(x) = x + z (mod 26), dz(y) = y z (mod 26) Cheia z1z2z3 . . . este definita astfel: zi = ki daca 1 <= i <= m, respectiv zi = zim daca i >= m + 1. Ea va genera din cheia fixa K = (k1, k2, . . . , km), cheia fluida k1k2 . . . kmk1k2 . . . kmk1k2 . . .

2. Sisteme de criptare sincrone


Obs.: Procesul de criptare cu un sistem fluid sincron poate fi reprezentat ca un automat descris de relatiile: qi+1 = (qi, k), zi = g(qi, k), yi = h(zi, xi) unde q0 este starea initiala care poate fi determinata din cheia k, este functia de tranzitie, g este functia care produce cheia fluida zi, iar h este functia de iesire care produce textul criptat yi pe baza textului clar xi si a cheii fluide zi.

2. Sisteme de criptare sincrone


Obs.: Un sistem de criptare bloc poate fi privit ca un caz particular de sistem de criptare fluid, in care pentru oricare i >= 1, zi = K. (sincronizare): In sistemele de criptare fluide sincrone, Alice si Bob trebuie sa-si sincronizeze cheia fluida pentru a putea obtine o criptare/decriptare corecta. Daca in timpul transmisiei sunt inserati sau eliminati biti in textul criptat, atunci decriptarea esueaza si ea poate fi reluata numai pe baza unor tehnici de resincronizare (cum ar fi de exemplu reinitializarea sau plasarea unor marcatori speciali la intervale regulate in textul transmis). Modificarea unui bit din textul criptat (fara a se elimina sau adauga nimic) nu va afecta decriptarea altor caractere (nepropagarea erorii). Un adversar activ care elimina, insereaza sau retrimite componente ale mesajului criptat, va provoca desincronizari si va fi deci detectat la receptie. De asemenea, el poate face modificari in textul criptat si sa observe cum vor afecta ele textul clar.
Deci: un text criptat cu un sistem fluid sincron necesita mecanisme separate de autentificare si de garantare a integritatii datelor.

2. Sisteme de criptare sincrone


Def.: Un sistem aditiv fluid binar de criptare este un sistem fluid sincron in care P = C = L =Z2 iar h este functia XOR.

3. Sisteme de criptare asincrone


Def.: Un sistem de criptare fluid este auto-sincronizabil (sau asincron) daca functia de generare a cheii fluide depinde de un numar fixat de caractere criptate anterior.
Comportamentul unui astfel de sistem poate fi descris de ecuatiile qi = (yit, yit+1, . . . , yi1), zi = g(qi, k), yi = h(zi, xi) unde q0 = (yt, yt+1, . . . , y1) este starea initiala (cunoscuta), k este cheia, g este functia de generare a cheii fluide, iar h este functia de iesire care cripteaza textul clar xi. Cele mai cunoscute sisteme auto-sincronizabile sunt registrii liniari cu feedback, utilizati la generarea secventelor de numere pseudo-aleatoare (in criptografie) si la generarea codurilor ciclice (in teoria codurilor).

3. Sisteme de criptare asincrone


Ex.: Criptare cu auto-cheie: Fie P = C = L =Z26. Se defineste cheia fluida astfel: z1 = K, zi = yi1, (i >= 2) Pentru un element oarecare al cheii z Z26, se defineste ez(x) = x + z (mod 26) dz(y) = y z (mod 26)
Fie K = 13 si textul clar BUCURESTI. Transformat n secventa numerica vom avea (x1, x2, x3, x4, x5, x6, x7, x8, x9) = (1, 20, 2, 20, 17, 4, 18, 19, 8) In faza de criptare, vom calcula pe rand: y1 = e13(x1) = 1 + 13 (mod 26) = 14; y2 = e14(x2) = 20 + 14 (mod 26) = 8; y3 = e8(x3) = 2 + 8 (mod 26) = 10; y4 = e10(x4) = 20 + 10 (mod 26) = 4; y5 = e4(x5) = 17 + 4 (mod 26) = 21; y6 = e21(x6) = 4 + 21 (mod 26) = 25; y7 = e25(x7) = 18 + 25 (mod 26) = 17; y8 = e17(x8) = 19 + 17 (mod 26) = 10; y9 = e10(x9) = 8 + 10 (mod 26) = 18; Textul criptat este (14, 8, 10, 4, 21, 25, 17, 10, 18) adica: OIKEVZRKS. Pentru decriptare, vom avea: x1 = d13(y1) = 1413 (mod 26) = 1; x2 = d14(y2) = 814 (mod 26) = 20; s.a.m.d.

3. Sisteme de criptare asincrone


Ex.: Criptare cu auto-cheie: Se observa ca textul decriptat poate fi obtinut de oricine, aproape in totalitate, fara a cunoaste nici o cheie (aceasta fiind necesara doar pentru decriptarea primului caracter). Deci gradul sau de securitate este nul.
Ceva mai dificil este sistemul in care generarea cheii fluide se realizeaza cu ecuatia: zi = xi1 (i >= 2). In acest caz, BUCURESTI se cripteaza in OVWWLVWLB (pentru K = 13).

Nici acest sistem de criptare cu auto-cheie nu este sigur, deoarece evident sunt posibile doar 26 chei.

3. Sisteme de criptare asincrone


Proprietati: 1. Auto-sincronizare: Deoarece functia de decriptare h1 depinde numai de un numar fixat de caractere criptate anterior, desincronizarea rezultata eventual prin inserarea sau stergerea de caractere criptate se poate evita. Astfel de sisteme de criptare pot restabili proprietatea de sincronizare afectand doar un numar finit de caractere din textul clar. 2. Propagarea limitata a erorii: Daca starea unui sistem fluid auto-sincronizabil depinde de t caractere anterioare, atunci modificarea (eventual stergerea sau inserarea) unui caracter din textul criptat poate duce la decriptarea incorecta a maxim t caractere; dupa aceea decriptarea redevine corecta. 3. Raspandirea textelor clare: Deoarece fiecare caracter din textul clar influenteaza intregul text criptat care urmeaza, eventualele proprietati statistice ale textului clar sunt dispersate prin textul criptat. Deci, din acest punct de vedere, sistemele de criptare auto-sincronizabile sunt mai rezistente decat cele sincronizabile la atacurile bazate pe redondanta textului clar. 4. Rezistenta la criptanaliza activa: Este destul de dificil de depistat un atac venit din partea unui adversar activ (care poate modifica, insera sau sterge caractere) auto-sincronizarea readucand decriptarea in faza normala. De aceea sunt necesare mecanisme suplimentare pentru a asigura autentificarea si integritatea datelor.