Documente Academic
Documente Profesional
Documente Cultură
Criptografie si Securitate
4/10
Descriere
I
2 faze:
I
Starea interna:
I
I
Criptografie si Securitate
5/10
Descriere
Faza 1. Initializare
I
I
Criptografie si Securitate
6/10
Descriere
Faza 2. Generarea cheii fluide
I
I
Criptografie si Securitate
7/10
Pseudoaleatorismul
I
Criptografie si Securitate
4/22
Sisteme fluide
OTP (One Time Pad)
Criptografie si Securitate
Sisteme fluide
7/22
PRG
I
Criptografie si Securitate
8/22
PRG
Definitie
Fie l() un polinom si G un algoritm polinomial determinist a..
n {0, 1}n , G genereaza o secventa de lungime l(n).
G se numeste generator de numere pseudoaleatoare (PRG) daca se
satisfac 2 proprietati:
1. Expansiune: n, l(n) n
2. Pseudoaleatorism: algoritm PPT D, o funtie neglijabila
negl a..:
|Pr [D(r ) = 1] Pr [D(G (s)) = 1]| negl(n)
unde r R {0, 1}l(n) , s R {0, 1}n
l(n) se numeste factorul de expansiune al lui G
Criptografie si Securitate
9/22
Notatii
D = Distringuisher
In plus:
I
Criptografie si Securitate
10/22
Sisteme fluide
Definitie
Un sistem de criptare (Enc, Dec) definit peste (K, M, C) se
numeste sistem de criptare fluid daca:
1. Enc : K M C
c = Enck (m) = G (k) m
2. Dec : K C M
m = Deck (c) = G (k) c
unde G este un generator de numere pseudoaleatoare cu factorul
de expansiune l, k {0, 1}n , m {0, 1}l(n)
Criptografie si Securitate
11/22
Moduri de utilizare
Atentie!
PRG va necesita 2 intrari: cheia k si un vector de initializare IV .
Criptografie si Securitate
15/22
Modul sincronizat
Criptografie si Securitate
16/22
Modul nesincronizat
Criptografie si Securitate
17/22
Moduri de utilizare
Modul sincronizat
I
Criptografie si Securitate
Modul nesincronizat
I
18/22
Descriere
I
I
I
Criptografie si Securitate
4/10
Descriere
Detalii de implementare:
I
|IV | = 24 (biti)
Criptografie si Securitate
5/10
Securitate - Problema 1
Problema 1: Utilizarea multipla a lui IV
I
Raspuns: NU!
c1 = m1 kf 1 , c2 = m2 kf 2 c1 c2 = m1 m2
Exemplu:
I
I
Criptografie si Securitate
6/10
Securitate - Problema 1
Raspuns: 224
Criptografie si Securitate
7/10
Securitate - Problema 2
Problema 2: Liniaritatea
I
Intrebare: Facand abstractie de CRC, A poate modifica
mesajul criptat transmis dupa bunul sau plac?
I R
aspuns: DA!
(m1 m2 ) kf = (m1 kf ) m2
Exemplu:
I
A intercepteaza c1 si l transforma n c2
Criptografie si Securitate
8/10
Criptografie si Securitate
4/24
eav
Experimentul PrivA,
(n)
Criptografie si Securitate
9/24
Definitie
O schema de criptare = (Enc, Dec) este indistinctibila n
prezenta unui atacator pasiv daca pentru orice adversar A exista o
functie neglijabila negl asa ncat
eav (n) = 1]
Pr[PrivA,
1
2
+ negl(n).
Criptografie si Securitate
10/24
mult
Experimentul PrivA,
(n)
I
I
Criptografie si Securitate
16/24
Demonstratie
I
I
Criptografie si Securitate
23/24
Criptografie si Securitate
4/37
Sisteme bloc
criptarea bitilor se
realizeaza individual
criptarea se realizeaza n
blocuri de cate n biti
Criptografie si Securitate
5/37
Sisteme bloc
Criptografie si Securitate
7/37
PRP
... indistinctibil
a fata de o permutare aleatoare;
Criptografie si Securitate
9/37
PRP
Definitie
O permutare pseudoaleatoare definita peste (K, X ) este o functie
bijectiva
F :X K X
care satisface urmatoarele proprietati:
1. Eficienta: k K, x X , algoritmi deterministi PPT care
calculeaza Fk (x) si Fk1 (x)
2. Pseudoaleatorism: algoritm PPT D, o functie neglijabila
negl a..:
|Pr [D(r ) = 1] Pr [D(Fk ()) = 1]| negl(n)
unde r R Perm(X ), k R K
Criptografie si Securitate
10/37
PRF
Definitie
O functie pseudoaleatoare definita peste (K, X , Y) este o functie
bijectiva
F :X K Y
care satisface urmatoarele proprietati:
1. Eficienta: k K, x X , algoritm PPT care calculeaza
Fk (x)
2. Pseudoaleatorism: algoritm PPT D, o functie neglijabila
negl a..:
|Pr [D(r ) = 1] Pr [D(Fk ()) = 1]| negl(n)
unde r R Func(X , Y ), k R K
Criptografie si Securitate
13/37
Notatii
Fk (x) = F (k, x)
o cheie este n general (aleator) aleasa si apoi fixata
Criptografie si Securitate
14/37
Moduri de utilizare
I
Criptografie si Securitate
27/37
Criptografie si Securitate
28/37
Este paralelizabil;
Criptografie si Securitate
29/37
Criptografie si Securitate
30/37
Criptografie si Securitate
31/37
Criptografie si Securitate
32/37
Criptografie si Securitate
33/37
Criptografie si Securitate
34/37
Este paralelizabil;
Criptografie si Securitate
35/37
Exemple
propus de IBM
adoptat ca standard NIST n 1976
(lungime cheie = 64 biti, lungime bloc = 64 biti)
spart prin cautare exhaustiva n 1997
Criptografie si Securitate
36/37
Criptografie si Securitate
5/25
Criptografie si Securitate
7/25
Raspuns: DA.
Criptografie si Securitate
8/25
x 0 = Fk (x);
x1 se obtine prin reordonarea bitilor din x 0 ;
x10 = Fk (x1 );
x2 se obtine prin reordonarea bitilor din x10 .
Criptografie si Securitate
10/25
Criptografie si Securitate
11/25
Criptografie si Securitate
12/25
Intr-o runda:
I
I
Criptografie si Securitate
14/25
Criptografie si Securitate
15/25
Retele Feistel
Criptografie si Securitate
17/25
Retele Feistel
Criptografie si Securitate
19/25
Descriere AES
I
128
10
192
12
256
14
Criptografie si Securitate
5/10
Descriere AES
I
Criptografie si Securitate
7/10
Descriere AES
Criptografie si Securitate
8/10
Scenarii de atac
I
Criptografie si Securitate
3/38
cpa
Experimentul PrivA,
(n)
Criptografie si Securitate
13/38
cpa
Experimentul PrivA,
(n)
Definitie
O schema de criptare = (Enc, Dec) este CPA-sigura daca pentru
orice adversar PPT A exista o functie neglijabila negl asa ncat
cpa
Pr[PrivA,
(n) = 1]
1
2
+ negl(n).
Criptografie si Securitate
14/38
Securitate CPA
Criptografie si Securitate
15/38
Securitate CCA
I
Criptografie si Securitate
22/38
cca
Experimentul PrivA,
(n)
Criptografie si Securitate
28/38
cca
Experimentul PrivA,
(n)
Definitie
O schema de criptare = (Enc, Dec) este CCA-sigura daca pentru
orice adversar PPT A exista o functie neglijabila negl asa ncat
cca (n) = 1]
Pr[PrivA,
1
2
+ negl(n).
Criptografie si Securitate
30/38
Criptografie si Securitate
3/42
Criptografie si Securitate
9/42
MAC - Definitie
Criptografie si Securitate
11/42
MAC - Definitie
Definitie
Un cod de autentificare a mesajelor (MAC) definit peste
(K, M, T ) este format dintr-o pereche de algoritmi polinomiali
(Mac, Vrfy) unde:
1. Mac : K M T este algoritmul de generare a tag-urilor
t Mack (m);
2. Vrfy : K M T {0, 1}
este algoritmul de verificare ce ntoarce un bit
b = Vrfyk (m, t) cu semnificatia ca:
I
I
b = 1 nseamna valid
b = 0 nseamna invalid
Criptografie si Securitate
13/42
Criptografie si Securitate
14/42
Experimentul Macforge
A, (n)
Criptografie si Securitate
22/42
Criptografie si Securitate
24/42
Constructie
Fie F : {0, 1}n {0, 1}n {0, 1}n o PRF. Definim un MAC n
felul urmator:
I
Criptografie si Securitate
28/42
CBC-MAC
I
Criptografie si Securitate
37/42
CBC-MAC
Definitie
Fie F o functie pseudoaleatoare. Un CBC-MAC este format dintr-o
pereche de algoritmi polinomiali probabilisti (Mac, Vrfy):
1. Mac: pentru o cheie k {0, 1}n si un mesaj m de lungime l:
I
I
38/42
Criptografie si Securitate
41/42
I
I
Criptografie si Securitate
6/10
Criptografie si Securitate
7/10
Demonstratie intuitiva
I
Criptografie si Securitate
9/10
Criptografie si Securitate
17/32
Rezistenta la coliziuni
Criptografie si Securitate
18/32
Criptografie si Securitate
19/32
Criptografie si Securitate
20/32
Criptografie si Securitate
22/32
Criptografie si Securitate
24/32
Transformarea Merkle-Damg
ard
I
Criptografie si Securitate
27/32
Transformarea Merkle-Damg
ard
I
Constructia Davies-Meyer:
Criptografie si Securitate
30/32
Revizuire: MAC-uri
I
Mac(k, m) : t = Fk (m);
Criptografie si Securitate
3/11
Revizuire: MAC-uri
Criptografie si Securitate
5/11
HMAC
I
Criptografie si Securitate
7/11
HMAC
I
Criptografie si Securitate
8/11
Notatii
Criptografie si Securitate
9/11
Securitate HMAC
I
Teorema
Daca G este PRG, h prezinta rezistenta la coliziuni si MAC-ul
h(k || m) contruit be baza ei este sigur (pentru mesaje de lungime
fixa), atunci HMAC este sigur (pentru mesaje de lungime
arbitrara) - nu poate fi falsificat printr-un atac cu mesaj ales.
Criptografie si Securitate
10/11
Atac de timp
Pasii atacului:
1. A trimite cerere catre server pentru m si un tag aleator
t = B1 B2 ...Bn (t este reprezentat pe octeti) si masoara
timpul pana server-ul raspunde;
2. A trimite cerere catre server pentru fiecare ti 0 = i B 02 ...B 0n
pentru i = 1, 2, 3... (B 02 , ..., B 0n sunt octeti arbitrari);
3. A se opreste cand timpul de verificare e putin mai mare decat
la pasul 1;
4. In acest caz, a gasit primul octet si continua atacul pentru
urmatorii octeti, pe rand, pana cand gaseste tag-ul valid.
Criptografie si Securitate
5/8
Criptografie si Securitate
15/19
Teorema
Exista o constanta c asa ncat, pentru orice n > 1 numarul de
numere prime pe n biti este cel putin c 2n1 /n
I
Criptografie si Securitate
8/29
Testarea primalitatii
Algorithm 1 Algoritmul Miller-Rabin
Input: N , t
Output: o decizie daca N este compus sau nu
1: if N este par sau N = N1 2 then
2:
return compus
3: end if
4: compute r 1
si u impar a.. N 1 = 2r u
5: for j = 1 to t do
6:
a {1, ..., N 1}
i
7:
if (gcd(a, N) 6= 1) or (au 6= 1 mod N and a2 u 6= 1 mod
N, pentru orice i {1, ..., r 1}) then
8:
return compus
9:
end if
10: end for
11: return prim
Criptografie si Securitate
10/29
Algoritmul Miller-Rabin
Teorema
Daca N este prim, atunci testul Miller-Rabin ntoarce mereu
prim. Daca N este compus, algoritmul ntoarce prim cu
probabilitate cel mult 2t (i.e. ntoarce rezultatul corect compus
cu probabilitate 1 2t )
Criptografie si Securitate
11/29
Definitie
Spunem ca problema logaritmului discret (DLP) este dificila daca
pentru orice algoritm PPT A exista o functie neglijabila negl asa
ncat
Pr [DLogA (n) = 1] negl(n)
Criptografie si Securitate
26/29
Lucrul n Zp
I
Criptografie si Securitate
28/29
Securitate perfecta
I
Definitie
O schema de criptare peste un spatiu al mesajelor M este perfect
sigura daca pentru orice probabilitate de distributie peste M,
pentru orice mesaj m M si orice text criptat c cu cheia publica
pk pentru care Pr [C = c] > 0, urmatoarea egalitate este
ndeplinita:
Pr [M = m|C = c] = Pr [M = m]
Criptografie si Securitate
3/26
eav
Experimentul PubKA,
(n)
Criptografie si Securitate
11/26
Criptografie si Securitate
13/26
Securitate CCA
I
Criptografie si Securitate
25/26
Criptografie si Securitate
3/15
1
Notatii: F (pk, ) = Fpk (), F 1 (sk, ) = Fsk
().
Criptografie si Securitate
5/15
Problema rucsacului
I
Criptografie si Securitate
7/15
Problema rucsacului
Criptografie si Securitate
10/15
Constructie
Fie (Gen, F , F 1 ) TDP cu F : X Y, (Enc, Dec) un sistem de
criptare simetric sigur cu autentificarea mesajelor definit peste
(X , Y) si H : X K o functie hash. Definim un sistem de criptare
asimetrica peste (K, X , Y) n felul urmator:
I
Criptografie si Securitate
13/15
Problema RSA
I
Problema RSA
Fiind dat N, un ntreg e > 0 care satisface (e, (N)) = 1, si un
element y ZN , se cere sa se gaseasca x a.. x e = y mod N.
I
Criptografie si Securitate
6/18
Definitie
Spunem ca problema RSA este dificila cu privire la GenRSA daca
pentru orice algoritm PPT A exista o functie neglijabila negl asa
ncat
Pr [RSA invA,GenRSA(n) = 1] negl(n)
Criptografie si Securitate
7/18
GenRSA
I
Algorithm 3 GenRSA
Input: n
Output: N, e, d
1: print N cu factorii p
si q
2: (N) = (p 1)(q 1)
3: gase
ste e a.. gcd(e, (N)) = 1
4: calculeaz
a d := e 1 mod (N)
5: return N, e, d
Criptografie si Securitate
8/18
Implementarea RSA
Algorithm 4 Exponentiere rapida
Input: N, x, c
Output: x c mod N
Pn1 i
1: descompune c n binar: c =
i=0 ci 2
2: z 1
3: for i = n 1 to 0 do
4:
z z 2 mod N
5:
if ci = 1 then
6:
z z x mod N
7:
end if
8: end for
9: return z
Criptografie si Securitate
12/18
Securitate - Problema 4
Problema 4: Utilizarea multipla a modulului
I
Criptografie si Securitate
16/18
Constructie
Fie (Enc, Dec) un sistem de criptare simetric sigur cu autentificarea
mesajelor definit peste ZN si H : ZN K o functie hash. Definim
un sistem de criptare asimetrica peste n felul urmator:
I
Criptografie si Securitate
17/18
PKCS #1 v1.5
mod N
Criptografie si Securitate
7/13
Criptografie si Securitate
8/13
sau
xi = ei,1 logg p1 ei,2 logg p2 ei,k logg pk mod p 1
Criptografie si Securitate
8/20
Criptografie si Securitate
6/16
Criptografie si Securitate
7/16
Criptografie si Securitate
8/16
Securitate
O conditie minimal
a pentru ca protocolul sa fie sigur este ca
DLP sa fie dificila n G;
Criptografie si Securitate
9/16
Criptografie si Securitate
10/16
Definitie
Spunem ca problema decizionala Diffie-Hellman (DDH) este dificila
(relativ la G), daca pentru orice algoritm PPT A exista o functie
neglijabila negl asa ncat:
|Pr [A(G, q, g , g x , g y , g z ) = 1] Pr [A(G, q, g , g x , g y , g xy ) = 1]| negl(n),
unde x, y , z R Zq
Criptografie si Securitate
11/16
Atacul Man-in-the-Middle
Criptografie si Securitate
13/16
Atacul Man-in-the-Middle
I
Criptografie si Securitate
14/16
Observatie
Fie G un grup finit si m R G. Daca g R G, atunci g 0 = m g
ramane aleator n G:
Pr [m g = g 0 ] = 1/|G|
unde probabilitatea este data de alegerea aleatoare a lui g .
Criptografie si Securitate
4/19
Receptorul decripteaza:
m = g 0 g 1
Criptografie si Securitate
5/19
Criptografie si Securitate
6/19
Cheia public
a este: (G, q, g , h);
Cheia privat
a este (G, q, g , x);
Criptografie si Securitate
7/19
Securitate - Problema 3
Problema 3: Proprietatea de homomorfism
I
Atunci:
c1 c2 = (c11 c21 , c12 c22 ) = (g y1 g y2 , m1 hy1 m2 hy2 )
Criptografie si Securitate
10/19
Chei criptografia
simetrica
80
112
128
192
256
Chei RSA
Chei ECC
1024
2048
3072
7680
15360
160
224
256
384
521
Criptografie si Securitate
15/16