sisteme criptare fluida

11
Criptografie şi securitate 3. Sisteme de criptare fluide

Transcript of sisteme criptare fluida

Page 1: sisteme criptare fluida

Criptografie şi securitate

3. Sisteme de criptare fluide

Page 2: sisteme criptare fluida

1. Noţiuni teoretice preliminare

2. Sisteme sincrone

3. Sisteme asincrone

Page 3: sisteme criptare fluida

1. Noţiuni 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.

Page 4: sisteme criptare fluida

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 = zi−m daca i >= m + 1.

Ea va genera din cheia fixa K = (k1, k2, . . . , km), cheia fluida k1k2 . . . kmk1k2 . . .

kmk1k2 . . .

Page 5: sisteme criptare fluida

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.

Page 6: sisteme criptare fluida

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.

Page 7: sisteme criptare fluida

2. Sisteme de criptare sincrone

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

Page 8: sisteme criptare fluida

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 = (yi−t, yi−t+1, . . . , yi−1), zi = g(qi, k), yi = h(zi, xi)

unde q0 = (y−t, y−t+1, . . . , y−1) 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).

Page 9: sisteme criptare fluida

3. Sisteme de criptare asincroneEx.: Criptare cu auto-cheie: Fie P = C = L =Z26. Se defineste cheia fluida astfel:

z1 = K, zi = yi−1, (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) = 14−13 (mod 26) = 1; x2 = d14(y2) = 8−14 (mod 26) = 20; s.a.m.d.

Page 10: sisteme criptare fluida

3. Sisteme de criptare asincroneEx.: 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 = xi−1 (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.

Page 11: sisteme criptare fluida

3. Sisteme de criptare asincroneProprietati:

1. Auto-sincronizare: Deoarece functia de decriptare h−1 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.