Sunteți pe pagina 1din 21

Algoritmi de criptare cu chei publice

Principiile criptrii cu chei publice

1. distribuia cheilor
2. semnturile digitale

Imposibilitatea de a determina cheia de


decriptare numai pe baza algoritmului i a cheii de
criptare.
2

procesul de criptare cu chei publice


1.
2.

3.
4.

Cele dou pri care doresc s comunice trebuie s


genereze cte o pereche de chei, pentru a fi folosite la
criptarea i decriptarea mesajelor.
Fiecare parte public - cheia de criptare ntr-o list
public (aflat la dispoziia terilor) sau ntr-un fiier.
Aceasta este cheia public. Perechea ei se pstreaz
secret.
Dac A dorete s-i transmit un mesaj lui B, el
cripteaz mesajul folosind cheia public a lui B.
Cnd B recepioneaz mesajul, acesta l decripteaz
folosind cheia sa privat. Nici un alt utilizator nu poate
decripta mesajul, deoarece doar B cunoate cheia
privat.
4

Criptosistem cu chei publice: confidenialitate

O surs A dorete s transmit un mesaj X=[X1 ,X2 ,,XM ] ctre


destinaia B. Cele M elemente ale lui X sunt litere dintr-un alfabet
finit. n acest caz B genereaz perechea de chei, una public KUb i
una privat KRb , care este cunoscut numai de ctre B. Dup
generarea cheilor, cheia public se transmite pentru a fi accesibil
lui A.
Mesajul X i cheia de criptare KUb procesate de algoritm formeaz
mesajul criptat Y = [Y1 , Y2 , , YN ].
Y = EKUb (X)
Destinatarul, aflat n posesia cheii private poate inversa
transformarea:
X = DKRb (Y)
Un oponent care intercepteaz Y i are acces la cheia KUb , dar nu
are acces la KRb , poate ncerca s refac X i/sau KRb . Se
presupune c oponentul cunoate algoritmul de criptare E i cel de
decriptare D. Dac oponentul este interesat numai de un singur
mesaj, atunci el i va concentra eforturile pentru a descoperi X, dar
n general oponentul este interesat nu numai de coninutul
mesajului, ci i de posibilitatea decriptrii mesajelor pe viitor. n
acest ultim caz el va dori s descopere cheia privat de decriptare
KRb .
6

Criptosistem cu chei publice: autentificare

Y = EKRa (X)
X = DKUa (Y)
n acest caz A pregtete un mesaj pentru a fi
transmis lui B i l cripteaz folosind cheia sa
privat (KRa ). B poate decripta mesajul folosind
cheia public a lui A (KUa ). Deoarece mesajul a
fost criptat folosind cheia privat a lui A, numai
acesta putea scrie mesajul. Astfel ntregul mesaj
criptat servete ca o semntur digital. n plus
este imposibil modificarea mesajului fr a
avea acces la cheia privat a lui A. n concluzie
mesajul este autentificat att din punctul de
vedere al sursei ct i din punct de vedere a
integritii acestuia.
8

O cale mult mai eficient pentru a obine acelai rezultat


este criptarea doar a unui bloc scurt de bii care este
ataat documentului. Un astfel de bloc se numete
autentificator i are proprietatea c nu permite
schimbarea coninutului documentului fr ca
autentificatorul s fie schimbat. Dac autentificatorul
este criptat cu cheia privat a sursei, atunci acesta
servete ca semntur verificnd originea i coninutul
mesajului. Aceast metod nu asigur confidenialiate
mesajului. Astfel mesajul transmis nu poate fi modificat
dar poate fi citit de oricine.
Pentru a rezolva aceast problem se poate folosi o
criptare dubl:
Z = EKUb [EKRa (X)]
X = DKUa [DKRb (Z)]
9

Criptosistem cu chei publice: confidenialitate i


autentificare

10

Aplicaii ale sistemelor cu chei publice


Sistemele cu chei publice pot fi ncadrate n trei categorii:
Criptare/Decriptare: Sursa cripteaz mesajul cu cheia public a
destinatarului.
Semnturi digitale: Sursa semneaz (cripteaz) mesajul cu cheia
sa privat. Semnarea este realizat prin criptarea total sau
parial a mesajului.
Distribuia de chei: Dou pri coopereaz pentru a schimba o
cheie de sesiune. Exist diferite abordri posibile, implicnd cheia
privat a unuia sau a ambilor participani.

Algoritmul Criptare/Decriptare Semnturi Distribuia


digitale
cheilor
RSA

Da

Da

Da

DiffieHellman

Nu

Nu

Da

DSS

Nu

Da

Nu
11

Securitatea sistemelor de criptare cu cheie public


aparatul matematic folosit este bazat pe teoria numerelor, teoria
funciilor recursive i teoria probabilitilor, funciile eliptice, teoria
automatelor, calcul neconvenional (cuantic, molecular etc).
Confidenialitatea
Autenticitatea
Integritatea

12

Comparaie ntre criptarea simetric i cea cu


cheie public
1.

2.
3.

4.

Avantaje- cheie simetric


Pot transmite volume mari de
date. Exist implementri hard/
soft care pot asigura rate de
criptare de sute de mega-octei/s.
Cheile sunt relativ scurte.
Pot fi folosite ca baz de
construcie a unor mecanisme de
(criptare generatori de numere
pseudo-aleatoare, generatori de
funcii de dispersie, scheme de
semntur).
Prin compunere pot conduce la
sisteme de criptare puternice.

1.

2.

3.
4.

Dezavantaje
Cheia trebuie s rmn
permament secret n (cel
puin) dou locuri distincte.
Cu ct lungimea unui mesaj
criptat este mai mare, cu att el
este mai uor de spart.
n reele mari, o gestionare a
cheilor devine extrem de dificil.
Necesit un canal sigur de
comunicare, cel puin pentru
transmiterea cheii. Lucru devine
dificil pentru sistemele care
necesit schimbri frecvente ale
cheilor de criptare/decriptare.
13

Comparaie ntre criptarea simetric i cea cu


cheie public
1.

2.
3.

4.

5.

Avantaje- cheie public


Sistemul este ideal pentru
transmiterea informaiei prin
canale nesigure.
Sunt simplu de definit i elegante
matematic.
Doar cheia de decriptare trebuie
inut secret, la un singur punct
(destinatar).
n funie de modul de utilizare, o
pereche de chei (public, privat)
poate fi pstrat o perioad mai
lung de timp.
Aplicaii: semnturi electronice,
algoritmi de autentificare,
componente de comert
electronic.

1.
2.
3.

4.

Dezavantaje
Sunt semnificativ mai lente
dect sistemele simetrice.
Sunt necesare chei de lungimi
mult mai mari.
Nu se poate garanta securitatea
absolut a nici unei scheme de
criptare cu cheie public.
Implementarea trebuie realizat
cu foarte mare grij. Sisteme cu
grad ridicat teoretic de
securitate pot fi sparte uor
printr-o implementare
neglijent.
14

Cele dou clase de sisteme de criptare dispun


de o serie de avantaje complementare. Acest
lucru face ca ele s fie folosite combinat.
Multe sisteme de criptare ncep comunicarea
Transmind via un sistem cu cheie public, cheia
unui sistem simetric. n faza a doua, mesajele sunt
criptate folosind sistemul simetric de criptare.
Aceasta asigur o vitez mult mai mare de
Transmitere i un spor de autenticitate a
mesajelor.
15

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.
16

Algoritmul de criptare:
1. Presupunem c un utilizator A are cheia public (e,n) i
cheia privat d.
2. 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.
17

Criptosistemul RSA
Algoritmul de decriptare:
Pentru a determina textul clar M din textul cifrat C,
utilizatorul A calculeaz:
M = Cd (mod n).

Numai utilizatorul A cunoaste cheia privata d.

18

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 = 195 mod 119 = 2476099 mod 119 = 66.
Pentru decriptare se calculeaz 6677 mod 119 = 19 mod 119.
19

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:
- ncercarea tuturor cheilor private posibile.
- Factorizarea numrului n n factori primi p i q.
Aceste atacuri depind de timpul de execuie a alg. de
decriptare.
20

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.
21