fundamente matematice in criptografie
DESCRIPTION
criptografieTRANSCRIPT
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)
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
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
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})
2.3. Teoria numerelor
• Logaritmi discreti
TSI - Fundamente matematice 5
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
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
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)
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=∝
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
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
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
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
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)