- Prelegerea 8 - Sisteme de criptare blocruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/... ·...

93
riptografie ¸ si Securitate - Prelegerea 8 - Sisteme de criptare bloc Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematic˘ si Informatic˘ a Universitatea din Bucure¸ sti

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