Documente Academic
Documente Profesional
Documente Cultură
Păun Adrian
Stancu Elena Andreea
Cifruri bloc
2
Cifruri bloc
4
Modul de cifrare ECB
6
Modul de cifrare ECB
Exerciţiu:
n=4, , m=101100010100101
• adăugăm un 0 la final pentru ca lungimea
lui m să fie divizibilă cu 4
• descompunem textul în blocuri de câte 4
biţi:m1=1011, m2=0001, m3=0100, m4=1010
• cu funcţia de criptare EPI cifrăm fiecare bloc
şi obţinem: E(m)=c1c2c3c4 cu c1=0111,
c2=0010, c3=1000, c4=0101
• c=0111001010000101
8
Modul de cifrare CBC
11
Modul de cifrare CBC
Exerciţiu:
n=4, , m=101100010100101
• adăugăm un 0 la final pentru ca lungimea
lui m să fie divizibilă cu 4
12
Modul de cifrare CBC
• c0=u;
c1=EPI(c0 m1)=EPI(0001)=0010;
c2=EPI(c1 m2)=EPI(0011)=0110;
c3=EPI(c2 m3)=EPI(0010)=0100;
c4=EPI(c3 m4)=EPI(1110)=1101.
c=0010011001001101.
13
Modul de cifrare CBC
14
Modul de cifrare CFB
15
Modul de cifrare CFB
16
Modul de cifrare CFB
18
Modul de cifrare CFB
19
Modul de cifrare CFB
Exerciţiu:
n=4, , m=101100010100101
• considerăm vectorul iniţial u=1010 şi r=3
• blocurile lui m sunt: m1=101, m2=100,
m3=010, m4=100, m5=101
j Ij Oj tj mj cj
1 1010 0101 010 101 111
2 0111 1110 111 100 011
3 1011 0111 011 010 001
4 1001 0011 001 100 101
5 1101 1011 101 101 000
20
Modul de cifrare CFB
Observaţii:
• fie A şi B participanţii la comunicaţie, A->B,
B având cj poate afla Ij+1, Oj+1, tj+1, în timp
ce A află cj+1. Când B primeşte cj+1 de la A, B
obţine imediat mj+1=cj+1 tj+1. Acest mod de
cifrare este rapid în transmiterea mesajelor.
• în CFB blocul criptat anterior este folosit ca
intrare în algoritm pentru a obţine blocul
cifrat.
21
Modul de criptare OFB (output
feedback mode)
• este foarte asemănător cu modul CFB
23
Modul de criptare OFB - criptarea
24
Modul de criptare OFB
- algoritmul de criptare -
•I1 = IV;
25
Modul de criptare OFB
- algoritmul de criptare -
• la criptarea cu OFB, IV ( vectorul iniţial ), este transformat
de către funcţia cifru pentru a produce prima ieşire ( output
block )
• primului bloc de ieşire îi este aplicată funcţia logică XOR,
cu primul bloc de text ( în clar ), pentru a produce prima
ieşire a cifrului bloc
• celui de-al doilea bloc de ieşire i se aplică funcţia logică
XOR, împreună cu al doilea bloc de text în clar, pentru a
produce a treia ieşire a cifrului bloc
• astfel blocurile succesive de ieşire sunt produse din
cifrarea cu blocurile anterioare de ieşire, iar blocurilor de
ieşire le este aplicată funcţia logică OR, împreună cu textul
iniţial în clar pentru a produce cifrul bloc în întregime.
26
Modul de criptare OFB -
decriptarea
27
Modul de criptare OFB
- algoritmul de decriptare -
•I1 = IV;
28
Modul de criptare OFB
- algoritmul de decriptare -
• la decriptarea cu OFB, IV ( vectorul iniţial ), este
transformat de către funcţia cifru (decriptare) pentru a
produce prima ieşire ( output block ) .
• acestuia i se aplică funcţia logică XOR, împreună cu
primul cifru bloc , pentru a recupera primul bloc al
mesajului iniţial.
• primul bloc de ieşire este folosit mai apoi pentru a
genera al doilea bloc de ieşire; acestuia din urmă i se
aplică funcţia XOR împreună cu al 2 lea cifru bloc,
pentru a recupera al 2 lea bloc al mesajului iniţial
• se repetă până când mesajul iniţial este recuperat în
întregime.
29
Modul de criptare OFB
31
Modul de criptare OFB
- avantaje şi limitări -
• studiile au arătat că doar OFB 64 ar trebui
folosit vreodată
33
Modul de criptare OFB - exemplu
• cheia folosită este:
• obţinem
34
Cifruri şuvoi (stream chipers)
35
Cifruri şuvoi (stream chipers)
36
Cifruri şuvoi - exemplu
37
Probabilităţi
38
Distributie de probabilitate
• Pr:P(S) → R
• Proprietăți:
• Pr(A)≥0, ∀ A⊂S
• Pr(S)=1
• A,B evenimente mutual exclusive ⇒
Pr(A∪B)=Pr(A)+Pr(B)
• Pr(A) s.n. probabilitatea lui A
• Consecințe:
• Pr(A)∈[0,1] ∀ A⊂P(S)
• Pr(Ø)=0
• Dacă A⊂B ⇒ Pr(A) ≤ Pr(B)
• Pr(S\A)=1-Pr(A) n n
• A1,A2,…,An ⊂ S două câte două mutual exclusive ⇒Pr( Ai ) = ∑ Pr( Ai )
i =1 i =1
39
Teorema lui Bayes
• Distribuția uniformă: ∀a∈S Pr(a)=1/|s|
• Probabilitatea condiționată
Pr( A ∩ B)
Pr( A | B) =
Pr(B)
• A si B sunt evenimente independente dacă
Pr( A ∩ B) = Pr( A) Pr(B) ⇔ Pr( A | B) = Pr( A)
• Teorema lui Bayes: Fie A si B două evenimente pentru care
Pr(A)>0 si Pr(B)>0. Atunci:
40
Exemplu: probabilitate condiţionată
• Aruncarea unui zar
• S={1,2,3,4,5,6}
• Distribuție uniformă:
• Pr(a)=1/6 ∀a∈S
• Se presupune că a avut loc
deja evenimentul {4,5,6}
• Care este probabilitatea ca la urmatoarea aruncare
să obținem număr par?
• A={2,4,6}
• Pr(B)=3/6
• Pr(A∩B)=Pr({4,6})=2/4
• Pr(A|B)=Pr(A∩B)/Pr(B)=(2/6)/(3/6)=2/3
41
Teorema lui Shannon - Istoric
42
Criptosistem perfect sigur
- concepte generale -
• Lungimea cheii utilizate trebuie să fie egală
cu lungimea textului ce trebuie criptat
• Pentru fiecare nou mesaj criptat se va
utiliza o cheie nouă
• Deşi există astfel de criptosisteme(ex: One
Time Pad), ele sunt utilizate doar în medii
cu un grad ridicat de securizare, necesitând
transmiterea unei cantități mari de
informație.
43
Criptosistem perfect sigur
- scenariu -
• Se consideră urmatorul scenariu:
44
Criptosistem perfect sigur
- modelare matematică -
• Se consideră un criptosistem (M,C,K,E,D) cu
• M – spațiul mesajelor ce pot fi trimise
• C – spațiul mesajelor criptate posibile
• K – spațiul tuturor cheilor ce pot fi utilizate
• Ek – funcția de criptare folosind cheia k∈K
• Dk – funcția de decriptare folosind cheia k∈K
• Pentru criptarea fiecărui mesaj nou, Alice
folosește o cheie diferită, independentă de
textul ce urmează a fi criptat.
45
Criptosistem perfect sigur
- modelare matematică -
• Se consideră:
• PrM distribuția de probabilitate pe M
• PrM(m)>0, ∀m∈M
• PrK distribuția de probabilitate pe K
• PrK(k)>0, ∀k∈K
• Pr distribuția de probabilitate pe MxK cu
Pr(m,k)= PrM(m) PrK(k) fiind probabilitatea de
apariție a mesajului m și criptarea acestuia
folosind cheia k.
• Pr(c)>0, ∀c∈C
46
Criptosistem perfect sigur
- modelare matematică -
• Se consideră evenimentele:
• Mesajul este criptat:
m = {(m, k ) | k ∈ K }
• Cheia k este folosită pentru criptare:
k = {(m, k ) | m ∈ M}
• Mesajul m este criptat folosind cheia k, iar
rezultatul este c:
c = {(m, k ) | Ek(m) = c}
• Obs: evenimentele m si k sunt independente:
m k = {(m, k ) | m ∈ M, k ∈ K }
Pr(m k ) = Pr(m, k ) = Pr(m) ⋅ Pr(k ) = Pr(m) ⋅ Pr(k ) 47
Criptosistem perfect sigur
- modelare matematică -
• Se poate demonstra că: Pr(m) = Pr M(m) , unde Pr(m)
este probabilitatea ca mesajul m să fie criptat
Pr(m) = ∑ Pr(m, k ) = ∑ Pr M(m) ⋅ Pr K(k ) = Pr M(m) ⋅ ∑ Pr K(k ) = Pr M(m)
k ∈K k ∈K k ∈K
48
Criptosistem perfect sigur
- modelare matematică -
• Se consideră că Oscar a interceptat mesajul
cifrat c și cunoaște distribuția de probabilități
PrM (cunoaște limba folosită de Alice si Bob)
• Putem spune că un criptosistem este perfect
sigur daca Oscar nu poate “invăța” nimic din
mesajul cifrat interceptat c, adică dacă apariția
lui c nu face ca anumite texte simple să fie
privilegiate.
• Definiţie: Un criptosistem (M,C,K,E,D) este
perfect sigur dacă evenimentele m si c sunt
independente:
Pr(m | c) = Pr(m), ∀m ∈ M, ∀k ∈ K
49
Criptosistem perfect sigur
- exemplu-
Fie
M={0,1} cu Pr(0)=1/4 si Pr(1)=3/4
K={A,B} cu Pr(A)=1/4 si Pr(B)=3/4
C={a,b}
Functiile de criptare EA si EB cu EA(0)=a,
EA(1)=b, EB(0)=b si EB(1)=a
50
Criptosistem perfect sigur
- exemplu-
Posibilitatea ca textul original 1 sa fie cifrat cu
cheia B este:
3 3 9
Pr(1, B) = Pr(1) ⋅ Pr(B) = ⋅ =
4 4 16
51
Criptosistem perfect sigur
- exemplu-
Calculam probabilitatile conditionate P(m, c)
52
Criptosistem perfect sigur
- exemplu-
Reamintim ca un sistem este perfect sigur daca
Pr(m | c) = Pr(m), ∀m ∈ M, ∀k ∈ K
Caz particular:
1 1
Pr(0) = Pr(0) = ≠ = Pr(0, a)
4 10
⇒ Criptosistemul nu este perfect sigur(daca
Oscar intercepteaza textul cifrat a, poate fi
aproape sigur ca mesajul original a fost 1)
53
Teorema lui Shannon
56
Întrebări
57