- Prelegerea 8 - Sisteme de criptare blocruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/... ·...
Transcript of - Prelegerea 8 - Sisteme de criptare blocruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/... ·...
-
riptografie şi Securitate
- Prelegerea 8 -Sisteme de criptare bloc
Adela Georgescu, Ruxandra F. Olimid
Facultatea de Matematică şi InformaticăUniversitatea din Bucureşti
-
Cuprins
1. Definiţie
2. Construcţie
3. Moduri de utilizare
4. Exemple
Criptografie şi Securitate 2/37 ,
-
Criptografia simetrică
I Am studiat sisteme simetrice care criptează bit cu bit -sisteme de criptare fluide;
I Vom studia sisteme simetrice care criptează câte n biţisimulan - sisteme de criptare bloc;
Criptografie şi Securitate 3/37 ,
-
Criptografia simetrică
I Am studiat sisteme simetrice care criptează bit cu bit -sisteme de criptare fluide;
I Vom studia sisteme simetrice care criptează câte n biţisimulan - sisteme de criptare bloc;
Criptografie şi Securitate 3/37 ,
-
Criptografia simetrică
I Am studiat sisteme simetrice care criptează bit cu bit -sisteme de criptare fluide;
I Vom studia sisteme simetrice care criptează câte n biţisimulan - sisteme de criptare bloc;
Criptografie şi Securitate 3/37 ,
-
Sisteme bloc vs. sisteme fluide
Criptografie şi Securitate 4/37 ,
-
Sisteme bloc vs. sisteme fluide
... d.p.d.v. al modului de criptare:
Sisteme fluide
I criptarea biţilor serealizează individual
I criptarea unui bit din textulclar este independentă deorice alt bit din textul clar
Sisteme bloc
I criptarea se realizează ı̂nblocuri de câte n biţi
I criptarea unui bit din textulclar este dependentă debiţii din textul clar careaparţin aceluiaşi bloc
Criptografie şi Securitate 5/37 ,
-
Sisteme bloc vs. sisteme fluide
... d.p.d.v. tradiţional, ı̂n practică:
Sisteme fluide
I necesităţi computaţionalereduse
I utilizare: telefoane mobile,dispozitive ı̂ncorporate,PDA
I par să fie mai puţin sigure,multe sunt sparte
Sisteme bloc
I necesităţi computaţionalemai avansate
I utilizare: internet
I par să fie mai sigure,prezintă ı̂ncredere mai mare
Criptografie şi Securitate 6/37 ,
-
Sisteme bloc
I Introducem noţiunea de permutare pseudoaleatoare sauPRP(PseudoRandom Permutation)
I În analogie cu ce ştim deja:
I PRP sunt necesare pentru construcţia sistemelor bloc
asa cum
I PRG sunt necesare pentru construcţia sistemelor fluide
Criptografie şi Securitate 7/37 ,
-
Sisteme bloc
I Introducem noţiunea de permutare pseudoaleatoare sauPRP(PseudoRandom Permutation)
I În analogie cu ce ştim deja:
I PRP sunt necesare pentru construcţia sistemelor bloc
asa cum
I PRG sunt necesare pentru construcţia sistemelor fluide
Criptografie şi Securitate 7/37 ,
-
Sisteme bloc
I Introducem noţiunea de permutare pseudoaleatoare sauPRP(PseudoRandom Permutation)
I În analogie cu ce ştim deja:
I PRP sunt necesare pentru construcţia sistemelor bloc
asa cum
I PRG sunt necesare pentru construcţia sistemelor fluide
Criptografie şi Securitate 7/37 ,
-
Sisteme bloc
Sisteme fluide Sisteme bloc
Criptografie şi Securitate 8/37 ,
-
PRP
I Ramâne să definim noţiunea de permutare pseudoaleatoaresau PRP (PseudoRandom Permutation);
I Acesta este o funcţie deterministă şi bijectivă care pentru ocheie fixată produce la ieşire o permutare a intrării ...
I ... indistinctibilă faţă de o permutare aleatoare;
I În plus, atât funcţia cât şi inversa sa sunt eficient calculabile.
Criptografie şi Securitate 9/37 ,
-
PRP
I Ramâne să definim noţiunea de permutare pseudoaleatoaresau PRP (PseudoRandom Permutation);
I Acesta este o funcţie deterministă şi bijectivă care pentru ocheie fixată produce la ieşire o permutare a intrării ...
I ... indistinctibilă faţă de o permutare aleatoare;
I În plus, atât funcţia cât şi inversa sa sunt eficient calculabile.
Criptografie şi Securitate 9/37 ,
-
PRP
I Ramâne să definim noţiunea de permutare pseudoaleatoaresau PRP (PseudoRandom Permutation);
I Acesta este o funcţie deterministă şi bijectivă care pentru ocheie fixată produce la ieşire o permutare a intrării ...
I ... indistinctibilă faţă de o permutare aleatoare;
I În plus, atât funcţia cât şi inversa sa sunt eficient calculabile.
Criptografie şi Securitate 9/37 ,
-
PRP
I Ramâne să definim noţiunea de permutare pseudoaleatoaresau PRP (PseudoRandom Permutation);
I Acesta este o funcţie deterministă şi bijectivă care pentru ocheie fixată produce la ieşire o permutare a intrării ...
I ... indistinctibilă faţă de o permutare aleatoare;
I În plus, atât funcţia cât şi inversa sa sunt eficient calculabile.
Criptografie şi Securitate 9/37 ,
-
PRP
Definitie
O permutare pseudoaleatoare definită peste (K,X ) este o funcţiebijectivă
F : X ×K → X
care satisface următoarele proprietăţi:
1. Eficienţă: ∀k ∈ K, x ∈ X ,∃ algoritmi determinişti PPT carecalculează Fk(x) şi F
−1k (x)
2. Pseudoaleatorism: ∀ algoritm PPT D, ∃ o funcţie neglijabilănegl a.̂ı.:
|Pr [D(r) = 1]− Pr [D(Fk(·)) = 1]| ≤ negl(n)
unde r ←R Perm(X ), k ←R K
Criptografie şi Securitate 10/37 ,
-
Notaţii
I Fk(x) = F (k , x)o cheie este ı̂n general (aleator) aleasă şi apoi fixată
I Perm(X ) = mulţimea tuturor funcţiilor bijective de la X la X
I X = {0, 1}n
I D = Distringuisher care are acces la oracolul de evaluare afuncţiei
Criptografie şi Securitate 11/37 ,
-
PRF
I Introducem noţiunea de funcţie pseudoaleatoare sau PRF(PseudoRandom Function)...
I ... ca o generalizare noţiunii de permutare pseudoaleatoare;
I Acesta este o funcţie cu cheie care este indistinctibilă faţă deo funcţie aleatoare (cu acelaşi domeniu şi mulţime de valori).
Criptografie şi Securitate 12/37 ,
-
PRF
I Introducem noţiunea de funcţie pseudoaleatoare sau PRF(PseudoRandom Function)...
I ... ca o generalizare noţiunii de permutare pseudoaleatoare;
I Acesta este o funcţie cu cheie care este indistinctibilă faţă deo funcţie aleatoare (cu acelaşi domeniu şi mulţime de valori).
Criptografie şi Securitate 12/37 ,
-
PRF
I Introducem noţiunea de funcţie pseudoaleatoare sau PRF(PseudoRandom Function)...
I ... ca o generalizare noţiunii de permutare pseudoaleatoare;
I Acesta este o funcţie cu cheie care este indistinctibilă faţă deo funcţie aleatoare (cu acelaşi domeniu şi mulţime de valori).
Criptografie şi Securitate 12/37 ,
-
PRF
Definitie
O funcţie pseudoaleatoare definită peste (K,X ,Y) este o funcţiebijectivă
F : X ×K → Y
care satisface următoarele proprietăţi:
1. Eficienţă: ∀k ∈ K, x ∈ X ,∃ algoritm PPT care calculeazăFk(x)
2. Pseudoaleatorism: ∀ algoritm PPT D, ∃ o funcţie neglijabilănegl a.̂ı.:
|Pr [D(r) = 1]− Pr [D(Fk(·)) = 1]| ≤ negl(n)
unde r ←R Func(X ,Y ), k ←R K
Criptografie şi Securitate 13/37 ,
-
Notaţii
I Fk(x) = F (k , x)o cheie este ı̂n general (aleator) aleasă şi apoi fixată
I Func(X ,Y ) = mulţimea funcţiilor de la X la Y
I X = {0, 1}n, Y = {0, 1}nconsiderăm ı̂n general că PRF păstrează lungimea
I D = Distringuisher care are acces la oracolul de evaluare afuncţiei
Criptografie şi Securitate 14/37 ,
-
PRP ⊆ PRF
I Întrebare: De ce PRF poate fi privită ca o generalizare aPRP?
I Răspuns: PRP este PRF care satisface:
1. X = Y
2. este inversabilă
3. calculul funcţiei inverse este eficient
Criptografie şi Securitate 15/37 ,
-
PRP ⊆ PRF
I Întrebare: De ce PRF poate fi privită ca o generalizare aPRP?
I Răspuns: PRP este PRF care satisface:
1. X = Y
2. este inversabilă
3. calculul funcţiei inverse este eficient
Criptografie şi Securitate 15/37 ,
-
PRP ⊆ PRF
I Întrebare: De ce PRF poate fi privită ca o generalizare aPRP?
I Răspuns: PRP este PRF care satisface:
1. X = Y
2. este inversabilă
3. calculul funcţiei inverse este eficient
Criptografie şi Securitate 15/37 ,
-
Construcţii
I PRF⇒ PRGPornind de la PRF se poate construi PRG
I PRG⇒ PRFPornind de la PRG se poate construi PRF
I PRP⇒ PRFPornind de la PRP se poate construi PRF
I PRF⇒ PRPPornind de la PRF se poate construi PRP
Întrebare: Care dintre aceste construcţii este trivială?
Criptografie şi Securitate 16/37 ,
-
Construcţii
I PRF⇒ PRGPornind de la PRF se poate construi PRG
I PRG⇒ PRFPornind de la PRG se poate construi PRF
I PRP⇒ PRFPornind de la PRP se poate construi PRF
I PRF⇒ PRPPornind de la PRF se poate construi PRP
Întrebare: Care dintre aceste construcţii este trivială?
Criptografie şi Securitate 16/37 ,
-
Construcţii
I PRF⇒ PRGPornind de la PRF se poate construi PRG
I PRG⇒ PRFPornind de la PRG se poate construi PRF
I PRP⇒ PRFPornind de la PRP se poate construi PRF
I PRF⇒ PRPPornind de la PRF se poate construi PRP
Întrebare: Care dintre aceste construcţii este trivială?
Criptografie şi Securitate 16/37 ,
-
Construcţii
I PRF⇒ PRGPornind de la PRF se poate construi PRG
I PRG⇒ PRFPornind de la PRG se poate construi PRF
I PRP⇒ PRFPornind de la PRP se poate construi PRF
I PRF⇒ PRPPornind de la PRF se poate construi PRP
Întrebare: Care dintre aceste construcţii este trivială?
Criptografie şi Securitate 16/37 ,
-
Construcţii
I PRF⇒ PRGPornind de la PRF se poate construi PRG
I PRG⇒ PRFPornind de la PRG se poate construi PRF
I PRP⇒ PRFPornind de la PRP se poate construi PRF
I PRF⇒ PRPPornind de la PRF se poate construi PRP
Întrebare: Care dintre aceste construcţii este trivială?
Criptografie şi Securitate 16/37 ,
-
Construcţii
Răspuns: PRP⇒ PRF
PRP este o particularizare a PRF : X ×K → Y care satisface:
1. X = Y
2. este inversabilă
3. calculul funcţiei inverse este eficient
Criptografie şi Securitate 17/37 ,
-
Construcţii
Răspuns: PRP⇒ PRF
PRP este o particularizare a PRF : X ×K → Y care satisface:
1. X = Y
2. este inversabilă
3. calculul funcţiei inverse este eficient
Criptografie şi Securitate 17/37 ,
-
Construcţii
I PRF⇒ PRGPornind de la PRF se poate construi PRG
I PRG⇒ PRFPornind de la PRG se poate construi PRF
I PRP⇒ PRF√
Pornind de la PRP se poate construi PRF
I PRF⇒ PRPPornind de la PRF se poate construi PRP
Criptografie şi Securitate 18/37 ,
-
PRF ⇒ PRG
I Considerăm F : K × {0, 1}n → {0, 1}n PRF;
I Construim G : K → {0, 1}nl PRG sigur:
G (k) = Fk(0)||Fk(1)|| . . . ||Fk(l − 1)
I Întrebare: De ce este G sigur?
I Răspuns: Fk(·) este indistinctibilă faţă de o funcţie aleatoare⇒ G (k) este indistinctibilă faţă de o secvenţă aleatoare delungime ln.
I Avantaj: Construcţia este paralelizabilă
Criptografie şi Securitate 19/37 ,
-
PRF ⇒ PRG
I Considerăm F : K × {0, 1}n → {0, 1}n PRF;
I Construim G : K → {0, 1}nl PRG sigur:
G (k) = Fk(0)||Fk(1)|| . . . ||Fk(l − 1)
I Întrebare: De ce este G sigur?
I Răspuns: Fk(·) este indistinctibilă faţă de o funcţie aleatoare⇒ G (k) este indistinctibilă faţă de o secvenţă aleatoare delungime ln.
I Avantaj: Construcţia este paralelizabilă
Criptografie şi Securitate 19/37 ,
-
PRF ⇒ PRG
I Considerăm F : K × {0, 1}n → {0, 1}n PRF;
I Construim G : K → {0, 1}nl PRG sigur:
G (k) = Fk(0)||Fk(1)|| . . . ||Fk(l − 1)
I Întrebare: De ce este G sigur?
I Răspuns: Fk(·) este indistinctibilă faţă de o funcţie aleatoare⇒ G (k) este indistinctibilă faţă de o secvenţă aleatoare delungime ln.
I Avantaj: Construcţia este paralelizabilă
Criptografie şi Securitate 19/37 ,
-
PRF ⇒ PRG
I Considerăm F : K × {0, 1}n → {0, 1}n PRF;
I Construim G : K → {0, 1}nl PRG sigur:
G (k) = Fk(0)||Fk(1)|| . . . ||Fk(l − 1)
I Întrebare: De ce este G sigur?
I Răspuns: Fk(·) este indistinctibilă faţă de o funcţie aleatoare
⇒ G (k) este indistinctibilă faţă de o secvenţă aleatoare delungime ln.
I Avantaj: Construcţia este paralelizabilă
Criptografie şi Securitate 19/37 ,
-
PRF ⇒ PRG
I Considerăm F : K × {0, 1}n → {0, 1}n PRF;
I Construim G : K → {0, 1}nl PRG sigur:
G (k) = Fk(0)||Fk(1)|| . . . ||Fk(l − 1)
I Întrebare: De ce este G sigur?
I Răspuns: Fk(·) este indistinctibilă faţă de o funcţie aleatoare⇒ G (k) este indistinctibilă faţă de o secvenţă aleatoare delungime ln.
I Avantaj: Construcţia este paralelizabilă
Criptografie şi Securitate 19/37 ,
-
PRF ⇒ PRG
I Considerăm F : K × {0, 1}n → {0, 1}n PRF;
I Construim G : K → {0, 1}nl PRG sigur:
G (k) = Fk(0)||Fk(1)|| . . . ||Fk(l − 1)
I Întrebare: De ce este G sigur?
I Răspuns: Fk(·) este indistinctibilă faţă de o funcţie aleatoare⇒ G (k) este indistinctibilă faţă de o secvenţă aleatoare delungime ln.
I Avantaj: Construcţia este paralelizabilă
Criptografie şi Securitate 19/37 ,
-
Construcţii
I PRF⇒ PRG√
Pornind de la PRF se poate construi PRG
I PRG⇒ PRFPornind de la PRG se poate construi PRF
I PRP⇒ PRF√
Pornind de la PRP se poate construi PRF
I PRF⇒ PRPPornind de la PRF se poate construi PRP
Criptografie şi Securitate 20/37 ,
-
PRG ⇒ PRFI Considerăm G : K → K2 PRG cu |K| = n:
G (k) = (G0(k),G1(k))
G0(k) şi G1(k) sunt prima şi a doua jumătate a ieşirii din PRG
I Construim F : K × {0, 1} → K PRF :
Fk(0) = G0(k),Fk(1) = G1(k)
Fk(0) ı̂ntoarce prima jumătate a secvenţei pseudoaleatoare G(k)
Fk(1) ı̂ntoarce a doua jumătate a secvenţei pseudoaleatoare G(k)
I Întrebare: De ce este F sigură?I Răspuns: G (k) este indistinctibilă faţă de o secvenţă aleatoare
de lungime 2n⇒ G0(k) şi G1(k) sunt indistinctibile faţă de o secvenţăaleatoare de lungime n⇒ pentru k ←R {0, 1}, Fk(·) este indistinctibilă faţă de ofuncţie aleatoare.
Criptografie şi Securitate 21/37 ,
-
PRG ⇒ PRFI Considerăm G : K → K2 PRG cu |K| = n:
G (k) = (G0(k),G1(k))
G0(k) şi G1(k) sunt prima şi a doua jumătate a ieşirii din PRG
I Construim F : K × {0, 1} → K PRF :
Fk(0) = G0(k),Fk(1) = G1(k)
Fk(0) ı̂ntoarce prima jumătate a secvenţei pseudoaleatoare G(k)
Fk(1) ı̂ntoarce a doua jumătate a secvenţei pseudoaleatoare G(k)
I Întrebare: De ce este F sigură?I Răspuns: G (k) este indistinctibilă faţă de o secvenţă aleatoare
de lungime 2n⇒ G0(k) şi G1(k) sunt indistinctibile faţă de o secvenţăaleatoare de lungime n⇒ pentru k ←R {0, 1}, Fk(·) este indistinctibilă faţă de ofuncţie aleatoare.
Criptografie şi Securitate 21/37 ,
-
PRG ⇒ PRFI Considerăm G : K → K2 PRG cu |K| = n:
G (k) = (G0(k),G1(k))
G0(k) şi G1(k) sunt prima şi a doua jumătate a ieşirii din PRG
I Construim F : K × {0, 1} → K PRF :
Fk(0) = G0(k),Fk(1) = G1(k)
Fk(0) ı̂ntoarce prima jumătate a secvenţei pseudoaleatoare G(k)
Fk(1) ı̂ntoarce a doua jumătate a secvenţei pseudoaleatoare G(k)
I Întrebare: De ce este F sigură?
I Răspuns: G (k) este indistinctibilă faţă de o secvenţă aleatoarede lungime 2n⇒ G0(k) şi G1(k) sunt indistinctibile faţă de o secvenţăaleatoare de lungime n⇒ pentru k ←R {0, 1}, Fk(·) este indistinctibilă faţă de ofuncţie aleatoare.
Criptografie şi Securitate 21/37 ,
-
PRG ⇒ PRFI Considerăm G : K → K2 PRG cu |K| = n:
G (k) = (G0(k),G1(k))
G0(k) şi G1(k) sunt prima şi a doua jumătate a ieşirii din PRG
I Construim F : K × {0, 1} → K PRF :
Fk(0) = G0(k),Fk(1) = G1(k)
Fk(0) ı̂ntoarce prima jumătate a secvenţei pseudoaleatoare G(k)
Fk(1) ı̂ntoarce a doua jumătate a secvenţei pseudoaleatoare G(k)
I Întrebare: De ce este F sigură?I Răspuns: G (k) este indistinctibilă faţă de o secvenţă aleatoare
de lungime 2n
⇒ G0(k) şi G1(k) sunt indistinctibile faţă de o secvenţăaleatoare de lungime n⇒ pentru k ←R {0, 1}, Fk(·) este indistinctibilă faţă de ofuncţie aleatoare.
Criptografie şi Securitate 21/37 ,
-
PRG ⇒ PRFI Considerăm G : K → K2 PRG cu |K| = n:
G (k) = (G0(k),G1(k))
G0(k) şi G1(k) sunt prima şi a doua jumătate a ieşirii din PRG
I Construim F : K × {0, 1} → K PRF :
Fk(0) = G0(k),Fk(1) = G1(k)
Fk(0) ı̂ntoarce prima jumătate a secvenţei pseudoaleatoare G(k)
Fk(1) ı̂ntoarce a doua jumătate a secvenţei pseudoaleatoare G(k)
I Întrebare: De ce este F sigură?I Răspuns: G (k) este indistinctibilă faţă de o secvenţă aleatoare
de lungime 2n⇒ G0(k) şi G1(k) sunt indistinctibile faţă de o secvenţăaleatoare de lungime n
⇒ pentru k ←R {0, 1}, Fk(·) este indistinctibilă faţă de ofuncţie aleatoare.
Criptografie şi Securitate 21/37 ,
-
PRG ⇒ PRFI Considerăm G : K → K2 PRG cu |K| = n:
G (k) = (G0(k),G1(k))
G0(k) şi G1(k) sunt prima şi a doua jumătate a ieşirii din PRG
I Construim F : K × {0, 1} → K PRF :
Fk(0) = G0(k),Fk(1) = G1(k)
Fk(0) ı̂ntoarce prima jumătate a secvenţei pseudoaleatoare G(k)
Fk(1) ı̂ntoarce a doua jumătate a secvenţei pseudoaleatoare G(k)
I Întrebare: De ce este F sigură?I Răspuns: G (k) este indistinctibilă faţă de o secvenţă aleatoare
de lungime 2n⇒ G0(k) şi G1(k) sunt indistinctibile faţă de o secvenţăaleatoare de lungime n⇒ pentru k ←R {0, 1}, Fk(·) este indistinctibilă faţă de ofuncţie aleatoare.
Criptografie şi Securitate 21/37 ,
-
PRG ⇒ PRFI Construcţia pentru un singur bit de intrare...
Criptografie şi Securitate 22/37 ,
-
PRG ⇒ PRFI ...se poate generaliza pentru un număr oarecare de biţi
Criptografie şi Securitate 23/37 ,
-
PRG ⇒ PRF
I Construcţia poate fi reprezentată ca un arbore binar cu cheiak rădăcină;
I Pentru un nod de valoare k ′, copilul stâng ia valoarea G0(k′)
şi copilul drept ia valoare G1(k′);
I Valoarea funcţiei Fk(x) = Fk(x0, . . . , xn−1) este obţinută prinparcurgerea arborelui ı̂n funcţie de x ;
I Adâncimea arborelui este liniară ı̂n n (n);
I Dimensiunea arborelui este exponenţială ı̂n n (2n);
I NU se utilizează ı̂n practică din cauza performanţei scăzute.
Criptografie şi Securitate 24/37 ,
-
PRG ⇒ PRF
I Construcţia poate fi reprezentată ca un arbore binar cu cheiak rădăcină;
I Pentru un nod de valoare k ′, copilul stâng ia valoarea G0(k′)
şi copilul drept ia valoare G1(k′);
I Valoarea funcţiei Fk(x) = Fk(x0, . . . , xn−1) este obţinută prinparcurgerea arborelui ı̂n funcţie de x ;
I Adâncimea arborelui este liniară ı̂n n (n);
I Dimensiunea arborelui este exponenţială ı̂n n (2n);
I NU se utilizează ı̂n practică din cauza performanţei scăzute.
Criptografie şi Securitate 24/37 ,
-
PRG ⇒ PRF
I Construcţia poate fi reprezentată ca un arbore binar cu cheiak rădăcină;
I Pentru un nod de valoare k ′, copilul stâng ia valoarea G0(k′)
şi copilul drept ia valoare G1(k′);
I Valoarea funcţiei Fk(x) = Fk(x0, . . . , xn−1) este obţinută prinparcurgerea arborelui ı̂n funcţie de x ;
I Adâncimea arborelui este liniară ı̂n n (n);
I Dimensiunea arborelui este exponenţială ı̂n n (2n);
I NU se utilizează ı̂n practică din cauza performanţei scăzute.
Criptografie şi Securitate 24/37 ,
-
PRG ⇒ PRF
I Construcţia poate fi reprezentată ca un arbore binar cu cheiak rădăcină;
I Pentru un nod de valoare k ′, copilul stâng ia valoarea G0(k′)
şi copilul drept ia valoare G1(k′);
I Valoarea funcţiei Fk(x) = Fk(x0, . . . , xn−1) este obţinută prinparcurgerea arborelui ı̂n funcţie de x ;
I Adâncimea arborelui este liniară ı̂n n (n);
I Dimensiunea arborelui este exponenţială ı̂n n (2n);
I NU se utilizează ı̂n practică din cauza performanţei scăzute.
Criptografie şi Securitate 24/37 ,
-
PRG ⇒ PRF
I Construcţia poate fi reprezentată ca un arbore binar cu cheiak rădăcină;
I Pentru un nod de valoare k ′, copilul stâng ia valoarea G0(k′)
şi copilul drept ia valoare G1(k′);
I Valoarea funcţiei Fk(x) = Fk(x0, . . . , xn−1) este obţinută prinparcurgerea arborelui ı̂n funcţie de x ;
I Adâncimea arborelui este liniară ı̂n n (n);
I Dimensiunea arborelui este exponenţială ı̂n n (2n);
I NU se utilizează ı̂n practică din cauza performanţei scăzute.
Criptografie şi Securitate 24/37 ,
-
PRG ⇒ PRF
I Construcţia poate fi reprezentată ca un arbore binar cu cheiak rădăcină;
I Pentru un nod de valoare k ′, copilul stâng ia valoarea G0(k′)
şi copilul drept ia valoare G1(k′);
I Valoarea funcţiei Fk(x) = Fk(x0, . . . , xn−1) este obţinută prinparcurgerea arborelui ı̂n funcţie de x ;
I Adâncimea arborelui este liniară ı̂n n (n);
I Dimensiunea arborelui este exponenţială ı̂n n (2n);
I NU se utilizează ı̂n practică din cauza performanţei scăzute.
Criptografie şi Securitate 24/37 ,
-
Construcţii
I PRF⇒ PRG√
Pornind de la PRF se poate construi PRG
I PRG⇒ PRF√
Pornind de la PRG se poate construi PRF
I PRP⇒ PRF√
Pornind de la PRP se poate construi PRF
I PRF⇒ PRPPornind de la PRF se poate construi PRP
Criptografie şi Securitate 25/37 ,
-
PRF ⇒ PRP
Teorema (Luby-Rackoff ’85)
Dacă F : K × {0, 1}n → {0, 1}n este PRF , se poate construiF ′ : K × {0, 1}2 → {0, 1}2 PRP.
I Construcţia foloseşte runde Feistel, pe care le vom prezentaı̂ntr-un curs ulterior.
Criptografie şi Securitate 26/37 ,
-
PRF ⇒ PRP
Teorema (Luby-Rackoff ’85)
Dacă F : K × {0, 1}n → {0, 1}n este PRF , se poate construiF ′ : K × {0, 1}2 → {0, 1}2 PRP.
I Construcţia foloseşte runde Feistel, pe care le vom prezentaı̂ntr-un curs ulterior.
Criptografie şi Securitate 26/37 ,
-
Moduri de utilizare
I Să continuam cu ceva mai practic...
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mică decât dimensiunea unui bloc?
I Răspuns: Se completează cu biţi: 1 0 . . . 0;
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mare decât lungimea unui bloc?
I Răspuns: Se utilizează un mod de operare (ECB, CBC,OFB, CTR);
I Notăm cu Fk un sistem de criptare bloc (i.e. PRP) cu cheia kfixată.
Criptografie şi Securitate 27/37 ,
-
Moduri de utilizare
I Să continuam cu ceva mai practic...
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mică decât dimensiunea unui bloc?
I Răspuns: Se completează cu biţi: 1 0 . . . 0;
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mare decât lungimea unui bloc?
I Răspuns: Se utilizează un mod de operare (ECB, CBC,OFB, CTR);
I Notăm cu Fk un sistem de criptare bloc (i.e. PRP) cu cheia kfixată.
Criptografie şi Securitate 27/37 ,
-
Moduri de utilizare
I Să continuam cu ceva mai practic...
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mică decât dimensiunea unui bloc?
I Răspuns: Se completează cu biţi: 1 0 . . . 0;
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mare decât lungimea unui bloc?
I Răspuns: Se utilizează un mod de operare (ECB, CBC,OFB, CTR);
I Notăm cu Fk un sistem de criptare bloc (i.e. PRP) cu cheia kfixată.
Criptografie şi Securitate 27/37 ,
-
Moduri de utilizare
I Să continuam cu ceva mai practic...
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mică decât dimensiunea unui bloc?
I Răspuns: Se completează cu biţi: 1 0 . . . 0;
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mare decât lungimea unui bloc?
I Răspuns: Se utilizează un mod de operare (ECB, CBC,OFB, CTR);
I Notăm cu Fk un sistem de criptare bloc (i.e. PRP) cu cheia kfixată.
Criptografie şi Securitate 27/37 ,
-
Moduri de utilizare
I Să continuam cu ceva mai practic...
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mică decât dimensiunea unui bloc?
I Răspuns: Se completează cu biţi: 1 0 . . . 0;
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mare decât lungimea unui bloc?
I Răspuns: Se utilizează un mod de operare (ECB, CBC,OFB, CTR);
I Notăm cu Fk un sistem de criptare bloc (i.e. PRP) cu cheia kfixată.
Criptografie şi Securitate 27/37 ,
-
Moduri de utilizare
I Să continuam cu ceva mai practic...
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mică decât dimensiunea unui bloc?
I Răspuns: Se completează cu biţi: 1 0 . . . 0;
I Întrebare: Ce se ı̂ntâmplă dacă lungimea mesajului clar estemai mare decât lungimea unui bloc?
I Răspuns: Se utilizează un mod de operare (ECB, CBC,OFB, CTR);
I Notăm cu Fk un sistem de criptare bloc (i.e. PRP) cu cheia kfixată.
Criptografie şi Securitate 27/37 ,
-
Modul ECB (Electronic Code Book)
Criptografie şi Securitate 28/37 ,
-
Modul ECB (Electronic Code Book)
I Pare modul cel mai natural de a cripta mai multe blocuri;
I Pentru decriptare, Fk trebuie să fie inversabliă;
I Este paralelizabil;
I Este determinist, deci este nesigur;
I Întrebare: Ce informaţii poate să ofere modul de criptare ECBunui adversar pasiv?
I Răspuns: Un adversar pasiv detectează repetarea unui bloc detext clar pentru că se repetă blocul criptat corespunzător;
I Modul ECB NU trebuie utilizat ı̂n practică!
Criptografie şi Securitate 29/37 ,
-
Modul ECB (Electronic Code Book)
I Pare modul cel mai natural de a cripta mai multe blocuri;
I Pentru decriptare, Fk trebuie să fie inversabliă;
I Este paralelizabil;
I Este determinist, deci este nesigur;
I Întrebare: Ce informaţii poate să ofere modul de criptare ECBunui adversar pasiv?
I Răspuns: Un adversar pasiv detectează repetarea unui bloc detext clar pentru că se repetă blocul criptat corespunzător;
I Modul ECB NU trebuie utilizat ı̂n practică!
Criptografie şi Securitate 29/37 ,
-
Modul ECB (Electronic Code Book)
I Pare modul cel mai natural de a cripta mai multe blocuri;
I Pentru decriptare, Fk trebuie să fie inversabliă;
I Este paralelizabil;
I Este determinist, deci este nesigur;
I Întrebare: Ce informaţii poate să ofere modul de criptare ECBunui adversar pasiv?
I Răspuns: Un adversar pasiv detectează repetarea unui bloc detext clar pentru că se repetă blocul criptat corespunzător;
I Modul ECB NU trebuie utilizat ı̂n practică!
Criptografie şi Securitate 29/37 ,
-
Modul ECB (Electronic Code Book)
I Pare modul cel mai natural de a cripta mai multe blocuri;
I Pentru decriptare, Fk trebuie să fie inversabliă;
I Este paralelizabil;
I Este determinist, deci este nesigur;
I Întrebare: Ce informaţii poate să ofere modul de criptare ECBunui adversar pasiv?
I Răspuns: Un adversar pasiv detectează repetarea unui bloc detext clar pentru că se repetă blocul criptat corespunzător;
I Modul ECB NU trebuie utilizat ı̂n practică!
Criptografie şi Securitate 29/37 ,
-
Modul ECB (Electronic Code Book)
I Pare modul cel mai natural de a cripta mai multe blocuri;
I Pentru decriptare, Fk trebuie să fie inversabliă;
I Este paralelizabil;
I Este determinist, deci este nesigur;
I Întrebare: Ce informaţii poate să ofere modul de criptare ECBunui adversar pasiv?
I Răspuns: Un adversar pasiv detectează repetarea unui bloc detext clar pentru că se repetă blocul criptat corespunzător;
I Modul ECB NU trebuie utilizat ı̂n practică!
Criptografie şi Securitate 29/37 ,
-
Modul ECB (Electronic Code Book)
I Pare modul cel mai natural de a cripta mai multe blocuri;
I Pentru decriptare, Fk trebuie să fie inversabliă;
I Este paralelizabil;
I Este determinist, deci este nesigur;
I Întrebare: Ce informaţii poate să ofere modul de criptare ECBunui adversar pasiv?
I Răspuns: Un adversar pasiv detectează repetarea unui bloc detext clar pentru că se repetă blocul criptat corespunzător;
I Modul ECB NU trebuie utilizat ı̂n practică!
Criptografie şi Securitate 29/37 ,
-
Modul ECB (Electronic Code Book)
I Pare modul cel mai natural de a cripta mai multe blocuri;
I Pentru decriptare, Fk trebuie să fie inversabliă;
I Este paralelizabil;
I Este determinist, deci este nesigur;
I Întrebare: Ce informaţii poate să ofere modul de criptare ECBunui adversar pasiv?
I Răspuns: Un adversar pasiv detectează repetarea unui bloc detext clar pentru că se repetă blocul criptat corespunzător;
I Modul ECB NU trebuie utilizat ı̂n practică!
Criptografie şi Securitate 29/37 ,
-
Modul CBC (Cipher Block Chaining)
Criptografie şi Securitate 30/37 ,
-
Modul CBC (Cipher Block Chaining)
I IV este o ales ı̂n mod aleator la criptare;
I IV se transmite ı̂n clar pentru ca este necesar la decriptare;
I Pentru decriptare, Fk trebuie să fie inversabliă;
I Este secvenţial, un dezavantaj major dacă se poate utilizaprocesarea paralelă.
Criptografie şi Securitate 31/37 ,
-
Modul CBC (Cipher Block Chaining)
I IV este o ales ı̂n mod aleator la criptare;
I IV se transmite ı̂n clar pentru ca este necesar la decriptare;
I Pentru decriptare, Fk trebuie să fie inversabliă;
I Este secvenţial, un dezavantaj major dacă se poate utilizaprocesarea paralelă.
Criptografie şi Securitate 31/37 ,
-
Modul CBC (Cipher Block Chaining)
I IV este o ales ı̂n mod aleator la criptare;
I IV se transmite ı̂n clar pentru ca este necesar la decriptare;
I Pentru decriptare, Fk trebuie să fie inversabliă;
I Este secvenţial, un dezavantaj major dacă se poate utilizaprocesarea paralelă.
Criptografie şi Securitate 31/37 ,
-
Modul CBC (Cipher Block Chaining)
I IV este o ales ı̂n mod aleator la criptare;
I IV se transmite ı̂n clar pentru ca este necesar la decriptare;
I Pentru decriptare, Fk trebuie să fie inversabliă;
I Este secvenţial, un dezavantaj major dacă se poate utilizaprocesarea paralelă.
Criptografie şi Securitate 31/37 ,
-
Modul OFB (Output FeedBack)
Criptografie şi Securitate 32/37 ,
-
Modul OFB (Output FeedBack)
I Generează o secvenţă pseudoaleatoare care se XOR-eazămesajului clar;
I IV este o ales ı̂n mod aleator la criptare;
I IV se transmite ı̂n clar pentru ca este necesar la decriptare;
I Fk nu trebuie neapărat să fie inversabliă;
I Este secvenţial, ı̂nsă secvenţa pseudoaleatoare poate fipre-procesată anterior decriptării.
Criptografie şi Securitate 33/37 ,
-
Modul OFB (Output FeedBack)
I Generează o secvenţă pseudoaleatoare care se XOR-eazămesajului clar;
I IV este o ales ı̂n mod aleator la criptare;
I IV se transmite ı̂n clar pentru ca este necesar la decriptare;
I Fk nu trebuie neapărat să fie inversabliă;
I Este secvenţial, ı̂nsă secvenţa pseudoaleatoare poate fipre-procesată anterior decriptării.
Criptografie şi Securitate 33/37 ,
-
Modul OFB (Output FeedBack)
I Generează o secvenţă pseudoaleatoare care se XOR-eazămesajului clar;
I IV este o ales ı̂n mod aleator la criptare;
I IV se transmite ı̂n clar pentru ca este necesar la decriptare;
I Fk nu trebuie neapărat să fie inversabliă;
I Este secvenţial, ı̂nsă secvenţa pseudoaleatoare poate fipre-procesată anterior decriptării.
Criptografie şi Securitate 33/37 ,
-
Modul OFB (Output FeedBack)
I Generează o secvenţă pseudoaleatoare care se XOR-eazămesajului clar;
I IV este o ales ı̂n mod aleator la criptare;
I IV se transmite ı̂n clar pentru ca este necesar la decriptare;
I Fk nu trebuie neapărat să fie inversabliă;
I Este secvenţial, ı̂nsă secvenţa pseudoaleatoare poate fipre-procesată anterior decriptării.
Criptografie şi Securitate 33/37 ,
-
Modul OFB (Output FeedBack)
I Generează o secvenţă pseudoaleatoare care se XOR-eazămesajului clar;
I IV este o ales ı̂n mod aleator la criptare;
I IV se transmite ı̂n clar pentru ca este necesar la decriptare;
I Fk nu trebuie neapărat să fie inversabliă;
I Este secvenţial, ı̂nsă secvenţa pseudoaleatoare poate fipre-procesată anterior decriptării.
Criptografie şi Securitate 33/37 ,
-
Modul CTR (Counter)
Criptografie şi Securitate 34/37 ,
-
Modul CTR (Counter)
I Generează o secvenţă pseudoaleatoare care se XOR-eazămesajului clar;
I ctr este o ales ı̂n mod aleator la criptare;
I ctr se transmite ı̂n clar pentru ca este necesar la decriptare;
I Fk nu trebuie neapărat să fie inversabliă;
I Este paralelizabil;
I În plus, secvenţa pseudoaleatoare poate fi pre-procesatăanterior decriptării.
Criptografie şi Securitate 35/37 ,
-
Modul CTR (Counter)
I Generează o secvenţă pseudoaleatoare care se XOR-eazămesajului clar;
I ctr este o ales ı̂n mod aleator la criptare;
I ctr se transmite ı̂n clar pentru ca este necesar la decriptare;
I Fk nu trebuie neapărat să fie inversabliă;
I Este paralelizabil;
I În plus, secvenţa pseudoaleatoare poate fi pre-procesatăanterior decriptării.
Criptografie şi Securitate 35/37 ,
-
Modul CTR (Counter)
I Generează o secvenţă pseudoaleatoare care se XOR-eazămesajului clar;
I ctr este o ales ı̂n mod aleator la criptare;
I ctr se transmite ı̂n clar pentru ca este necesar la decriptare;
I Fk nu trebuie neapărat să fie inversabliă;
I Este paralelizabil;
I În plus, secvenţa pseudoaleatoare poate fi pre-procesatăanterior decriptării.
Criptografie şi Securitate 35/37 ,
-
Modul CTR (Counter)
I Generează o secvenţă pseudoaleatoare care se XOR-eazămesajului clar;
I ctr este o ales ı̂n mod aleator la criptare;
I ctr se transmite ı̂n clar pentru ca este necesar la decriptare;
I Fk nu trebuie neapărat să fie inversabliă;
I Este paralelizabil;
I În plus, secvenţa pseudoaleatoare poate fi pre-procesatăanterior decriptării.
Criptografie şi Securitate 35/37 ,
-
Modul CTR (Counter)
I Generează o secvenţă pseudoaleatoare care se XOR-eazămesajului clar;
I ctr este o ales ı̂n mod aleator la criptare;
I ctr se transmite ı̂n clar pentru ca este necesar la decriptare;
I Fk nu trebuie neapărat să fie inversabliă;
I Este paralelizabil;
I În plus, secvenţa pseudoaleatoare poate fi pre-procesatăanterior decriptării.
Criptografie şi Securitate 35/37 ,
-
Modul CTR (Counter)
I Generează o secvenţă pseudoaleatoare care se XOR-eazămesajului clar;
I ctr este o ales ı̂n mod aleator la criptare;
I ctr se transmite ı̂n clar pentru ca este necesar la decriptare;
I Fk nu trebuie neapărat să fie inversabliă;
I Este paralelizabil;
I În plus, secvenţa pseudoaleatoare poate fi pre-procesatăanterior decriptării.
Criptografie şi Securitate 35/37 ,
-
Exemple
I DES (Data Encryption Standard):I propus de IBMI adoptat ca standard NIST ı̂n 1976
(lungime cheie = 64 biţi, lungime bloc = 64 biţi)I spart prin căutare exhaustivă ı̂n 1997
I AES (Advanced Encryption Standard):I algoritmul Rijndael propus de J. Daemen şi V.RijmanI adoptat ca standard NIST ı̂n 2001
(lungime cheie = 128, 192, 256 biţi, lungime bloc = 128 biţi)
Criptografie şi Securitate 36/37 ,
-
Exemple
I DES (Data Encryption Standard):I propus de IBMI adoptat ca standard NIST ı̂n 1976
(lungime cheie = 64 biţi, lungime bloc = 64 biţi)I spart prin căutare exhaustivă ı̂n 1997
I AES (Advanced Encryption Standard):I algoritmul Rijndael propus de J. Daemen şi V.RijmanI adoptat ca standard NIST ı̂n 2001
(lungime cheie = 128, 192, 256 biţi, lungime bloc = 128 biţi)
Criptografie şi Securitate 36/37 ,
-
Important de reţinut!
I Sisteme bloc vs. sisteme fluide
I Noţiunile de PRP, PRF
I Construcţii specifice PRG, PRF, PRP
I Transpunerea sistemelor bloc ı̂n practică - moduri de operare:ECB, CBC, OFB, CTR
Criptografie şi Securitate 37/37 ,
DefinitieConstructieModuri de utilizareExemple