+ All Categories
Home > Documents > crypto_c_9

crypto_c_9

Date post: 15-Jan-2016
Category:
Upload: cristi
View: 231 times
Download: 0 times
Share this document with a friend
Description:
Curs criptografie
25
riptografie ¸ si Securitate - Prelegerea 9 - Construct ¸ii practice pentru PRP Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematic˘ si Informatic˘ a Universitatea din Bucure¸ sti
Transcript
Page 1: crypto_c_9

riptografie si Securitate

- Prelegerea 9 -Constructii practice pentru PRP

Adela Georgescu, Ruxandra F. Olimid

Facultatea de Matematica si InformaticaUniversitatea din Bucuresti

Page 2: crypto_c_9

Cuprins

1. Sisteme bloc ca PRP

2. Retele de substitutie - permutare

3. Retele Feistel

Criptografie si Securitate 2/25 ,

Page 3: crypto_c_9

Sisteme bloc ca PRP

◮ Am vazut ca sistemele de criptare bloc folosesc PRP ;

Criptografie si Securitate 3/25 ,

Page 4: crypto_c_9

Sisteme bloc ca PRP

◮ In criteriile de evaluare pentru adoptarea AES s-a mentionat:

The security provovided by an algorithm is the most important

factor... Algorithms will be judged on the following factors...

The extent to which the algorithm output is

indistinguishable from a random permutation on the

input block.

◮ Intrebare: Cum se obtin PRP ın practica?

Criptografie si Securitate 4/25 ,

Page 5: crypto_c_9

Sisteme bloc ca PRP

◮ Ideal ar fi sa se utilizeze o permutare aleatoare pe n biti;

◮ Ar fi necesari ≈ n · 2n biti pentru stocare;

◮ Pentru n = 50 este necesara o capacitate de stocare de≈ 200TB !

◮ Sistemele bloc au ın general n ≥ 64 sau n ≥ 128 biti;

◮ In consecinta, NU se poate utiliza o (singura) permutarealeatoare!

Criptografie si Securitate 5/25 ,

Page 6: crypto_c_9

Claude Elwood Shannon (1916 - 2001)

◮ Shannon propuneutilizarea mai multorpermutari de dimensiunemai mica;

◮ Acesta este al doilearezultat al lui Shannonpe care ıl studiem, dupasecuritatea perfecta.

[Wikipedia]

Criptografie si Securitate 6/25 ,

Page 7: crypto_c_9

Retele de substitutie - permutare

◮ Se construieste permutarea F , pe baza mai multor permutarialeatoare fi de dimensiune mai mica;

◮ Consideram F pe 128 biti si 16 permutari aleatoare f1, . . . , f16pe cate 8 biti;

◮ Pentru x = x1|| . . . ||x16, x ∈ {0, 1}128 xi ∈ {0, 1}8:

Fk(x) = f1(x1)|| . . . ||f16(x16)

◮ Spunem ca {fi} introduc confuzie ın F .

Criptografie si Securitate 7/25 ,

Page 8: crypto_c_9

Retele de substitutie - permutare

◮ Intrebare: Considerand capacitatea necesara de stocare, esteF fesabila?

◮ Raspuns: DA.

◮ Fiecare fi necesita ≈ 8 · 28 biti pentru stocare;

◮ Sunt 16 functii {fi}, deci ın total F necesita pentru stocare≈ 16 · 8 · 28 ≈ 32KB .

Criptografie si Securitate 8/25 ,

Page 9: crypto_c_9

Retele de substitutie - permutare

◮ Intrebare: Este F PRP?

◮ Raspuns: NU.

◮ Fie x si x ′ 2 intrari care difera numai prin primul bit:

msb(x) 6= msb(x ′)

◮ Atunci Fk(x) si Fk(x′) difera numai prin primul byte;

◮ In cazul unei permutari aleatoare, acest lucru nu se ıntampla.

Criptografie si Securitate 9/25 ,

Page 10: crypto_c_9

Retele de substitutie - permutare

◮ F se transforma ın PRP ın 2 pasi:◮ Pasul 1: se introduce difuzie prin amestecarea (permutarea)

bitilor de iesire;

◮ Pasul 2: se repeta o runda (care presupune confuzie sidifuzie) de mai multe ori;

◮ Repetarea confuziei si difuziei face ca o modificarea unuisingur bit de intrare sa fie propagata asupra tutoror bitilor deiesire;

◮ Un exemplu pentru 2 runde si intrarea x :◮ x ′ = Fk(x);◮ x1 se obtine prin reordonarea bitilor din x ′;◮ x ′1 = Fk(x1);◮ x2 se obtine prin reordonarea bitilor din x ′1.

Criptografie si Securitate 10/25 ,

Page 11: crypto_c_9

Retele de substitutie - permutare

◮ O retea de substitutie-permutare este o implementare aconstructiei anterioare de confuzie-difuzie ın care functiile {fi}sunt fixe (i.e. nu depind de cheie);

◮ {fi} se numesc S-boxes (Substitution-boxes);

◮ S-box-urile raman ın continuare permutari;

◮ Cum nu mai depind de cheie, aceasta este utilizata ın alt scop;

◮ Din cheie se obtin mai multe chei de runda (sub-chei) ınurma unui proces de derivare a cheilor (key schedule);

◮ Fiecare cheie de runda este XOR-ata cu valorile intermediaredin fiecare runda.

Criptografie si Securitate 11/25 ,

Page 12: crypto_c_9

Retele de substitutie - permutare

Criptografie si Securitate 12/25 ,

Page 13: crypto_c_9

Retele de substitutie - permutare

◮ Exista 2 principii de baza ın proiectarea retelelor de substitutie- permutare:

◮ Principiul 1: Inversabilitatea S-box-urilor;

◮ Principiul 2: Efectul de avalansa.

Criptografie si Securitate 13/25 ,

Page 14: crypto_c_9

Principul 1: Inversabilitatea S-box

◮ O retea de substitutie-permutare trebuie sa fie inversabila;

◮ Daca fiecare runda este inversabila, atunci reteaua esteinversabila;

◮ Intr-o runda:◮ XOR este inversabil;◮ Permutarea finala a bitilor de iesire este inversabila;

◮ In concluzie, daca toate S-box-urile sunt inversabile, atuncireteaua este inversabila;

◮ Principiul 1 - necesitate functionala (pentru decriptare).

Criptografie si Securitate 14/25 ,

Page 15: crypto_c_9

Principul 2: Efectul de avalansa

◮ Un singur bit modificat la intrare trebuie sa afecteze toti bitiidin secventa de iesire;

◮ Efectul de avalansa apare ıntr-o retea de substitutie-permutaredaca:

1. S-box-urile sunt proiectate a.ı. un singur bit schimbat laintrare sa schimbe cel putin 2 biti de la iesire;

2. Permutarea este proiectata a.ı. bitii de la iesirea unui S-box safie ımpartiti ıntre intrarile ın S-box-uri diferite la rundaurmatoare.

◮ Principiul 2 - necesitate de securitate.

Criptografie si Securitate 15/25 ,

Page 16: crypto_c_9

Principul 2: Efectul de avalansa

◮ Intrabare: De ce sunt suficiente cele 2 proprietati pentruobtinerea efectului de avalansa?

◮ Presupunem 2 intrari care difera printr-un singur bit;

◮ Dupa Runda 1, iesirile difera prin 2 biti (Proprietatea 1);

◮ La intrarea ın Runda 2, bitii care difera sunt intrari ınS-box-uri diferite (Proprietatea 2);

◮ Dupa Runda 2, iesirile difera prin 4 biti (Proprietatea 1);

◮ Urmand acest rationament, dupa Runda r , iesirile difera prinaproximativ 2r biti;

◮ In concluzie, un sistem bloc cu intrarea de n = 2r biti obtineefectul de avalansa dupa cel putin r runde.

Criptografie si Securitate 16/25 ,

Page 17: crypto_c_9

Retele Feistel

◮ Se aseamana retelelor de substitutie-permutare ın sensul capastreaza aceleasi elementele componente: S-box, permutare,procesul de derivare a cheii, runde;

◮ Se diferentiaza de retelele de substitutie-permutare prinproiectarea de nivel ınalt;

◮ Introduc avantajul major ca S-box-urile NU trebuie sa fieinversabile;

◮ Permit asadar obtinerea unei structuri inversabile folosindelemente neinversabile.

Criptografie si Securitate 17/25 ,

Page 18: crypto_c_9

Horst Feistel (1915 - 1990)

[Wikipedia]

◮ Structurile simetriceutilizate ın constructiasistemelor bloc poartanumele lui Feistel;

◮ Munca sa de cercetare laIBM a condus la sistemulde criptare Lucifer si maitarziu la DES.

Criptografie si Securitate 18/25 ,

Page 19: crypto_c_9

Retele Feistel

Criptografie si Securitate 19/25 ,

Page 20: crypto_c_9

Retele Feistel

◮ Intrarea ın runda i se ımparte ın 2 jumatati: Li−1 si Ri−1 (i.e.Left si Right);

◮ Iesirile din runda i sunt:

Li = Ri−1

Ri = Li−1 ⊕ fi (Ri−1)

◮ Functiile fi depind de cheia de runda, derivand dintr-o functiepublica fi :

fi (R) = fi (ki ,R)

Criptografie si Securitate 20/25 ,

Page 21: crypto_c_9

Retele Feistel

◮ Retelele Feistel sunt inversabile indiferent daca functiile fi suntinversabile sau nu;

◮ Fie (Li ,Ri ) iesirile din runda i ;

◮ Intrarile (Li−1,Ri−1) ın runda i sunt:

Ri−1 = Li

Li−1 = Ri ⊕ fi (Ri−1)

Criptografie si Securitate 21/25 ,

Page 22: crypto_c_9

Constructii

Am omis ın cursurile anterioare ultima constructie:

◮ PRF ⇒ PRG√

Pornind de la PRF se poate construi PRG

◮ PRG ⇒ PRF√

Pornind de la PRG se poate construi PRF

◮ PRP ⇒ PRF√

Pornind de la PRP se poate construi PRF

◮ PRF ⇒ PRP

Pornind de la PRF se poate construi PRP

Criptografie si Securitate 22/25 ,

Page 23: crypto_c_9

PRF ⇒ PRP

◮ Revenim acum asupra constructiei, cand cunoastem notiuneade runda Feistel;

◮ Consideram o singura runda Feistel pentru care f1(x) = Fk(x),cu F PRF;

◮ Intrebare: Este aceasta constructie PRP?

Criptografie si Securitate 23/25 ,

Page 24: crypto_c_9

PRF ⇒ PRP

◮ Raspuns: NU.

◮ Constructia este o permutare pe {0, 1}n,...

◮ ... este inversabila,...

◮ ... dar iesirea nu este o secventa pseudoaleatoare: primii n/2biti de iesire sunt egali cu ultimii n/2 biti de intrare;

◮ Se mareste numarul de runde Feistel, pastrand fi (x) = Fki (x),unde ki sunt chei independente;

◮ Pentru i = 3 se obtine PRP;

◮ Altfel spus, o retea Feistel de 3 runde construita folosind 3PRF f1(x) = Fk1(x), f2(x) = Fk2(x) si f3(x) = Fk3(x) cuk1, k2 si k3 independente este PRP.

Criptografie si Securitate 24/25 ,

Page 25: crypto_c_9

Important de retinut!

◮ Retele de substitutie-permutare

◮ Retele Feistel

Criptografie si Securitate 25/25 ,