Sunteți pe pagina 1din 33

1

Tem de cas
Reele de Calculatoare i Internet



Procedee de cifrare uzuale n Internet










Student: Zamfir Narcis
grupa de master
postuniversitar ISC
2


Cuprins:
Introducere........................................................................................pag 1
Aspecte de baz a securitii n Internet.............................................pag 1
o Filtrarea adreselor MAC...........................................................pag 1
o Firewall....................................................................................pag 2
o Protecia transmisiunilor prin criptare......................................pag 7
Criptare cu chei private(simetrice) .....................................................pag 8
o DES..........................................................................................pag 9
o S-DES......................................................................................pag 12
o TripleDES................................................................................pag 12
o AES ........................................................................................pag 13
o Blowfish.................................................................................pag 16
o IDEA.......................................................................................pag 16
Criptare cu chei publice....................................................................pag 18
o RSA........................................................................................pag 20
o PGP........................................................................................pag 22
Exemplu de spargere a codurilor (DES) ............................................pag 25
o Atacul de forta bruta..............................................................pag 25
o Atacuri mai rapide decat forta bruta......................................pag 26
Exemplu de spargere a codurilor (RSA) ............................................pag 27
Concluzii...........................................................................................pag 32



3


1.Introducere.
Nu putem vorbi n zilele noastre despre transmisia datelor prin
intermediul reelelor de telecomunicaii fr s vorbim i de aspectele legate de
securitate. Odat cu creterea vitezelor de transfer i creterii numarului de
oameni care au acces la o conexiuni de date partajate cu ali utilizatori se pune
problema dac metodele de criptare folosite pentru asigurarea spaiului privat
sunt cu adevrat eficiente. De aceea imi propun ca prin acest scurt referat s
prezint cteva noiuni de baz de criptografie, tehnologiile de la baza securitii
ethernet si nu n ultimul rnd s trec n revist tehnicile de acces folosite n
reelele fr fir de tip Wi-Fi.



2.Aspecte de baz a securitii n Internet.
Cele mai simple metode de asigurare a securitii se bazeaz la cel mai
jos nivel la limitarea accesului. Acesta este cazul tehnologiei firewall sau a
filtrrii adreselor MAC care va fi prezentat in subcapitolele urmtoare. Dar
deoarece n majoritatea cazurilor reeaua folosita pentru comunicare poate fi
partajat cu ali utilizatori sau sigurana ei fizic nu poate fi asigurat mereu se
folosesc si metode de criptare pentru limitarea accesului la coninutul
informaiei transmise; chiar dac aceasta este interceptat coninutul ei nu poate
fi aflat dect prin procedee foarte complexe sau chiar deloc.




2.1. Filtrarea adreselor MAC
n reelele de calculator, filtrare MAC (sau filtrare EUI, sau adresa
filtrarea adreselor ptr nivelul 2 de adresare) se refer la o metod de control de
securitate prin care adresa de 48 de bii asociat la fiecare plac de reea este
utilizat pentru a stabili accesul la reea. Protocolul de comunicare de date
4

Media Access Control (MAC), de asemenea cunoscut sub numele de controlul
accesului la mediu , este o parte a stratului de legturi de date specificate n
modelul OSI (nivelul 2). O plac de reea, sau NIC (Network interface
controller = controler interfa de reea) este o bucat de hardware conceput
pentru a permite computerelor s comunice ntr-o reea de calculatoare.
Adresele MAC sunt unic atribuit fiecrei plci de reea, folosind astfel filtrare
MAC pe o reea de permise i refuz accesul la reea la dispozitive specifice,
prin utilizarea unor liste negre i liste albe. Chiar dac restricia de acces la reea
prin utilizarea listelor este simpl, o persoana fizic nu este identificat printr-o
adresa MAC, mai degrab este identificat un singur dispozitiv, astfel nct o
persoan autorizat va trebui s aib o intrare din lista alb pentru fiecare
dispozitiv pe care el sau ea ar trebui s utilize n reea.
n teorie, filtrare MAC permite unui administrator de reea sa permit sau
a refuze accesul la reea la gazde asociat cu adresa MAC, dei, n practic,
exist metode pentru a eluda aceast form de control al accesului prin
modificarea adresei ("spoofing") sau schimbul fizic al plcii de reea ntre
gazde. Dei iniial nu se putea modifica adresa MAC la plcile de reea wireless
Wi-Fi acest lucru s-a schimbat ntre timp i acuma nu este o idee bun de a
folosi ca mijloc unic de protejare a reelei, filtrarea adreselor MAC.


2.2. Firewall
Termenul firewall provine din industria construciilor civile. Multe din
cldirile moderne au n structura lor firewalls - perei special construii,
rezisteni la foc care, n cazul izbucnirii unui incendiu, au rolul de a mpiedica
sau ncetini rspndirea focului, pn la sosirea pompierilor. Termenul a migrat
i n constructia de masini, unde un firewall separ compartimentul motorului
unei maini de habitaclu, pentru a proteja pasagerii.
Pentru tiina calculatoarelor, probabil c cel mai usor este sa descriem,
mai intai, ceea ce un firewall nu este: un firewall nu este un simplu router sau un
calculator gazda care asigura securitatea unei retele. in linii mari, un firewall
(numit uneori si pasarela de securitate) este un sistem care impune o politica de
control al accesului intre doua retele. Un firewall reprezinta implementarea
acestei politici in termeni de configurare a retelei, unul sau mai multe sisteme
5

gazda si router-e cu functiuni speciale, alte masuri de securitate, cum ar fi
autentificarea prin metode criptografice a clientilor.

Fig. 1. Dispunerea unui firewall
Cu alte cuvinte, un firewall este un mecanism folosit pentru a proteja o
retea sigura din punctul de vedere al securitatii de una nesigura, in care nu
putem avea incredere.
In mod tipic, una din retele este cea interna unei organizatii (sigura, de
incredere), in timp ce cealalta este internet-ul (in care nu avem incredere din
punctul de vedere al securitatii). Dat fiind numarul si mai mare de utilizatori
internet multi dintre acestia avand, din nefericire, statutul de hacker (cracker sau
vandal) folosirea unui firewall are sens, deoarece probabilitatea "izbucnirii unui
foc" undeva in internet este foarte mare.
Crearea unei politici firewall este, n esen, destul de simpl:
trebuie stabilit ce este permis s ies din reeaua local, dar mai ales ce
este permis s intre n ea ( ce tipuri de pachete ?)
trebuie stabilite serviciile pe care o s le ofere firewall i la cine o s
ofere aceste servicii
trebuie descrise tipurile de atacuri poteniale pe care firewall-ul trebuie
s le opreasc.

6

Tipuri de firewall-uri
Exist dou tipuri de firewall-uri:
1. Firewall-uri de filtrare care blocheaz anumite pachete specifice




Fig. 2. Firewall de filtrare

2. Servere Proxy care stabilesc conexiuni de reea n exterior pentru
calculatoarele din interiorul LAN-ului




Fig. 3. Firewall cu proxy server

Desi cele mai multe firewall-uri sunt, in mod curent, interpuse intre retelele
interne si internet, conceptul de firewall nu vizeaza numai acest aspect, existand
suficiente motive pentru folosirea firewall-urilor in oricare internet, inclusiv in
retelele cu arie larga (WAN) ale diferitelor companii. Deoarece un firewall este
dispus la intersectia dintre doua retele, acesta poate fi folosit si in alte scopuri
decat acela de control al accesului:
1. pentru a monitoriza comunicatiile dintre o retea interna si o retea externa.
De exemplu, un firewall poate jurnaliza (monitoriza, inregistra) seviciile
folosite si cantitatea de date transferata prin conexiuni TCP/IP intre
propria organizatie si lumea exterioara;
System
firewall
(LAN) | (HUB)
internet

calculator
(DMZ)
(HUB)
internet
System
proxy/
firewall

calculator
(LAN) | (HUB)
proxy server
7

2. un firewall poate fi folosit pentru interceptarea si inregistrarea tuturor
comunicatiilor dintre reteaua interna si exterior
3. daca o organizatie are mai multe retele, separate din punct de vedere
geografic, fiecare avand cate un firewall, exista posibilitatea programarii
acestor firewall-uri pentru a cripta automat continutul pachetelor
transmise intre ele. in acest fel, pe suportul internet, organizatia isi poate
realiza propria retea virtuala privata.



2.3. Protecia transmisiunilor prin criptare
Dup cum se tie, calculatoarele trimit mesaje de date(majoritatea
transmisiunilor prin protocol TCP/IP) prin Internet sub forma de pachete. ntr-o
reea interceptarea transmisiunilor repezint unul dintre cele mai mari riscuri de
securitate la adresa persoanelor fizice i a firmelor. Pentru protecia mpotriva
atacurilor prin interceptarea pachetelor, toate transmisiunile efectuate trebuie
criptate. O transmisiune criptat este o transmisiune ce conine date aezate
dezordonat, care pot fi reordonate numai prin aplicarea cheii criptografice
corecte. Cate lucruri de baz care trebuiesc menionate:
- Calculatoarele realizeaz criptarea prin multimplicarea i
mprirea valorilor transmise cu numere mari, decriptarea fiind efectuat prin
aplicarea unui numr mare corelat datelor transmise.
- Cele dou tipuri eseniale de criptare sunt criptarea cu cheie unic,
cunoscut sub numele de criptare cu cheie simetric, i criptare cu cheie
public, sau criptare cu cheie asimetric. Criptarea cu cheie unic folosete o
singur cheie, partajat de ambele pri i folosit la criptare i decriptare .
Criptarea cu cheie public folosete pentru criptarea i decriptarea o cheie
cunoscut disponibil pe scar larg (cheia public) i o cheie pe care nu o
cunoate nimeni cu excepia utilizatorului (cheia privat).
- La criptarea unui document, n mod obinuit se cripteaz numai o
poriune a acestuia, cunoscut sub numele de esena mesajului.(message
payload)
- Anumite locaii WEB, cunoscute sub numele de inele de chei
publice, conin multe asemenea chei.
8

3. Criptare cu chei private(simetrice)
Securitatea criptrii simetrice (cu cheie secret) depinde de protecia
cheii; managementul acestora este un factor vital n securitatea datelor i
cuprinde urmtoarele aspecte:
- generarea cheilor. Pot fi folosite, cu o tabel de conversie, proceduri manuale
(datul cu banul, aruncarea zarurilor), dar numai pentru generarea cheilor master
(folosite pentru cifrarea cheilor). Pentru cheile de sesiune sau de terminal sunt
necesare proceduri automate, de generare (pseudo) aleatoare, care se pot baza pe
amplificatoare de zgomot, funcii matematice i diveri parametri (numrul
curent al apelurilor sistem, data, ora etc).
- distribuia cheilor. Cu privire la transportul cheii secrete, problema este n
general rezolvat prin folosirea unei alte chei, numit cheie terminal, pentru a o
cripta. Cheile de sesiune - generate numai pentru o comunicaie - sunt
transportate criptat cu cheile terminal care, de asemenea, pot fi protejate (cnd
sunt memorate) cu alt cheie, numit cheie master.
- memorarea cheilor. Utilizarea algoritmilor simetrici, n cazul a N entiti care
doresc s comunice, implic N(N-1)/2 chei de memorat ntr-un mod sigur. n
realitate, nu toate legturile bidirecionale se stabilesc la acelai timp; este
motivul pentru care se utilizeaz cheile de sesiune. Cheile terminal, care
cripteaz numai date foarte scurte (chei de sesiune), sunt foarte dificil de atacat.
Cnd sunt folosite chei publice, X500 pare cea mai bun soluie pentru
managementul cheilor. Cheile publice sunt pstrate n directoare X500, ca
certificate semnate cu o semntur digital a Autoritii de certificare
(Certificate Authority).

Fig. 4. Modelul simplificat al criptrii convenionale

9


ntlnim urmtoarele tipuri de sisteme de criptare cu algoritmi cu cheie secret:
- cifrul DES (DES simplu, DES cu sub-chei independente, DESX, DES
generalizat GDES, DES cu cutii S alternative, DES cu cutii S dependente de
cheie, precum si alte variaiuni ale DES);
- cifrul IDEA;
- cifrul FEAL;
- cirful LOKI;
- cifrul RC2
- altele


3.1. DES (Data Encryption Standard)
Data Encryption Standard, sau DES este un cifru (o metoda de criptare a
informatiilor) ce a ajuns cifrul oficial FIPS al Statelor Unite in 1976,
raspandindu-se apoi in intreaga lume. Algoritmul a fost initial subiectul multor
controverse, multe parti find secrete si avand o cheie destul de scurta, insa in
cele din urma a ajutat la intelegerea ideii de cifru bloc si a dus la criptanaliza sa.
Astazi, DES este considerat a fi nesigur in multe situatii, in special din
cauza cheii sale de 56 biti, care este prea scurta. Astfel de chei DES au fost
sparte in mai putin de 24 de ore. De asemenea exista rezultate analitice care
dovedesc anumite slabiciuni teoretice ale cifrului, insa care nu apar adesea in
practica. Algoritmul pare sa fie sigur in forma sa Triple DES, desi pot aparea
si aici slabiciuni in situatii de atac. In ultimii ani cifrul a fost detronat de
Advanced Encryption Standard (AES). In unele documentatii, DES este referit
ca DEA (Data Encryption Algorithm).
In 17 Martie 1975, algoritmul propus ca Standard de Criptare a Datelor
(DES) a fost publicat in Registul Federal. Au fost cerute compentarii publice,
iar in anul umrator s-au deschis doua grupuri de discutii pentru standardul
propus. Au fost cateva critici din diverse parti, incluzand pe Martin Hellman si
Diffie Whitfield, pionierii criptografiei cu cheie publica. Acestia spuneau ca
cifrul are o cheie prea scurta si ca NSA a slabit algoritmul ca sa poata citi
mesajele criptate. Alan Konheim, unul din proiectantii DES spunea: am trimis
cutii de substitutie la Washington si au venit inapoi total modificate. S-au facut
10

cercetari cu privire la implicarea NSA in dezvoltarea algoritmului, rezultatul
fiind publicat in 1978: In dezvoltarea DES, NSA a convins IBM ca o cheie de
marime mai mica ar fi suficienta, au asistat apoi indirect la construirea structurii
cutiilor de substitutie, in cele din urma declarand fals ca algoritmul DES final
este ferit de orice slabiciune statistica sau matematica.
Totusi s-a gasit si ca NSA nu s-a implicat in dezvoltarea algoritmului
propriu-zis, ci IBM a considerat ca o cheie mai scurta ar fi suficienta pentru
cerintele actualelor sisteme. Chiar unul din membrii DES, Walter Tuchman
spunea ca noi am dezvoltat algoritmul DES folosind doar membrii echipei
IBM. NSA nu a atins nici macar un fir de ata.


Fig. 5. Algoritmul DES

DES cripteaz i decripteaz datele n blocuri de 64 bii, folosind o cheie
de lungime 64 bii. Din cei 64 de bii ai cheii, doar 56 sunt folosii propriu-zis
de algoritm, restul de 8 fiind folosii ca bii de paritate. Blocul de text n clar de
la intrare este de 64 bii, rezultnd la ieire un bloc de 64 bii de text cifrat.
11

Datorit faptului c opereaz pe blocuri de aceeai dimensiune i folosete att
permutarea ct i substituia, DES este considerat n egal msur un cifru bloc
i un cifru produs (un cifru bloc care itereaz mai multe operaii simple n urma
crora rezult un cifru mai puternic).
DES este alctuit din 16 pai identici de procesare, numii runde, care
produc textul cifrat. n urma studiilor s-a concluzionat c numrul de runde este
exponenial proporional cu timpul necesar aflrii cheii secret folosind atacul de
tip for brut. Pe msur ce crete numrul de runde, securitatea algoritmului
crete exponenial.

Paii de procesare:
1. Textul n clar este mprit n blocuri de 64 bii.
2. Din cheia de 56 bii se genereaz 16 chei de 48 bii. Cheia de 56 bii
folosit pentru criptare este n realitate folosit doar la generarea primei sub-
chei i nu este folosit n mod direct pentru criptarea datelor.
3. Textul n clar, o dat mprit n blocuri, este supus unui proces de
permutare bazat pe un table care specific modul n care biii sunt permutai:
bitul unul este mutat pe poziia bitului 40, bitul 2 pe poziia 23 etc.
4. Dup realizarea permutrii, biii sunt trecui prin cele 16 runde,
folosind cte una din cele 16 sub-chei generate.
5. Cei 64 bii creai la pasul 3 sunt pasai unei runde, unde sunt mprii
n 2 blocuri de cte 32 bii i procesai cu cheia corespunztoare rundei
respective.
6. Pasul 4 este repetat de 16 ori. Rezultatul unei runde este livrat
urmtoarei runde.
7. Dup terminarea celei de-a 16-a runde, cele 2 jumti de cte 32 bii
sunt lipite, rezultnd un bloc de 64 bii.
8. Blocul de 64 bii este din nou permutat, folosind funcia invers celei
de la pasul 3.






12

3.2. Simple DES (S-DES)
Datorit complexitii ridicate a algoritmului DES standard, n continuare
v prezentm varianta simplificat a algoritmului DES, Simple-DES, care
folosete blocuri de 8 bii de date.

Algoritmul DES simplificat poate fi exprimat ca o compunere de cinci funcii:
o permutare iniial IP, care permut biii blocului de intrare;
o funcie f, care depinde de o subcheie k1 a unei chei de criptare K;
funcia este foarte complex i acioneaz asupra jumtii stngi a blocului de
date rezultat la pasul anterior;
o permutare SW, care interschimb cele dou jumti ale blocului de
date rezultat la pasul anterior. Dac blocul de date este d = d1d2d3d4d5d6d7d8,
atunci acesta devine d5d6d7d8d1d2d3d4, unde i reprezint al i-lea bit din
blocul d;
aceeai funcie f, care folosete o alt subcheie (k2) a cheii de criptare K;
inversa permutrii IP, IP-1.
Formula matematic ce st la baza algoritmului de criptare este:
Y = Ek(X) = IP-1(fk2(SW(fk1(IP(X))))), unde EK este funcia de criptare
care folosete cheia de criptare K i se aplic asupra blocului de intrare X,
rezultnd blocul criptat Y; fk1 i fk2 reprezint funcia f aplicat asupra unui
bloc de date, folosind subcheile k1, respectiv k2.
n cazul acestui algoritm fiecare bloc de intrare are 8 bii i cheia de
criptare, care este partajat ntre emitor i receptor, are lungimea de 10 bii.
Cheia de criptare este folosit pentru a crea dou subchei avnd fiecare 8 bii.


3.3. Triple DES (3DES)
Cnd s-a constatat c cheile de 56 bii folosite de DES nu sunt suficiente
pentru a proteja datele mpotriva atacurilor de tip for brut, 3DES a fost
soluia pentru mrirea spaiului cheilor fr a schimba algoritmul. 3DES, numit
i Triple DES, este un cifru bloc care aplic de 3 ori DES.
Utilizarea celor trei pai este important pentru a evita atacurile meet-in-
the-middle.
13


Fig. 6. Algoritmul 3DES

Triple DES, cu 3 chei diferite de 56 bii are o lungime a cheii de 168 bii.
Datorit atacurilor meet-in-the-middle, securitatea efectiv este doar de 112
bii. Cel mai eficient atac asupra 3DES cu trei chei necesit aproximativ
aproximativ 232 texte clare cunoscute, 2113 pai, 290 criptri DES individuale,
i 288 uniti de stocare. (3)




3.4. AES(Advanced Encryption Standard)
AES (de la Advanced Encryption Standard - n limba englez, Standard
Avansat de Criptare), cunoscut i sub numele de Rijndael, este un algoritm
standardizat pentru criptarea simetric, pe blocuri, folosit astzi pe scar larg n
aplicaii i adoptat ca standard de organizaia guvernamental american
NIST.[1] Standardul oficializeaz algoritmul dezvoltat de doi criptografi
belgieni, Joan Daemen i Vincent Rijmen i trimis la NIST pentru selecie sub
numele Rijndael.
Deoarece DES devenise vulnerabil din cauza lungimii prea mici a cheii,
NIST a recomandat utilizarea 3DES, un algoritm care const n esen n
aplicarea de trei ori a DES. Dei 3DES s-a dovedit a fi un algoritm puternic, el
este relativ lent n implementrile software,[2] motiv pentru care NIST a lansat
n 1997 o cerere de propuneri pentru un algoritm care s-l nlocuiasc. S-a
pornit de la 21 de propuneri acceptate iniial, apoi prin eliminri numrul lor a
14

fost redus la 15, i apoi la 5, din care a fost ales n cele din urm algoritmul
propus de doi criptografi belgieni, Joan Daemen i Vincent Rijmen. La votarea
final, algoritmul, denumit de autorii si Rijndael, a nvins la vot patru alte
propuneri, printre care i algoritmul RC6, propus de o echip de criptografi n
care se afla i reputatul informatician Ron Rivest.
Criteriile pe baza crora au fost evaluate propunerile pentru AES au fost
securitatea (rezistena la atacuri criptanalitice), costurile (eficiena
computaional, complexitatea spaial, precum i licenierea liber i gratuit)
i particularitile algoritmului (flexibilitatea, simplitatea, i uurina de
realizare a implementrilor att software ct i hardware).[3]
Acest standard precizeaz algoritmul Rijndael, un cifru simetric de tip
bloc care poate procesa blocuri de date de 128 biti, folosind chei cu lungimi de
128, 192 sau 256 bii. n publicaia FIPS nr. 197 (4), operaiile sunt definite sub
forma unor operaii pe matrice.
Pasii algoritmului:
-Pasul SubBytes -Pasul SubBytes este un cifru cu substituie, fr punct fix,
denumit Rijndael S-box, care ruleaz independent pe fiecare octet din state.
Aceast transformare este neliniar i face astfel ntreg cifrul s fie neliniar,
ceea ce i confer un nivel sporit de securitate.
-Pasul ShiftRows- Pasul ShiftRows opereaz la nivel de rnd al matricii de stare
state. Pasul const n simpla deplasare ciclic a octeilor de pe rnduri, astfel:
primul rnd nu se deplaseaz; al doilea rnd se deplaseaz la stnga cu o poziie;
al treilea rnd se deplaseaz la stnga cu dou poziii; al patrulea se deplaseaz
la stnga cu trei poziii.[10] Rezultatul acestui pas este c fiecare coloan din
tabloul state rezultat este compus din octei de pe fiecare coloan a strii
iniiale. Acesta este un aspect important, din cauz c tabloul state este populat
iniial pe coloane, iar paii ulteriori, inclusiv AddRoundKey n care este folosit
cheia de criptare, operaiile se efectueaz pe coloane.
-Pasul MixColumns-n acest pas, fiecare coloan a tabloului de stare este
considerat un polinom de gradul 4 peste corpul Galois . Fiecare coloan,
tratat ca polinom, este nmulit, modulo x
4
+ 1 cu polinomul
a(x) = 3x
3
+ x
2
+ x + 2.
Rezultatul are proprietatea c fiecare element al su depinde de toate
elementele de pe coloana strii dinaintea efecturii pasului. Combinat cu pasul
ShiftRows, acest pas asigur c dup cteva iteraii, fiecare octet din stare
15

depinde de fiecare octet din starea iniial (tabloul populat cu octeii mesajului
n clar). Aceti doi pai, mpreun, sunt principala surs de difuzie n algoritmul
Rijndael. Coeficienii polinomului a(x) sunt toi 1, 2 i 3, din motive de
performan, criptarea fiind mai eficient atunci cnd coeficienii sunt mici. La
decriptare, coeficienii pasului corespunztor acestuia sunt mai mari i deci
decriptarea este mai lent dect criptarea. S-a luat aceast decizie pentru c
unele din aplicaiile n care urma s fie folosit algoritmul implic numai criptri,
i nu i decriptri, deci criptarea este folosit mai des.
-AddRoundKey -n pasul AddRoundKey, se efectueaz o operaie de sau
exclusiv pe bii ntre octeii strii i cei ai cheii de rundPasul AddRoundKey
este pasul n care este implicat cheia. El const ntr-o simpl operaie de sau
exclusiv pe bii ntre stare i cheia de rund (o cheie care este unic pentru
fiecare iteraie, cheie calculat pe baza cheii secrete). Operaia de combinare cu
cheia secret este una extrem de simpl i rapid, dar algoritmul rmne
complex, din cauza complexitii calculului cheilor de rund (Key Schedule),
precum i a celorlali pai ai algoritmului.

Fig. 7. Algoritmul AES

16

3.5. Blowfish
Blowfish este un cifru simetric bloc care poate nlocui DES sau IDEA. El
necesit o cheie de lungime variabil, ntre 32 i 448 bii. Blowfish a fost
conceput n 1993 de ctre Bruce Schneier, ca o alternativ gratuit i rapid la
algoritmii de criptare existeni. Blowfish este nepatentat, nu necesit
cumprarea unei licene i este disponibil gratuit pentru toi utilizatorii.
Articolul original care prezint cifrul a fost prezentat la workshop-ul First
Fast Software Encryption de la Cambridge, UK (urmnd s fie publicat de
Springer-Verlag, Lecture Notes in Computer Scrience #809,1994).
Blowfish este o reea Feistel care itereaz o funcie simpl de criptare de
16 ori. Fiecare ciclu este format dintr-o permutare dependent de cheie i o
substituie dependent i de cheie li de date. Dimensiunea blocului este de 64
bii, cheia are o lungime variabil de pn la 448 bii. Algoritmul const n dou
pari: expandarea cheii i criptarea datelor. n urma expandrii cheii, o cheie de
pn la 448 bii se transform n mai multe matrici de sub-chei care totalizeaza
4168 bii. Toare operaiile sunt adunri i aplicari de funcii XOR pe cuvinte de
32 bii.


3.6 IDEA (International Data Encryption Algoritm)
IDEA (International Data Encryption Algoritm) este un cifru bloc
proiectat de Xuejia Lai i de James Massey n Elveia, n anul 1991. Scopul
algoritmul era de a nlocui standardul DES. IDEA este o versiune revizuit a
unui cifru mai vechi, PES(Proposed Encryption Standard). Iniial, IDEA a fost
numit IPES(Improved PES).
Cifrul a fost proiectat n cadrul unui contract de cercetare cu Fundaia
Hasler, care a devenit parte din Ascom-Tech AG. Cifrul e patentat n mai multe
ri dar este disponibil gratuit pentru uz non-comercial. Numele IDEA este
marc nregistrat. Brevetul va expira in 2010-2011.
IDEA opereaz pe blocuri de 64 bii, folosind o cheie de 128 bii i const
ntr-o serie de 8 transformri (runde) identice i o transformare final. Din cheia
de 128 bii sunt derivate 62 de sub-chei a cte 16 bii fiecare. Dou dintre ele
sunt folosite n cadrul fiecrei runde, patru sunt folosite naintea fiecrei runde
i dup ultima rund.
17

Blocul de text n clar este divizat n 4 sub-blocuri de 16 bii. Sunt folosite
3 operaii pentru a combina dou valori de 16 bii ntr-un rezultat de 16 bii:
adunare, XOR i nmulire.
n diagrama de criptare (Fig. 9, Fig. 8) se folosesc urmtoarele simboluri:


Fig. 8,9. Diagremele de criptare ale alg. IDEA



18

4. Criptare cu chei publice
Un alt moment foarte important n evolutia criptografiei computationale
l-a constituit adoptarea unui principiu diferit de acela al cifrrii clasice,
cunoscut de mii de ani. Whitfield Diffie si Martin Hellman, de la Univeritatea
Stanford din California, printr-un articol celebru publicat n 1976, au pus bazele
criptografiei cu chei publice. n locul unei singure chei secrete, criptografia
asimetric foloseste dou chei diferite, una pentru cifrare, alta pentru descifrare.
Deoarece este imposibil deducerea unei chei din cealalt, una din chei este
fcut public fiind pus la dispozitia oricui doreste s transmit un mesaj cifrat.
Doar destinatarul, care detine cea de-a doua cheie, poate descifra si utiliza
mesajul. Tehnica cheilor publice poate fi folosit si pentru autentificarea
mesajelor, prin asa numita semntur digital, fapt care i-a sporit popularitatea.
Folosind algoritmi cu cheie public (asimetrici), se creaz criptosisteme cu dou
chei, n cadrul crora doi utilizatori (procese) pot comunica cunoscnd fiecare
doar cheia public a celuilalt.
n criptosistemele cu chei publice fiecare utilizator A, detine o
transformare de cifrare public, EA, care poate fi memorat ntr-un registru
(fisier) public si o transformare de descifrare secret, DA, ce nu este posibil s
fie obtinut din EA. Cheia de descifrare (secret) este derivat din cheia de
cifrare (public) printr-o transformare greu inversabil (one-way). n sistemele
cu chei publice, protectia si autentificarea sunt realizate prin transformri
distincte. S presupunem c utilizatorul (procesul) A doreste s emit un mesaj,
M, unui alt utilizator (proces) B. Dac A cunoaste transformarea public EB,
atunci A poate transmite M la B sub forma C=EB(M), asigurndu-se astfel
functia de confidentialitate.
La receptie, B, va descifra criptograma C utiliznd transformarea secret
DB, cunoscut doar de el:
DB(C)=DB(EB(M))=M.
Schema nu furnizeaz facilitti de autentificare, deoarece orice utilizator
(proces) are acces la transformarea public EB a lui B si i poate trimite mesaje
false M' sub forma C'=EB(M').
Pentru autentificare se aplic lui M transformarea secret DA a lui A.
Ignornd protectia pentru moment, A va emite C=DA(M) la B, care la receptie
va aplica transformarea public, EA a lui A:
19

EA(C)=EA(DA(M))=
Autentificarea este realizat deoarece numai A poate aplica transformarea
DA. Acest concept poart numele de semntur digital, fiind folosit pentru
recunoasterea sigur a utilizatorilor sau proceselor. Fie B un receptor de mesaj
semnat de A. Semntura lui A trebuie s satisfac urmtoarele proprietti:
B s fie capabil s valideze semntura lui A;
s fie imposibil pentru oricine, inclusiv B, s falsifice semntura lui A;
n cazul n care A nu recunoaste semnarea unui mesaj M, trebuie s existe
un judector" care s poat rezolva disputa dintre A si B.
Protectia nu este asigurat, ntruct este posibil ca mesajul M s fie
obtinut de oricine, aplicnd transformarea public EA. Pentru a se realiza
simultan protectia si autentificarea informatiilor spatiului {M} trebuie s fie
echivalent spatiului {C}, asa nct orice pereche (EA, DA) s fie n msur s
opereze att asupra textului clar, ct si asupra textului cifrat; n plus se cere ca
EA si DA s fie mutual inverse, adic:
EA(DA(M))=DA(EA(M))=M.
Emittorul de mesaj A va aplica mai nti transformarea secret a sa, DA,
mesajului M, semnndu-l. Apoi A va cifra rezultatul - utiliznd transformarea
public a lui B, EB si va emite ctre receptor criptograma:
C=EB(DA(M)).
Receptorul B l obtine pe M aplicnd la nceput propria-i functie de
descifrare, DB, iar apoi transformare public a lui A, EA, cea care furnizeaz
autentificarea :
EA(DB(C))=EA(DB(EB(DA(M)))) =EA(DA(M)) =M.

Fig. 10. Principiu criptare cu chei publice
20

4.1 RSA (Rivest Shamir Adleman)
Cel mai cunoscut sistem cu chei publice este RSA al crui nume provine
de la de cei trei cercettori de la Massachusetts Institute of Technology care l-au
creat- Rivest, Shamir si Adleman. El este un adevrat standard de facto" n
domeniul semnturilor digitale si al confidentialittii cu chei publice. Se bucur
de o foarte mare apreciere att n mediul guvernamental ct si n cel comercial,
fiind sustinut prin lucrri si studii de comunitatea academic. Sub diferite forme
de implementare, prin programe sau dispozitive hardware speciale, RSA este
astzi recunoscut ca cea mai sigur metod de cifrare si autentificare
disponibil comercial. O serie de firme productoare de sisteme de programe si
echipamente ca DEC, Lotus, Novell, Motorola precum si o serie de institutii
importante (Departamentul Aprrii din SUA, National Aeronautics-SUA,
Boeing, reteaua bancar international SWIFT, guvernul Belgiei etc), folosesc
acest algoritm pentru protejarea si autentificarea datelor, parolelor, fisierelor,
documentelor memorate sau transmise prin retele.
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.

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


21

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.

Fig. 11. Etapele principale algoritm RSA


Un prim domeniu unde ntlnim algoritmi de criptare, i n special RSA,
este cel al telecomunicaiilor: telefoane publice, cu cartele electronice, sau
telefoanele mobile (protocoale de autentificare a persoanei apelate). De
asemenea, n domeniul sntii, prin intermediul cardurilor electronice care s
conin istoricul medical al unui individ. Securitatea naional: cri de
identitate, paapoarte, legitimaii magnetice. i s nu uitm economia: cardurile
bancare, comerul electronic, sau informatica: confidenialitatea potei
electronice, a informaiilor de pe o pagin de web, pe scurt, dreptul la intimitate.
Unde vom ntlni nevoia de semntur i identificare electronic, vom
ntlni criptarea prin RSA.

22

4.2 . PGP (Pretty Good Privacy)
Dezavantajul algoritmului RSA, i n general al algoritmilor cu chei
publice, este c sunt destul de leni, n sensul c pentru a cripta i a decripta un
mesaj (n condiiile n care avem cheile public i secret) consumm o cantitate
mare de timp. Din acest motiv, de multe ori, se folosesc algoritmi combinai: cu
chei secrete i chei publice. Un astfel de algoritm este implementat n PGP.
PGP este un program care ofera intimitate criptografica si
autentificare(procesul prin care un computer,un program pentru computer, sau
un user, incearca sa confirme ca acel computer, acel program pentru computer
sau acel user din partea caruia o a doua parte primeste "un comunicat" este, sau
nu este, acea parte care se pretinde a fi, sau a nu fi).PGP a fost initial dezvoltat
de catre Phil Zimmermann in 1991.Numele i-a fost sugerat de catre un magazin
prezent intr-un serial transmis la un program de radio.PGP a fost suficient de
influent incat sa fie facut un standard IETF ,cunoscut ca OpenPGP.Versiunile
mai recente ale PGP decat standardul sunt mai mult sau mai putin compatibile
cu standardul.Cand e folosit corespunzator, PGP e capabil de o foarte inalta
securitate.Observatori informati cred ca inclusiv agentiile guvernamentale
(precum NSA) sunt incapabile sa patrunda mesajele criptate corespunzator cu
PGP.PGP e mai usor de folosit decat multe criptosisteme,dar, la fel ca in cazul
altor criptografii ,implementarea si folosirea afecteaza enorm securitatea
obtinuta in realitate.

Fig. 12. Servicii oferite de PGP

Erorile de implementare sunt intotdeauna posibile,si uzul neatent poate
transforma texul protejat in text neprotejat.Orice sistem de criptare poate fi
23

nesigur, indiferent de cat de bine este conceput.In general ,uzul corespunzator
implica citirea si urmarea documentatiei user.In contrast cu protocoalele de
securitate precum SSL care doar protejeaza datele in tranzit ,PGP poate fi folosit
pentru protectia datelor stocate pe disc.Oricum, chiar si uzul corespunzator
poate duce la rezultate nedorite, accentuandu-se astfel distanta intre acest tip de
program si protectia absoluta, imposibil de gasit deocamdata.Programele de
spyware sunt o amenintare la adresa acestei tip de protectie.
Nici un criptosistem , inclusiv PGP ,nu poate proteja informatii care sunt
accesibile in alte moduri.Atacurile la care acest criptosistem este vulnerabil sunt
de multe ori ignorate .Securitatea autentica a informatiei necesita securitatea
operatorului precum si un design criptografic si o implementare criptografica de
inalta calitate, iar securitatea absoluta a informatiei probabil nu poate fi
atinsa.PGP poate cripta orice data sau fisier ,si e adesea folosit pentru e-mailuri
care nu au nici un sistem de securizare built-in implementat.PGP si S/MIME
sunt cele doua sisteme de protectie ale e-mailurilor care au curent statut de
programe standard NIST.Plug-in-uri care implementeaza functionalitate PGP
sunt disponibile pentru multe aplicatii e-mail(Outlook,Outlook Express,
Eudora,Evolution,Mozilla Thunderbird,Apple Mail,etc).Cateva sunt incluse cu
distributii PGP.Din punct de vedere al securitatii fiecare plug-in este
independent de PGP.Oricare poate avea erori de implementare ,sau sa
interactioneze nesigur cu PGP sau alt software.Utilizand astfel de plug-in-uri nu
ofera neaparat acelasi nivel de securitate cu folosirea de sine statatoare a
PGP.Distinctia intre aceste cazuri este importanta inclusiv pentru cei mai
priceputi si informati din punct de vedere criptogrrafic.Cel mai bun sfat pentru
utilizatorul obisnuit este sa testeze intreg sistemul trimitandu-si mesaje siesi sau
unui partener,periodic.In special, dupa fiecare update sau schimbare de
software.Cea mai sigura actiune operationala este criptarea manuala ,semnarea
mesajelor si trimiterea lor prin e-mail, de asemenea,manual.In orice caz , la fel
ca toate consideratiile de securitate,aceasta trebuie potrivita in functie de
cerintele celorlalte sisteme, constangerile lor,si nevoile userului.Dar, oricare ar
fi riscurile unui sistem de securitate, absenta lui este intotdeauna mult mai
riscanta.PGP foloseste criptografia "public-key" dar si criptografia "symmetric
key",si ,pana la un punct, foloseste si Public Key Infrastructure(PKI)(cu unele
similaritati ,si multe diferente ,cu certificatul standard X.509,care il
preceda).PGP foloseste "assymmetric key encryption" , modalitate in care
24

recipientul mesajului a generat anterior operatiei o pereche inrudita de
chei,cheia privata ,si cheia publica.

Fig 13. Etapa de criptarea in algoritmul PGP

Cheia publica a recipientului e folosita de expeditor pentru criptarea unei
chei impartasite de cei doi useri(cheie secreta,cheie conventionala) pentru un
algoritm de tip "symmetric cipher".Acea cheie e folosita apoi pentru criptarea
textul brut al mesajului.Multe chei publice PGP sunt disponibile pentru toti prin
intermediul "key serverelor" PGP din lume care se comporta ca site-uri mirror
reciproc.Recipientul unui mesaj protejat PGP decripteaza mesajul folosind
"session key" pentru algoritmul simetric.Acea cheie a fost inclusa in mesajul
trimis in forma criptata si a fost decriptat folosindu-se cheia privata a
recipientului.Folosirea a doua codificari este rationala datorita diferentei vitezei
de operare intre codificarile simetrice si cele asimetrice, cele simetrice fiind in
general mult mai rapizi.Sunt si vulnerabilitati in algoritmii "asymmetric key"
folositi de PGP cand sunt folositi ca sa cripteze direct mesajele.O strategie
similara este folosita pentru a detecta daca un mesaj a fost modificat de cand a
fost terminat sau daca a fost trimis de persoana care pretinde ca este
trimitatorul(daca trimitatorul este persoana care pretinde ca este).Ca sa se
determine acestea ,trimitorul foloseste PGP ca sa "semneze" mesajul ,fie cu
RSA sau DSA (algoritmi de signatura).Pentru a face asta, PGP computeaza un
"hash" din textul brut si apoi creaza semnatura digitala("digital signature") din
acel "hash" , folosind cheia privata a trimitatorului.Primitorul mesajlui
computeaza un "hash" din textul brut recuperat si apoi foloseste cheia publica a
25

trimitatorului si valorea "hash"-ului mesajului semnat cu algoritmul de
signatura.
Daca semntura se potriveste "hash"-ul textului mesajului , se presupune
(cu indoieli minore) ca mesajul primit nu a fost trimis cu rea intentie deliberat
,sau accidental, din moment ce a fost semnat.Prezumtia se bazeaza pe un numar
de consideratii.Este destul de improbabil cu algoritmii si protocoalele folosite in
PGP ca cineva rau intentionat poate crea o signatura pentru un mesaj arbitrar si
astfel un mesaj primit care trece acest test trebuie sa fi fost trimis de catre
pretinsul trimitator.Oricum, oricine care are jumatatea privata a cheii de
semnare poate sa creeze cu usurinta o signatura corespunzatoare pentru orice.
Intr-o lume a e-mailurilor,virusurilor ,cailor troieni,si a altor forme de
malware termenul non-respingere(validarea unui mesaj ca apartinand
trimiatorului probabil) trebuie primit cu multa vigilenta si prudenta , pentru ca
cheile private pot fi uneori corupte clandestin. Dar asta se verifica pentru orice
criptosistem care foloseste algoritmi de tip "asymmetric key" pentru non-
respingere si semnatura digitala.PGP nu e in nici un sens extrem de vulnerabil
,dar Zimmerman a fost inteligent cand l-a numit "pretty good".



5.Exemplu de spargere a codurilor (DES)
Desi despre criptanaliza DES au fost publicate mai multe informatii decat
despre oricare alt cifru bloc, cel mai practic atac ramane cel de forta bruta. Se
cunosc multe proprietati criptanalitice care permit cel putin trei feluri de atac cu
complexitatea teoretica mai mica. Insa acestea au nevoie de un volum cam
nerealist de informatii decriptate ca sa functioneze, nefiind practice.


5.1 Atacul de forta bruta
Pentru orice cifru, metoda fundamentala de atac este forta bruta, adica
incercarea tuturor cheilor posibile, pe rand. Lungimea unei chei determina
numarul posibil de chei si deci complexitatea procesului. In ceea ce priveste
DES, s-au pus inca de devreme intrebari cu privire la lungimea cheii sale,
inainte chiar de a fi aprobat ca standard. Avand o cheie relativ scurta, se
26

prevedea necesitatea unui algoritm nou inca de atunci. Se stie ca NSA a
incurajat, daca nu chiar fortat IBM sa reduca cheia de la 128 la 64 de biti, iar
mai apoi la 56. Acesta este un indicator al faptului ca NSA dispunea de
calculatoare capabile sa sparga asemenea chei chiar in anii '70.
Masina construita sa sparga DES valora 250.000$ si continea peste
18.000 de chipuri menite sa termine o cheie DES in cateva zile. Au fost
propuse multe astfel de masini. In 1977, Diffie si Hellman au propus o masina
estimata a costa 20 de milioane de dolari, care putea gasi o cheie DES intr-o
singura zi. Prin 1993, Wiener a propus o masina de 1 milion de dolari ce gasea o
cheie in sapte ore. Vulnerabilitatea DES a fost demonstrata practic la sfarsitul
anilor '90. In 1997, RSA Securiry a sposorizat o serie de competitii care ofereau
10.000$ primei echipe care spargea un mesaj criptat cu DES. Conscursul final a
fost castigat de Proiectul Deschall, condus de Rocke Verser, Matt Curtin si
Justin Dolske, ce folosea timpii morti a mii de procesoare din Internet.
Vulnerabilitatea a fost si mai puternic pusa in evidenta in 1998, cand Electronic
Frontier Foundation (EFF) a construit o masina de 250,000$. EFF dorea sa
demonstreze ca DES poate fi spart atat in teorie, cat si in practica: Sunt multi
oameni care nu cred un adevar pana ce nu il vad cu proprii ochi. Numai
construind o masina care sparge DES in cateva zile poate convinge pe acestia sa
nu se bazeze pe securitatea sa. Masina rezolva o cheie DES in mai putin de
doua zile cam in acelasi timp Departamentul de Justitie USA anunta ca DES
este imposibil de spart.

Fig 14. Timp necesar pentru a sparge algorimul DES prin forta brut

27


5.2 Atacuri mai rapide decat forta bruta
Exista trei atacuri care pot sparge cele saisprezece runde ale algoritmului
DES cu o complexitate mai mica decat forta bruta: criptanaliza diferentiala
(DC), criptanaliza liniara (LC) si atacul lui Davies. Insa atacurile de aceste
feluri sunt teoretice si destul de greu de implementat in practica, certificand doar
slabiciunile.
Criptanaliza diferentiala a fost descoperita pe la sfarsitul anilor '80 de Eli
Bihan si Adi Shamir, desi era cunoscuta deja de IBM. Ca sa sparga cele
saisprezece runde, criptanaliza diferentiala are nevoie de 247 texte cunoscute.
DES a fost construit ca sa reziste la acest fel de criptanaliza.
Criptanaliza liniara a fost descoperita de Mitsuru Matsui si are nevoie de
243 de texte cunoscute. Metoda a fost implementata si a fost primul experiment
de criptanaliza DES raportat. Nu reiese de nicaieri ca DES ar fi fost construit sa
reziste si unui astfel de atac. O generalizare a LC, analiza liniata multipla a fost
sugerata in 1994 de Kaliski si Robhashaw, fiind rafinata apoi de Bityukov in
2004. Rezultatele acestor analize arata ca pot fi folosite mai multe aproximari
liniare pentru reducerea cerintelor de date (241 in loc de 243).
Atacul lui Davies este o tehnica specializata pentru DES, sugerata la
inceput de Davies in anii '80, imbunatatita mai apoi de Biham si Biryukiv in
1997. Cea mai puternica forma a acestui atac are nevoie de 250 texte, are
complexitatea computationala de 250 si o rata a succesului de 51%.
Criptanaliza Diferential-Liniara propusa de Langford si Hellman in 1994
reduce necesarul de texte cunoscute la 215.8.


6.1 Exemplu de spargere a codurilor (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).
28

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.
Problema decriptrii unui mesaj criptat cu RSA este denumit problema
RSA. Aceasta const n obinerea radicalului de ordin e modulo n, unde e i n au
proprietatea c n este produsul a dou numere prime mari p i q, iar e este prim
cu produsul dintre p-1 i q-1. n acest moment, cea mai eficient metod de a
realiza aceasta este descompunerea n factori primi a lui n, i obinerea astfel a
cheii secrete d pe baza lui e. Astfel, este demonstrat c dificultatea spargerii
unui mesaj criptat cu RSA nu este mai dificil dect problema factorizrii. Nu a
fost descoperit nc o alt soluie general a problemei RSA, dar nici nu s-a
demonstrat matematic c nu exist o alt soluie.

Fig 15. Graficul complexitii celei mai bune metode de factorizare a ntregilor
n funcie de lungimea reprezentrii binare a numrului factorizat

Graficul complexitii celei mai bune metode de factorizare a ntregilor n
funcie de lungimea reprezentrii binare a numrului factorizat (pe abscis, log
29

n, adic numrul de cifre al numrului de factorizat; pe ordonat, ordinul de
mrime al duratei de factorizare). Se observ c aceast complexitate este
exponenial, crescnd foarte mult pentru numere mari
Factorizarea ntregilor prin metodele comune ajut la gsirea soluiilor n
timp util doar pentru numere mici. Pentru numere mari, algoritmii de
factorizare, cu complexitate exponenial, dau soluia dup foarte mult timp.
Cea mai rapid metod de factorizare a ntregilor, algoritmul general al ciurului
cmpurilor de numere, are o complexitate de Aici, c
este un numr ce ia valori n jur de 1,9 pentru numere de tipul lui n, adic
numere cu doi factori primi. Cel mai mare numr factorizat vreodat prin acest
algoritm, rulat n anul 2005, de ctre specialiti de la Agenia Federal German
pentru Securitatea Tehnologiei Informaiei, are 200 de cifre zecimale, iar
reprezentarea binar a factorilor primi obinui ocup 663 de bii. Cheile de
criptare RSA cele mai sigure au lungimi de peste 1024 de bii.
Atacul RSA prin metoda forei brute, adic ncercarea fiecrei chei
secrete posibile, consum chiar mai mult timp dect factorizarea
[
.
Dei securitatea algoritmului RSA const n legtura dintre acesta i
factorizarea ntregilor, el trebuie folosit cu grij n implementri, deoarece, n
caz de folosire eronat, sistemele bazate pe RSA pot fi atacate n anumite
maniere care ocolesc factorizarea efectiv a modulului, atacatorul ajungnd s
obin mesajul clar sau cheia secret.
Atac cu text cifrat ales
n cazul atacului cu text cifrat ales, atacatorul dispune de cheia public a
entitii atacate (exponentul de criptare e i modulul n), i intercepteaz mesaje
cifrate trimise acestuia. Pentru a obine mesajul clar m dintr-un mesaj cifrat c,
atacatorul poate proceda, de exemplu, astfel
:

1. Calculeaz
2. Trimite entitii atacate spre semnare pe x, obinnd y = x
d
(mod n)
3. Se observ c

4. Se rezolv ecuaia y = (2m)(mod n)
Atacatorul obine astfel mesajul cifrat. Exist mai multe feluri de atacuri
cifrate, dar sunt cteva moduri de aprare mpotriva lor. Unele pot fi evitate
dac pur i simplu entitatea protejat cu chei secrete refuz s semneze texte
30

arbitrare trimise de teri. Dac acest lucru nu este posibil (ca de exemplu n
cazul unui notar public care trebuie s semneze documente electronice
prezentate de persoane strine), atunci atacul poate fi prevenit prin folosirea
unei perechi diferite de chei pentru criptare i pentru semntura electronic. De
asemenea, este necesar s se foloseasc i un padding aleator pentru mesaj
nainte de criptare sau, n cazul semnturii, s nu se semneze mesajul clar, ci un
hash al acestuia. De asemenea, atacul poate fi evitat i dac se impune o
anumit structur predefinit mesajelor primite spre semnare.
Mesaje necriptate
ntruct RSA se bazeaz pe ridicarea la putere (modulo un numr n),
exist anumite pri de mesaje care nu sunt criptate, pri rezultate n urma
mpririi mesajului pe blocuri. Astfel de mesaje sunt mesajele m cu proprietatea
c m=m
x
(mod n) oricare ar fi x, ca de exemplu m=0, m=1, m=n-1. Numrul
exact al acestor mesaje decriptate este
[20]
, i deci este de
minim 9 (deoarece e, p i q sunt impare). Pentru a micora numrul de astfel de
pri de mesaj, este util s se foloseasc un exponent public e ct mai mic.
Exponentul de criptare mic
n unele aplicaii, se folosete un exponent de criptare (public) mic, de
exemplu 3, pentru a mri performana, dar i pentru a rezolva unele probleme de
securitate. Dac mai multe entiti care comunic folosesc acelai exponent
public (dar fiecare are propriul modul i deci propria cheie secret), atunci
acelai mesaj trimis mai multor destinatari are urmtoarele valori:
c
1
= m
e
(mod n
1
)
c
2
= m
e
(mod n
2
)
c
3
= m
e
(mod n
3
)
unde n
i
sunt modulele celor trei destinatari, e este exponentul comun
acestora iar m este mesajul trimis tuturor celor trei. Un atacator poate folosi
algoritmul lui Gauss pentru a descoperi o soluie mai mic dect n
1
n
2
n
3
a unui
sistem compus din urmtoarele ecuaii:
x = m
e
(mod n
1
)
x = m
e
(mod n
2
)
x = m
e
(mod n
3
)
Aceast soluie este, conform teoremei chinezeti a resturilor, cubul
mesajului m. Soluia pentru aceast problem este cea denumit srarea
31

mesajului (din englez: salting), adic adugarea unui padding format din
numere pseudoaleatoare, padding diferit pentru fiecare expediere a mesajului.
Dac exponentul de decriptare (cel secret) este mic, pe lng faptul c
multe pri din mesaj nu se cripteaz, aa cum s-a artat mai sus, exist un
algoritm rapid de gsire a lui d, cunoscnd informaiile e i n. Acest algoritm nu
este eficient dac d este de acelai ordin de mrime cu n, deci dac e este mic,
acesta fiind unul din motivele pentru care se alege n general e un numr mic,
pentru ca d s fie ct mai mare.
Recomandri pentru dimensiunea cheilor:
Recentele progrese fcute n factorizarea ntregilor i n procesarea
paralel au dat natere la necesitatea unor chei din ce n ce mai mari pentru
sistemele de criptare cu chei publice.
Ultimele recomandri fcute de laboratoarele RSA Data Security pentru
alegerea dimensiunii cheilor de cifrare RSA sunt:

Fig 16. Recomandari laboratoareale RSA Data Security ptr lungimea cheilor














32

7. Concluzii
Ca o concluzie legat de performanele alg. cu chei simetrice cred c cel
mai exemplificativ este urmtorul tabel din care riese c timpii de decriptare
sunt aproape identici indiferent de metoda dar la timpii de criptare AES este de
doua ori mai ncet ca i competitorii:

Fig.17. Exemplu de performane algoritm de criptare chei simetrice*
(*extras din bibliografie 3)

Ct despre aspectul cel mai important : securitatea datelor se poate spune
c AES este cel mai recomandat dintre toate urmat la scurta distan de
Blowfish. Sunt AES pe 256 bii a fost spart doar cu for bruta dar din pcate
timpul necesar pentru a-l sparge in acest fel este direct proporional cu lungimea
parolei; de aceea se recomanda ca pentru AES 256bii sa se foloseasc o parol
de cel puin 64 de caractere.
Algoritmii cu chei publice sunt n general mai rapizi ca cei cu chei
simetrice(private) dar nu sunt neaparat mai siguri: RSA pe 1024 bii a fost spart
recent (martie 2010) de ctre un grup de cercettori de la universitatea Michigan
n domeniul securitii internet cel mai des folosite metode de criptarea
au ajuns sa fie cele bazate pe chei publice sau hibride(chei private + certificate).
Ca o concluzie pentru cele prezentate n aceast lucrare a vrea s afirm c nici
o tehnologie de criptare nu garantez securitate absolut ci doar faptul c efortul
de spargere a criptrii este mult prea mare pentru a merita sa fie depus.
33

Bibliografie:

1) Securitatea in mediul internet [prof. Cezar A., Ed. Tehnica 2008]
2) Introducere in criptografie [prof. univ. dr. Constantin Popescu,
Universitatea Tehnica Oradea, 2009]
3) Tehnologii de securitatea alternative pentru aplicaii n reea
[Universitatea Tehnica din Cluj Napoca, Mircea F. V,2009]
4) Retele de calculatoare - Introducere in securitate
[Corneliu Buraga, Universitatea A.I.Cuza Iasi,2007]
5) Computation Algebra [prof. John C.,CALTech University, 2008]
6) Cryptography and Network Security [William Stallings,Lawrie
Brown, Idaho Institute of Technology,SUA, 2006 ]
7) Cryptography and Network Security
[Viorel Preoteasa, Abo Akademy.Finlanda,2009]
8) Wikipedia.org [din diferita tari]
9) networkcomputing.com [revista IT]
10) csoonline.com [revista IT]
11) searchsecurity.techtarget.com [site IT]
12) design-reuse.com[site IT]
13) garykessler.net/library/crypto.html [breviar teoretic criptografie]
14) cacr.math.uwaterloo.ca/hac/ [dictionar criptografie]]



Bibliografie figuri:

- Fig 1 wikipedia.org (uk)
- Fig 2,3 bibliografie 1)
- Fig 4 bibliografie 3)
- Fig 5 bibliografie 10)
- Fig 6 wikipedia.org (us)
- Fig 7 design-reuse.com
- Fig 8,9 bibliografie 6)
- Fig 10 bibliografie 4)
- Fig 11 via.com.tw/en/
- Fig 12 bibliografie 2)
- Fig 13 zdnet.com
- Fig 14 bibliografie 3)
- Fig 15 wikipedia.org (ro)
- Fig 16 bibliografie 2)
- Fig 17 bibliografie 1)

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