Sunteți pe pagina 1din 15

01/11/2007 Introducere in Criptografie 1

Introducere n
Criptografie
Prof. univ.dr. Constantin Popescu
Departamentul de Matematica si Informatica
http://webhost.uoradea.ro/cpopescu/
Agenda

1. Criptografia cu chei publice
2. Criptarea cu chei publice
3. Semnatura digitala
4. Functii greu inversabile
5. Criptosistemul RSA






Introducere in Criptografie 2
Criptografia cu chei publice


O schem de criptare cu chei publice conine urmtoarele elemente:
Textul clar: Acesta este un mesaj sau date de intrare pentru
algoritmul de criptare.
Algoritmul de criptare: Transform textul clar n text cifrat.
Cheia public i cheia privat: Este o pereche de chei, una
utilizat pentru criptare (cea public) i cealalt pentru decriptare
(cea privat).
Textul cifrat: Textul produs n urma algoritmului de criptare.
Pentru un mesaj dat, dou chei diferite vor produce dou texte
cifrate diferite.
Algoritmul de decriptare: Decripteaz textul cifrat, n urma cruia
rezult textul clar.
Introducere in Criptografie 3
Criptarea cu chei publice









Transmiterea
textului cifrat
Cheia privat
a lui B
Cheia public
a lui B
Text clar Algoritmul de Algoritmul de Text clar
la intrare criptare decriptare la ieire
Introducere in Criptografie 4
Criptarea cu chei publice
Sunt respectate urmtoarele condiii:
1. B poate uor s genereze cheia public PB i cheia privat SB.
2. Emittorul A, tiind cheia public a lui B i mesajul clar M, poate
s genereze textul cifrat corespunztor:
C = E
PB
(M)
3. Receptorul B poate uor s decripteze textul cifrat C:
M = D
SB
(C) = D
SB
(E
PB
(M))
4. Un atacator care tie PB nu poate s determine cheia privat SB
5. Un atacator care tie cheia public PB i textul cifrat C nu poate s
determine mesajul original M
6. Are loc urmtoarea relaie:
M = D
SB
(E
PB
(M)) = D
PB
(E
SB
(M)).
Introducere in Criptografie 5
Semntura digital









Transmiterea
textului cifrat
Cheia public
a lui A
Cheia privat
a lui A
Text clar Algoritmul Algoritmul de Text clar
la intrare de criptare decriptare la ieire
Introducere in Criptografie 6
Semntura digital

Semntura digital reprezint un atribut al unui utilizator, fiind
folosit pentru recunoaterea acestuia.
Fie B un receptor de mesaj semnat de A.
Semntura lui A trebuie s satisfac urmtoarele proprieti:
o Utilizatorul B s fie capabil s valideze semntura lui A
o S fie imposibil pentru oricine, inclusiv B, s falsifice semntura
lui A
o n cazul n care A nu recunoate semntura unui mesaj M,
trebuie s existe un judector care s poat rezolva disputa
dintre A i B.
Introducere in Criptografie 7
Aplicaiile criptosistemelor cu chei publice


Algoritm Criptare/Decriptare Semntur Distribuia
digital cheilor
RSA DA DA DA
Diffie-Hellman NU NU DA
DSS NU DA NU
Algoritmi bazai DA DA DA
pe curbe eliptice
Introducere in Criptografie 8
Funcii greu inversabile
Diffie i Hellman au sugerat i o metod de implementare practic.
O funcie este greu inversabil i uor de calculat, dar pentru
aproape toate valorile y din codomeniu este imposibil
computaional s se calculeze x = f
1
(y).
Cu alte cuvinte este imposibil computaional s se calculeze f
-1

dac se dispune de o descriere complet a lui f.
O funcie greu inversabil se spune c este cu trap atunci cnd f
-1

este uor de calculat numai dac se dispune de o informaie trap.
Necunoaterea acestei informaii face ca funcia s fie greu
inversabil.
O astfel de pereche de funcii ( f, f
-1
) poate constitui perechea (E,D)
a unui criptosistem cu chei publice.
Introducere in Criptografie 9
Criptosistemul RSA

Prima schem criptografic cu chei publice a fost realizat n anul
1977 de ctre Ron Rivest, Adi Shamir i Len Adleman de la MIT.
Schema Rivest-Shamir-Adleman (RSA) este cea mai rspndit i
implementat schem din lume.

Generarea cheilor:
1. Se selecteaz dou numere ntregi prime p i q.
2. Se calculeaz produsul n=p*q.
3. Se calculeaz indicatorul lui Euler (n)=(p-1)*(q-1).
4. Se selecteaz un numr ntreg e astfel nct
c.m.m.d.c.((n),e)=1, 1<e<(n).
5. Se calculeaz d astfel nct d = e
-1
mod (n).
6. Cheia public este (e,n), iar cheia privat este d.
Introducere in Criptografie 10
Criptosistemul RSA

Algoritmul de criptare:

Presupunem c un utilizator A are cheia public (e,n) i cheia
privat d.
Utilizatorul B cripteaz mesajul M pentru a fi transmis la A astfel:

1. Obine cheia public (e,n) a lui A.
2. Transform mesajul ce va fi criptat ntr-un numr ntreg M n
intervalul [0,n-1].
3. Calculeaz C = M
e
(mod n).
4. Trimite textul cifrat C la utilizatorul A.
Introducere in Criptografie 11

Criptosistemul RSA


Algoritmul de decriptare:

Pentru a determina textul clar M din textul cifrat C, utiliz. A calc.:
M = C
d
(mod n).
Numai utilizatorul A cunoaste cheia privata d.

Introducere in Criptografie 12
Criptosistemul RSA
Exemplu:
Se genereaz mai nti cheile:
1. Se selecteaz dou numere prime p = 7 i q = 17.
2. Se calculeaz n = p*q = 7*17 = 119.
3. Se calculeaz (n) = (p-1)*(q-1) = 96.
4. Se alege e a. . e este relativ prim cu (n) = 96. n acest caz e = 5.
5. Se determin d astfel nct d*e = 1 mod 96 i d<96. Avem d = 77,
deoarece 77*5 = 385 = 4*96+1.
6. Cheia public este (5,119), iar cheia privat este 77.
Se consider c textul clar este M =19.
Textul criptat va fi C = 19
5
mod 119 = 2476099 mod 119 = 66.
Pentru decriptare se calculeaz 66
77
mod 119 = 19 mod 119.
Introducere in Criptografie 13
Atacuri asupra algoritmului RSA

Firme productoare de sisteme de programe i echipamente, ca
Novell, DEC, Lotus, Motorola, folosesc acest algoritm.
Instituii importante (Departamentul Aprrii din SUA, Boeing,
reeaua bancar internaional SWIFT) folosesc acest algoritm
pentru protejarea i autentificarea datelor, parolelor, fiierelor,
documentelor memorate sau transmise prin reele.
Exist trei tipuri de atacuri asupra algoritmului RSA:
o ncercarea tuturor cheilor private posibile.
o Factorizarea numrului n n factori primi p i q.
o Aceste atacuri depind de timpul de execuie a alg. de decriptare.
Introducere in Criptografie 14
Atacuri asupra algoritmului RSA
Din punct de vedere matematic, exist 3 atacuri asupra RSA:
1. Factorizarea numrului n n factori primi p i q. Se poate astfel
determina (n) = (p-1)*(q-1), iar apoi d = e
-1
(mod (n)).
2. Determinarea lui (n) direct, fr a determina mai nti p i q. i n
acest caz se poate determina apoi d = e
-1
(mod (n)).
3. Determinarea lui d n mod direct, fr a determina mai nti (n).
Determinarea lui (n) este echivalent cu factorizarea numrului n,
iar determinarea lui d (tiind doar pe e i n) se face ntr-un timp tot
aa de mare ca i factorizarea lui n.
Securitatea RSA se bazeaz pe dificultatea factorizrii unui numr
ntreg n factori primi.
RSA cu lungimea cheii de 1024 bii (aproximativ 300 cifre ) este
considerat destul de puternic pentru aplicaiile actuale.
Introducere in Criptografie 15

S-ar putea să vă placă și