Sunteți pe pagina 1din 3

Criptografie

EXAMEN FINAL

Timp de lucru: 2h

Mod de notare: 1 punct fiecare problema.


Total: 7 puncte (6 + 1 punct bonus). Pentru promovare este necesar un
punctaj de minim 3 puncte. Se acorda punctaje partiale.
Nume:

Grupa:

1. Consideram o parola de 10 caractere ASCII (fiecare reprezentat pe cate 8 biti). Pentru simplitate consideram, n mod ipotetic, ca toate caracterele ASCII sunt caractere
posibile.
(a) Cate astfel de parole distincte exista?
(b) Care este dimensiunea n biti a parolei?
(c) Se utilizeaza reprezentarea binara a parolei drept cheie de criptare AES-192. Cate
caractere trebuie sa aiba n acest caz parola?

Solution: (a) (28 )10 = 280 ; (b) 80 biti ; (c) 192/8 = 24 caractere

2. Se considera (Enck (m), Deck (m)) un sistem de criptare bloc. Se cripteaza o secventa de
blocuri m1 ||m2 ||m3 || . . . ntr-o secventa de blocuri c1 ||c2 ||c3 || . . . astfel:
ci = mi1 00 . . . 0 Enck (mi ci1 ), i 1
unde m0 si c0 sunt vectori de initializare publici si fixati.
(a) Indicati cum se realizeaza decriptarea.
(b) Presupunand ca un bloc ci sufera erori de transmisie, care blocuri de text clar sunt
impactate?

Solution: (a) mi = ci1 Deck (mi1 ci )


(b) ci eronat rezulta mi eronat rezulta mi+1 eronat, deci toate blocurile mj , j i
sunt eronate.
3. Fie F : {0, 1}n {0, 1}n {0, 1}n o PRF. Se defineste un sistem de criptare (Enc, Dec)
cu functia de criptare Enck (m) = r||(Fk (m) r), unde r este o valoare aleatoare pe n
biti. Aratati ca sistemul nu este CCA-sigur.

Criptografie

Pagina 2 din 3

Timp de lucru: 2h

Solution:
Challenge: m0 = 0n ; m1 = 1n . Raspuns: r||Fk (mb ) r. A determina r ca primii n
biti, apoi calculeaza Fk (mb ). A transmite oracolului de decriptare r1 ||Fk (mb ) r1 ,
cu r1 aleator pe n biti si primeste m0 . m0 = m0 sau m0 = m1 , deci A determina b cu
probabilitate 1.

4. Se considera Enck (m) un sistem de criptare bloc sigur. Se defineste o functie hash H
astfel:
i. m se concateneaza cu 0-uri pana la un multiplu de lungimea blocului;
ii. Se sparge secventa obtinuta anterior n n blocuri, i.e. m0 ||m1 ||...||mn1 ;
iii. Se aplica:
1:
2:
3:
4:
5:
6:

c Encm0 (m0 )
for i = 1 to n-1 do
d Encm0 (mi )
ccd
end for
H(m) c

Este H rezistenta la coliziuni? Argumentati.

Solution: Nu este rezistenta la coliziuni - ex. H(m0 ||m1 ||m2 ) = H(m0 ||m2 ||m1 ) sau
H(m0 ) = H(m0 ||m1 ||m1 ).
5. Fie (Mac, Vrfy) un MAC sigur definit peste (K,M,T) unde M = {0, 1}n si T = {0, 1}128 .
Este MAC-ul de mai jos sigur? Argumentati raspunsul.
M ac0 (k, m) = (M ac(k, m), M ac(k, 0n ))
V rf y 0 (k, m, (t1 , t2 )) = [V rf y(k, m, t1 ) and V rf y(k, 0n , t2 )]
Solution:
MAC-ul nu este sigur pentru ca un adversar poate cere un tag pentru m = 1n , obtine
M ac(k, 0n ) si deci (M ac(k, 0n ), M ac(k, 0n )) un tag valid pentru m = 0n ;

6. Alice vrea sa comunice cu Bob folosind urmatoarea schema n care:


G este un grup de ordin prim p si g un generator al lui G.

Criptografie

Pagina 3 din 3

Timp de lucru: 2h

Alice alege x, y aleatoare n Zp si un numar a Zp si i trimite lui Bob (A0 , A1 , A2 ) =


(g x , g y , g xy+a ).
Bob alege r, s aleatoare n Zp si un numar b Zp si i trimite inapoi lui Alice
(B1 , B2 ) = (Ar1 g s , (A2 /g b )r As0 ).
Aratati cum poate Alice verifica daca a = b n urma executiei schemei de mai sus.
Solution:
Avem ca B1 = g yr+s si B2 = (g x )yr+s g r(ab) . Alice testeaza daca a = b verificand
daca B2 /B1x = 1.
7. Se considera o schema de criptare cu cheie publica (Enc, Dec), pkA si pkB cheile publice
corespunzatoare lui Alice, respectiv Bob, NA si NB doua numere aleatoare unice (nonce)
generate de Alice, respectiv Bob. Pentru a se autentifica reciproc, Alice si Bob folosesc
urmatorul protocol:
a) Alice alege NA si i trimite lui Bob mesajul EncpkB (NA , Alice);
b) Bob alege NB si i trimite lui Alice mesajul EncpkA (NA , NB );
c) Alice confirma primirea lui NB trimitand lui Bob EncpkB (NB );
Cerinte:
(a) Care dintre valorile NA , NB sunt cunoscute de Alice la finalul protocolului? Dar
de catre Bob?
(b) Aratati ca protocolul este vulnerabil la un atac de tip Man-in-the-middle.

Solution:
(a) Alice si Bob stiu amandoi NA si NB
(b) Oscar procedeaza astfel pentru un atac MITM:
a) Alice alege NA si ii trimite lui Oscar mesajul EncpkI (NA , Alice);
b) Oscar trimite mesajul lui Bob EncpkB (NA , Alice);
c) Bob alege NB si trimite Alice mesajul EncpkA (NA , NB );
d) Oscar preia mesajul si il transmite neschimbat lui Alice EncpkA (NA , NB );
e) Alice decripteaza mesajul, afla NB si ii trimite confirmarea lui Oscar EncpkI (NB ).
f) Oscar afla NB , recripteaza si ii trimite lui Bob mesajul EncpkB (NB ).