Sunteți pe pagina 1din 15

Introducere n Criptografie

Prof. univ.dr. Constantin Popescu


Departamentul de Matematica si Informatica http://webhost.uoradea.ro/cpopescu/

01/11/2007

Introducere in Criptografie

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

Introducere in Criptografie

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


Cheia public a lui B Transmiterea textului cifrat Text clar Algoritmul de la intrare criptare Algoritmul de decriptare Text clar la ieire Cheia privat a lui B

Introducere in Criptografie

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 = EPB(M) 3. Receptorul B poate uor s decripteze textul cifrat C: M = DSB(C) = DSB(EPB(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 = DSB(EPB(M)) = DPB(ESB(M)).
Introducere in Criptografie 5

Semntura digital

Cheia privat a lui A Transmiterea textului cifrat Text clar la intrare Algoritmul de criptare

Cheia public a lui A

Algoritmul de decriptare

Text clar la ieire

Introducere in Criptografie

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 digital RSA DA DA Diffie-Hellman NU NU DSS Algoritmi bazai pe curbe eliptice NU DA DA DA Distribuia cheilor DA DA NU DA

Introducere in Criptografie

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 = Me (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 = Cd (mod n).

Numai utilizatorul A cunoaste cheia privata d.

Introducere in Criptografie

12

Criptosistemul RSA
Exemplu: Se genereaz mai nti cheile: 1. 2. 3. 4. Se selecteaz dou numere prime p = 7 i q = 17. Se calculeaz n = p*q = 7*17 = 119. Se calculeaz (n) = (p-1)*(q-1) = 96. 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 = 195 mod 119 = 2476099 mod 119 = 66. Pentru decriptare se calculeaz 6677 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).

http:// www.securitateainformatiilor.ro/ solutii-desecuritate-it/ algoritmul-decriptografie-rsa/

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