Sunteți pe pagina 1din 18

Laborator

Sisteme de criptare bloc


- Moduri de utilizare -

Luciana Morogan

Facultatea de Matematica-Informatica
Universitatea Spiru Haret

Laborator
Laborator

Outline

Sisteme de criptare bloc

Modul de utilizare ECB

Modul de utilizare CBC

Modul de utilizare OFB

Modul de utilizare CFB


Laborator
Sisteme de criptare bloc

Sisteme de criptare - definitie

Sistemele de criptare bloc (block cyphers):


I elemente succesive ale textului clar sunt criptate folosind
aceeasi cheie de criptare
I daca x = x1 x2 x3 . . . atunci
y = y1 y2 y3 . . . = ek (x1 )ek (x2 )ek (x3 ) . . .
Laborator
Sisteme de criptare bloc

Moduri de utilizare

I ECB (Electonic Codebook Mode)


I CBC (Cypher Block Chaining Mode)
I OFB (Output Feedback Mode)
I CFB (Cypher Feedback Mode)
Laborator
Modul de utilizare ECB

Descrierea modului de utilizare ECB

I textul clar se descompune in blocuri de lungime n; daca


este necesar, aceasta se suplimenteaza a. i. lungimea sa
fie divizibila cu n (suplimentarea poate consta din simboluri
alese aleator)
I daca este folosita cheia de criptare k , atunci fiecare bloc
de lungime n se cripteaza folosind functia ek
I textul criptat este decriptat prin aplicarea functiei dk , unde
k reprezinta cheia de decriptare corespunzatoare lui k
Laborator
Modul de utilizare ECB

Descrierea formala a modului de utilizare ECB

I Fie x = 1 2 3 . . . texul clar unde fiecare bloc de text


i , i 1 este de lungime n
I Formula de criptare cu cheia k : i = ek (i ), i 1
I Textul criptat este y = 1 2 3 . . .
Laborator
Modul de utilizare ECB

Exercitiu

I Consideram cifrul bloc care aplica permutari bitilor unui


vector de biti de lungime 4.

I Daca K =S4 , atunci pentru S4 , avem


e : [0, 1]4 [0, 1]4 , b1 b2 b3 b4 7 b(1) b(2) b(3) b(4)

In particular
Criptati textul clar x = 1011000101001010 folosind cheia
 
1 2 3 4
=
2 3 4 1
Laborator
Modul de utilizare CBC

Descrierea modului de utilizare CBC

I codificarea unui bloc nu mai depinde doar de cheie (a se


vedea ECB) ci si de blocurile anterioare
I aceleasi blocuri in contexte diferite, vor fi codificate diferit
I receptorul poate spune daca textul criptat a fost modificat,
deoarece decriptarea acestuia esueaza
Laborator
Modul de utilizare CBC

Descrierea formala a modului de utilizare CBC

I se defineste blocul initial IV = 0


I Formula de criptare cu cheia k : i = ek (i1 i ), i 1,
unde reprezinta operatia XOR pe biti
Laborator
Modul de utilizare CBC

Schematic - CBC

Criptare Decriptare
Laborator
Modul de utilizare CBC

Exercitiu

I Consideram cifrul bloc care aplica permutari bitilor unui


vector de biti de lungime 4.

I Daca K =S4 , atunci pentru S4 , avem


e : [0, 1]4 [0, 1]4 , b1 b2 b3 b4 7 b(1) b(2) b(3) b(4)

In particular
Criptati textul clar x = 1011000101001010 folosind cheia
 
1 2 3 4
=
2 3 4 1

Blocul initial este IV = 1010


Laborator
Modul de utilizare OFB

Descrierea modului de utilizare OFB

I construit conform sistemelor de criptare fluide


I se genereaza intai cheia fluida, care apoi se va combina
cu textul clar
I este o criptare sincronizabila aditiva: componentele cheii
fluide sunt obtinute prin criptarea iterativa a unui bloc initial
Laborator
Modul de utilizare OFB

Descrierea formala a modului de utilizare OFB

I Obtinerea cheii fluide


n
I se defineste blocul initial 0 = IV , IV {0, 1} si un numar
intreg pozitiv r , 1 r n
I textul clar se va descompune in blocuri de dimensiune r
I se calculeaza recursiv cheia fluida 1 2 3 . . . dupa formula
i = ek (i1 ), i 1
I Secventa de text clar x = 1 2 3 . . . se codifica cu
formula de criptare i = i i , i 1
I Textul criptat este y = 1 2 3 . . .
Laborator
Modul de utilizare OFB

Exercitiu

I Consideram acelasi cifru bloc, text clar si cheie ca la


exercitiile anterioare
I Blocul initial este IV = 1010
Sa se realizeze criptarea/decriptarea secventei de text clar.
Laborator
Modul de utilizare CFB

Descrierea modului de utilizare CFB

I construit conform sistemelor de criptare fluide, este potrivit


pentru codificarea mesajelor mari
I in cadrul aplicatiilor in timp real, poate avea totusi
probleme de eficienta
I se genereaza intai cheia fluida, care apoi se va combina
cu textul clar
I este necesar un vector de initializare
Laborator
Modul de utilizare CFB

Descrierea formala a modului de utilizare CFB

I se defineste blocul initial IV = 0 , IV {0, 1}n si un numar


intreg pozitiv r , 1 r n
I textul clar se va descompune in blocuri de dimensiune r
I se calculeaza cheia fluida 1 2 3 . . . criptand blocul de text
criptat anterior dupa formula i = ek (i1 ), i 1
I Secventa de text clar x = 1 2 3 . . . se codifica cu
formula de criptare i = i i , i 1
I Textul criptat este y = 1 2 3 . . .
Laborator
Modul de utilizare CFB

Schematic - CFB

Criptare Decriptare
Laborator
Modul de utilizare CFB

Exercitiu

I Consideram acelasi cifru bloc, text clar si cheie ca la


exercitiile anterioare
I Lungimea blocurilor in care se imparte textul clar este tot 4
I Blocul initial este IV = 1010

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