fundamente matematice in criptografie

14
2. Fundamente matematice in criptografie 2.1 Teoria informatiei si codarii 2.2. Teoria complexitatii de calcul 2.3. Teoria numerelor TSI - Fundamente matematice 1 2.3. Teoria numerelor 2.4. Calcul in campuri Galois: GF(q) 2.5. Secvente aleatoare si pseudoaleatoare 2.6. Funcţii de dispersie (hash functions)

Upload: onitiu-emanuel

Post on 27-Nov-2015

58 views

Category:

Documents


13 download

DESCRIPTION

criptografie

TRANSCRIPT

Page 1: Fundamente Matematice in Criptografie

2. Fundamente matematice in criptografie

2.1 Teoria informatiei si codarii

2.2. Teoria complexitatii de calcul

2.3. Teoria numerelor

TSI - Fundamente matematice 1

2.3. Teoria numerelor

2.4. Calcul in campuri Galois: GF(q)

2.5. Secvente aleatoare si pseudoaleatoare

2.6. Funcţii de dispersie (hash functions)

Page 2: Fundamente Matematice in Criptografie

2.1. Teoria informatiei si codarii

• 1949 Cl. Shannon “Comunication Theory of Secrecy Systems”

• Confuzia – relatia dintre cheie si textul cifrat cat mai complexa si amestecata

TSI - Fundamente matematice 2

• Substitutia (cutia S): confuzie primara

• Difuzia: proprietatea de a difuza redundanta textului in clar in statistica textului cifrat

• Transpozitia (cutia P) – rearanjarea ordinii simbolurilor(permutari) – difuzie calsica

• Transformari liniare in impulsuri finite (AES)

• Cifruri produs – alternanta de S, P; nr de interatii(runde)• Secretizare perfecta – one time pad

Page 3: Fundamente Matematice in Criptografie

2.2. Teoria complexitatii de calcul

• Complexitatea (0)– In timp (T) – independenta de timp, exprimate in functie de

n– In spatiu (S) – ordinul intrarii, cantitatea de date

TSI - Fundamente matematice 3

– In spatiu (S) – ordinul intrarii, cantitatea de date

• Exemplu: 4n2+7n+12 => O(n2)• Clasificarea algoritmilor:

– Algoritm constant: O(1)– Algoritm liniar: O(n)– Algoritm patratic: O(n2)– Algoritm polinomial: O(nm)– Algoritm exponential: O(tf(n)), t>1, f(n) - polinom

Page 4: Fundamente Matematice in Criptografie

2.3. Teoria numerelor

• Aritmetica modulara– a≡ bmodn; a,b,n∈ Z

– {0,1,…,n-1}=multimea rezidurilor(claselor de

TSI - Fundamente matematice 4

– {0,1,…,n-1}=multimea rezidurilor(claselor de resturi) modulo n

• Exemplu: aritmetica modulo 3 (Z3 ={0,1,2})

Page 5: Fundamente Matematice in Criptografie

2.3. Teoria numerelor

• Logaritmi discreti

TSI - Fundamente matematice 5

Page 6: Fundamente Matematice in Criptografie

2.3. Teoria numerelor

• Indicatorul lui Euler:– nr. de intregi > 0 si < n, care sunt relativ primi cu n

– exemplu: φ(7)={1,2,3,4,5,6}=6=n-1

rez mod 7={0,1,2,3,4,5,6}=n

TSI - Fundamente matematice 6

rez mod 7={0,1,2,3,4,5,6}=n

Teorema lui Fermat:

aφ(n)mod n=1 => a-1=aφ(n)-1mod n

exemplu:

5-1mod 7=?

5-1=56-1mod 7=55mod 7=3

Page 7: Fundamente Matematice in Criptografie

2.4. Calcul in campuri Galois: GF(q)

• Evariste Galois (1811-1832)• GF(q)=un camp finit={0,1,…,q-1}• Axiome

– 2 legi de compozitie: +, *

TSI - Fundamente matematice 7

– 2 legi de compozitie: +, *– Comutativitate fata de +,* (q=prim)– Asociativitate– Distributivitate– Elemente neutre:0,1– Elemente simetrice:

– Exemplu GF(2)={0,1}

==+

− 1*

01 aa

aa

Page 8: Fundamente Matematice in Criptografie

2.4. Calcul in campuri Galois: GF(q)

• Extensia de ordinul k: GF(2k )– n=2k-1 =dimensiunea (ordinul) campului

– ∝=element primitiv al campului

– p(x)= =polinom generator al campului

TSI - Fundamente matematice 8

– p(x)=akxk+…+ a1x+ a0 =polinom generator al campului

(primitiv)

– p(∝)=0

– GF(2k)={0}, {1}, {x} clasele de resturi modulo p(x)

– Aritmetici modulo p(x)

– Implementari hard (RD)

Page 9: Fundamente Matematice in Criptografie

2.4. Calcul in campuri Galois: GF(q)

• Exemplu GF (22)– Se alege polinomul generator: p(x)=x2+1=0

GF(22) => R=a1x+a0={0},{1},{x},{x+1},

– Ordinul elementului primitiv ∝: n=2k-1=3

TSI - Fundamente matematice 9

– Ordinul elementului primitiv ∝: n=2k-1=3

GF(22)={0,1,∝,∝2}

– Determinarea elementelor primitive: x=∝, x+1=∝

Page 10: Fundamente Matematice in Criptografie

2.4. Calcul in campuri Galois: GF(q)

• Aritmetica modulo p(x)

TSI - Fundamente matematice 10

• Implementare: RDR cu p(x)=xk+ xk-1+1

Page 11: Fundamente Matematice in Criptografie

2.5. Secvente aleatoare si pseudoaleatoare

• Proprietatile unei SA– Sa nu fie periodica

– Generarea simbolurilor independenta

– Echiprobabilitatea simbolurilor

TSI - Fundamente matematice 11

– Echiprobabilitatea simbolurilor

• Proprietatile unei SPA~SA– Generatoare liniare congruente

– Xn=(aXn-1+b)mod n; a= ct. de multiplicare

b=increment

– Xn=(a X2n-1+b Xn-1+c)mod n; X0=starea initiala

Page 12: Fundamente Matematice in Criptografie

2.5. Secvente aleatoare si pseudoaleatoare

• Generatoare cu RDR– g(x)=gkx

k+…+ g1x+ g0; n=2k-1, g(x) – primitiv, gk=1

– Si=TSi-1

TSI - Fundamente matematice 12

– Si=TSi-1

Ck-1 C0

g0gk-1gk=1

Page 13: Fundamente Matematice in Criptografie

2.6. Funcţii de dispersie (hash functions)

FD“hash”

ni no=ct

preimagine Valoare de dispersie VD(HD)

TSI - Fundamente matematice 13

• Funcţia de dispersie ∈ funcţiilor neinversabile– Este o funcţie collisin – free

• Aplicaţii:– Tranzacţii financiare

– Coduri de autentificare a mesajelor

VD+ksecretă=

DAC

MAC Message autentification codeData autentification code

Page 14: Fundamente Matematice in Criptografie

2.6. Funcţii de dispersie (hash functions)

• Proprietati– pentru M dat, calculare h=H(M), usoara– pentru h dat, calcularea lui M: H(M)=h foarte grea– Pentru M dat, gasirea unui M’: H(M)=H(M’), grea =

TSI - Fundamente matematice 14

– Pentru M dat, gasirea unui M’: H(M)=H(M’), grea = rezistenta la coliziune

• Atacuri– Atacul fortei brute: 2m

– Atacul zilei de nastere (atacul de coliziune): 2m/2

– Lungimi specifice: m=128m=160 (SHS)