Sunteți pe pagina 1din 18

Preview Sisteme sincrone Sisteme asincrone

Sisteme de criptare fluide

Luciana Morogan

Facultatea de Matematica-Informatica
Universitatea Spiru Haret

Laborator
Preview Sisteme sincrone Sisteme asincrone

Outline

1 Preview

2 Sisteme sincrone

3 Sisteme asincrone
Preview Sisteme sincrone Sisteme asincrone

Sisteme de criptare

Sistemele de criptare:
bloc(block cyphers)
elemente succesive ale textului clar sunt criptate folosind
aceeasi cheie de criptare
daca x = x1 x2 x3 . . . atunci
y = y1 y2 y3 . . . = ek (x1 )ek (x2 )ek (x3 ) . . .
fluide(stream cyphers)
sincrone
asincrone
Preview Sisteme sincrone Sisteme asincrone

Definitii formale (1)

Fie M = (P, C, K, E, D) un sistem de criptare. Secventa de


simboluri k1 k2 k3 · · · ∈ K + se numeste cheie fluida.
M = (P, C, K, E, D) este un sistem de criptare fluid daca
cipteaza textul clar x = x1 x2 x3 . . . in
y = y1 y2 y3 . . . = ek1 (x1 )ek2 (x2 )ek3 (x3 ) . . ., unde k1 k2 k3 . . .
este o cheie fluida din K +
Preview Sisteme sincrone Sisteme asincrone

Definitii formale (2)

Problema generala: generarea cheii fluide cu ajutorul unui


generator numit generator de chei fluide
Obs! Daca
cheia fluida este aleasa aleator si nu mai este foloita
ulterior
lungimea cheii = lungimea textului clar
Atunci sistemul de criptare se numeste one-time-pad
Preview Sisteme sincrone Sisteme asincrone

Definitie formala

Un sistem de criptare fluid sincron este o structura


(P, C, K, L, E, D) unde
Fie 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 alfabetul sirului de
chei
se defineste g : K → L+ generatorul de chei fluide astfel
incat ∀k ∈ K avem g(k ) = k1 k2 k3 · · · ∈ K + cheia fluida
(teoretic infinita)
∀z ∈ L,
exista regula de criptare ez ∈ E
exista regula de decriptare dz ∈ D
astfel incat ∀x ∈ P, dz (ez (x)) = x
Preview Sisteme sincrone Sisteme asincrone

Exemplu: Sistemul de criptare Vigenere

Descrierea sistemului
m lungimea cuvantului cheie
P, C, K=Z26 , K= (Z26 )m
ez (x) = x + z(mod26), dz (y ) = y − z(mod26)
cheia z1 z2 . . . definita prin

ki dc 1 ≤ i ≤ m
zi =
zi−m dc i ≥ m + 1

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


k1 , k2 , . . . , km k1 , k2 , . . . , km k1 , k2 , . . .
Preview Sisteme sincrone Sisteme asincrone

Criptarea si decriptarea

Se realizeaza ca un automat descris de


qi+1 = δ(qi , k ), zi = g(qi , k ), yi = h(zi , xi ) unde:
q0 - starea initiala determinata din cheia k
δ - functia de tranzitie a starilor
g - functia ce produce cheia fluida zi
h - functia iesire care produce textul criptat yi pe baza
textului clar xi si a cheii fluide zi
Preview Sisteme sincrone Sisteme asincrone

Criptarea si decriptarea: schematic

Criptarea
Preview Sisteme sincrone Sisteme asincrone

Decriptarea: schematic

Decriptarea
Preview Sisteme sincrone Sisteme asincrone

Observatii

Sistemul de criptare bloc este un caz particular de sistem


de criptare fluid: ∀i ≥ 1, zi = k
(Sincronizare.) Cel care trimite mesajele si cel ce urmeaza
a le primi trebuie sa isi sincronizeze cheia fluida pentru a
obtine o criptare/decriptare corecta. Daca in timpul
transmisiei sunt inserati sau eliminati biti in textul criptat,
atunci decriptarea esueaza si poate fi reluata pe baza unor
tehnici de resincronizare (de exp. reinitializarea)
Modificarea unui bit din textul criptat (fara a se elimina sau
adauga nimic) nu afecteaza decriptarea altor caractere
(nepropagarea erorii)
Adversarul activ care elimina, insereaza sau retrimite
componente ale mesajului provoaca desincronizari si va
fidetectat la receptie
Preview Sisteme sincrone Sisteme asincrone

Sistemul aditiv fluid binar de criptare

Un sistem aditiv fluid binar de criptare este un sistem fluid


sincron in care P = C = L= Z2 iar h reprezinta functia XOR

Criptare Decriptare
Preview Sisteme sincrone Sisteme asincrone

Sistemul aditiv fluid binar de criptare - exemplu

Sa considerm exemplul in care dorim criptarea/decriptarea secventei de text


clar x = 101101 si presupunem ca iesirea generatorului de chei fluide ofera
cheia z = 1101. Vom avea: x1 = 1, x2 = 0, x3 = 1, x4 = 1, x5 = 0, x6 = 1 si
z1 = 1, z2 = 1, z3 = 0, z4 = 1, z5 = z1 = 1, z6 = z2 = 1

Criptarea Decriptarea
y1 = ez1 (x1 ) = x1 ⊕ z1 = 1 ⊕ 1 = 0 x1 = dz1 (y1 ) = y1 ⊕ z1 = 1 ⊕ 0 = 1
y2 = ez2 (x2 ) = x2 ⊕ z2 = 0 ⊕ 1 = 1 x2 = dz2 (y2 ) = y2 ⊕ z2 = 1 ⊕ 1 = 0
y3 = ez3 (x3 ) = x3 ⊕ z3 = 1 ⊕ 0 = 1 x3 = dz3 (y3 ) = y3 ⊕ z3 = 0 ⊕ 1 = 1
y4 = ez4 (x4 ) = x4 ⊕ z4 = 1 ⊕ 1 = 0 x4 = dz4 (y4 ) = y4 ⊕ z4 = 1 ⊕ 0 = 1
y5 = ez1 (x5 ) = x5 ⊕ z1 = 0 ⊕ 1 = 1 x5 = dz1 (y5 ) = y5 ⊕ z1 = 1 ⊕ 1 = 0
y6 = ez2 (x6 ) = x6 ⊕ z2 = 1 ⊕ 1 = 0 x6 = dz2 (y6 ) = y6 ⊕ z2 = 1 ⊕ 0 = 1
Se obtine astfel secventa de text cript Se obtine astfel secventa de text clar
y = 011010 x = 101101
Preview Sisteme sincrone Sisteme asincrone

Definitie formala

Un sistem de criptare fluid se numeste asincron


(auto-sincronizabil) daca functia de generare a cheii fluide
depinde de un numar de caractere criptate anterior:
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 ) - starea initiala
k - cheia
g - functia ce produce cheia fluida
h - functia iesire care produce care cripteaza textului clar xi
Preview Sisteme sincrone Sisteme asincrone

Sisteme asincrone - Exemple

LFSR
- registrii lineari cu feedback

Criptarea cu auto-cheie
P = C = L= Z26
cheia fluida este data de z1 = k , zi = yi−1 , i ≥ 2
pentru z ∈ Z26 , definim
ez (x) = x + z(mod26)
dz (y ) = y − z(mod26)

Exercitiu Solutia
Pentru k = 11 Se va obtine textul criptatat
codificati/decodificati textul clar DSARLSSJNG.
SPIRU HARET
Preview Sisteme sincrone Sisteme asincrone

Solutia detaliata a exercitiului anterior

Codificarea textului clar SPIRU HARET este x =18 15 8 17 20 7 0 17 4 19,


iar k = z1 = 11

Modul criptare
y1 = ez1 (x1 ) = x1 + z1 (mod26) = 18 + 11(mod26) = 3 si z2 = y1 = 3
y2 = ez2 (x2 ) = x2 + z2 (mod26) = 15 + 3(mod26) = 18 si z3 = y2 = 18
y3 = ez3 (x3 ) = x3 + z3 (mod26) = 8 + 18(mod26) = 0 si z4 = y3 = 0
y4 = ez4 (x4 ) = x4 + z4 (mod26) = 17 + 0(mod26) = 17 si z5 = y4 = 17
y5 = ez5 (x5 ) = x5 + z5 (mod26) = 20 + 17(mod26) = 11 si z6 = y5 = 11
y6 = ez6 (x6 ) = x6 + z6 (mod26) = 7 + 11(mod26) = 18 si z7 = y6 = 18
y7 = ez7 (x7 ) = x7 + z7 (mod26) = 0 + 18(mod26) = 18 si z8 = y7 = 18
y8 = ez8 (x8 ) = x8 + z8 (mod26) = 17 + 18(mod26) = 9 si z9 = y8 = 9
y9 = ez9 (x9 ) = x9 + z9 (mod26) = 4 + 9(mod26) = 13 si z10 = y9 = 13
y10 = ez10 (x10 ) = x10 + z10 (mod26) = 19 + 13(mod26) = 6
Se obtine astfel textul criptat y = 3 18 0 17 11 18 18 9 13 6 si deci
codificarea DSARLSSJNG.

Decripatrea se va realiza in mod similar.


Preview Sisteme sincrone Sisteme asincrone

Observatii

Auto-sincronizare: cum h−1 depinde de un numar fixat de


caractere criptate anterior, desincronizarea rezulta din
inserarea sau stergerea de caractere criptate (se poate
evita)
Daca starea unui sistem fluid auto-sincronizabil depinde de
t caractere anterioare, atunci modificarea
(stergerea,inserarea) unui caracter va duce la decriptarea
incorecta a maxim t caractere, dupa care decriptarea
redevine corecta.
Preview Sisteme sincrone Sisteme asincrone

Alte exemple de sisteme fluide de criptare

SEAL - sistem de criptare aditiv binar


RC4 (Rist Code 4) - creat pentru RSA Data Security Inc.
(astazi RSA Security), este un sistem aditiv fluid de
criptare destinat scopurilor comerciale

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