Sie sind auf Seite 1von 21

1

Algoritmi de criptare cu chei publice


2
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.
3
4
procesul de criptare cu chei publice
1. Cele dou pri care doresc s comunice trebuie s
genereze cte o pereche de chei, pentru a fi folosite la
criptarea i decriptarea mesajelor.
2. 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.
3. Dac A dorete s-i transmit un mesaj lui B, el
cripteaz mesajul folosind cheia public a lui B.
4. 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.
5
Criptosistem cu chei publice: confidenialitate
6
O surs A dorete s transmit un mesaj X=[X
1
,X
2
,,X
M
] 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 KU
b
i
una privat KR
b
, 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 KU
b
procesate de algoritm formeaz
mesajul criptat Y = [Y
1
, Y
2
, , Y
N
].
Y = EKU
b
(X)
Destinatarul, aflat n posesia cheii private poate inversa
transformarea:
X = DKR
b
(Y)
Un oponent care intercepteaz Y i are acces la cheia KU
b
, dar nu
are acces la KR
b
, poate ncerca s refac X i/sau KR
b
. 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
KR
b
.
7
Criptosistem cu chei publice: autentificare
8
Y = E
KRa
(X)
X = D
KUa
(Y)
n acest caz A pregtete un mesaj pentru a fi
transmis lui B i l cripteaz folosind cheia sa
privat (KR
a
). B poate decripta mesajul folosind
cheia public a lui A (KU
a
). 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.
9
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 = E
KUb
[E
KRa
(X)]
X = D
KUa
[D
KRb
(Z)]
10
Criptosistem cu chei publice: confidenialitate i
autentificare
11
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
digitale
Distribuia
cheilor
RSA Da Da Da
Diffie-
Hellman
Nu Nu Da
DSS Nu Da Nu
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
Avantaje- cheie simetric
1. Pot transmite volume mari de
date. Exist implementri hard/
soft care pot asigura rate de
criptare de sute de mega-octei/s.
2. Cheile sunt relativ scurte.
3. 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).
4. Prin compunere pot conduce la
sisteme de criptare puternice.
Dezavantaje
1. Cheia trebuie s rmn
permament secret n (cel
puin) dou locuri distincte.
2. Cu ct lungimea unui mesaj
criptat este mai mare, cu att el
este mai uor de spart.
3. n reele mari, o gestionare a
cheilor devine extrem de dificil.
4. 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
Avantaje- cheie public
1. Sistemul este ideal pentru
transmiterea informaiei prin
canale nesigure.
2. Sunt simplu de definit i elegante
matematic.
3. Doar cheia de decriptare trebuie
inut secret, la un singur punct
(destinatar).
4. n funie de modul de utilizare, o
pereche de chei (public, privat)
poate fi pstrat o perioad mai
lung de timp.
5. Aplicaii: semnturi electronice,
algoritmi de autentificare,
componente de comert
electronic.
Dezavantaje
1. Sunt semnificativ mai lente
dect sistemele simetrice.
2. Sunt necesare chei de lungimi
mult mai mari.
3. Nu se poate garanta securitatea
absolut a nici unei scheme de
criptare cu cheie public.
4. 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 = M
e
(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 = C
d
(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 = 19
5
mod 119 = 2476099 mod 119 = 66.
Pentru decriptare se calculeaz 66
77
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

Das könnte Ihnen auch gefallen