Documente Academic
Documente Profesional
Documente Cultură
1.Introducere
Criptografia este stiinta scrierilor secrete. Ea sta la baza multor servicii si mecanisme de
securitate folosite in internet, folosind metode matematice pentru transformarea datelor, in
intentia de a ascunde continutul lor sau de a le proteja impotriva modificarii. Criptografia are o
lunga istorie, confidentialitatea comunicarii fiind o cerinta a tuturor timpurilor. Daca ar trebui sa
alegem un singur exemplu al criptografiei "clasice", acesta ar fi cifrul lui Cezar, nu atat datorita
celebritatii imparatului roman de care se leaga folosirea lui, ci pentru ca principiul sau de baza, al
substitutiei, s-a mentinut nealterat aproape doua milenii.
Multa vreme, eforturile criptografilor au fost dirijate spre intarirea cifrurilor prin
complicarea algoritmului, combinand substitutii si transpozitii asupra unor simboluri sau asupra
unor blocuri (grupe de simboluri). Istoria moderna a criptografiei cunoaste numeroase inovatii in
aceasta privinta. Doua sunt elementele ce au marcat insa cotitura semnificativa in dezvoltarea
metodelor criptografice.
Primul este legat de dezvoltarea retelelor de calculatoare, al caror stimulent extraordinar
s-a manifestat atat prin presiunea exercitata de tot mai multi utilizatori (a caror dorinta obiectiva
este pastrarea secretului si a sigurantei asupra postei electronice private, a transferului electronic
de fonduri si a altor aplicatii) cat si prin potentarea gamei de instrumente folosite efectiv in
executia algoritmilor de cifrare. Utilizarea calculatoarelor electronice a permis folosirea unor
chei de dimensiuni mai mari, sporindu-se atfel rezistenta la atacuri criptoanalitice. Cand cheia
secreta are o dimeniune convenabila si este suficient de frecvent schimbata, devine practic
imposibila spargerea cifrului, chiar daca se cunoaste algoritmul de cifrare. Pe aceasta idee se
bazeaza si standardul american de cifrare a datelor - DES (Data Encryption Standard) larg
utilizat de guvernul SUA si de diverse companii internationale. Propus intr-o forma initiala de
IBM in 1975, DES a rezistat evaluarii facute de "spargatorii de cifruri" de la U.S. National
Security Agency (NSA), care au recomandat doar reproiectarea anumitor componente (casete de
substitutie). DES a fost adoptat ca standard federal in 1977 si a fost folosit intens datorita
performantelor de viteza atinse la cifrare (peste 100 de milioane de biti/secunda). Din pacate, nu
se stie cu certitudine daca cei de la NSA sau de la vreo alta organizatie au reusit sau nu sa sparga
DES. Experienta a aratat insa ca orice schema criptografica are o viata limitata si ca avansul
tehnologic reduce, mai devreme sau mai tarziu, securitatea furnizata de ea.
Al doilea moment important in evolutia criptografiei moderne l-a constituit adoptarea
unui principiu diferit de acela al cifrarii simetrice. Whitfield Diffie si Martin Hellman, cercetatori
la Univeritatea Stanford din California, prin articolul "New Directions in Criptography", publicat
in 1976 in revista IEEE Transactions on Information Theory, au pus bazele "criptografiei
asimetrice" cu chei publice. in locul unei singure chei secrete, criptografia asimetrica foloseste
doua chei diferite, una pentru cifrare, alta pentru descifrare. Deoarece este imposibila deducerea
unei chei din cealalta, una din chei este facuta publica, fiind pusa la indemana oricui doreste sa
transmita un mesaj cifrat. Doar destinatarul, care detine cea de-a doua cheie, poate descifra si
utiliza mesajul. Tehnica cheilor publice poate fi folosita si pentru autentificarea mesajelor, fapt
care i-a sporit popularitatea. Nu este, deci, de mirare ca guvernul SUA a initiat adoptarea unui
standard de semnatura digitala bazat pe conceptul de cheie publica. Acest demers a generat
controverse, soldate chiar cu acuze intre organizatiile implicate. Pana in decembrie 1990,
Institutul National de Standarde si Tehnologie ai SUA (NIST) recomanda pentru adoptare ca
standard metoda RSA, prezenta deja in industrie. Dar noua luni mai tirziu, in august 1991, NIST
a avansat un cu totul alt algoritm, bazat pe o metoda cu chei publice, publicata de Taher El
Gamal in 1986. Noua propunere, denumita DSS (Digital Signature Standard), a fost dezvoltata
de Agentia de Securitate Nationala a SUA (NSA). Ea a dezamagit nu datorita performantelor, ci
-1-
"gratie" autorului, care este nu doar proiectant, dar si spargator de cifruri, ceea ce a starnit,
inevitabil, suspiciuni. Un cifru se defineste ca transformarea unui mesaj clar sau text clar in
mesaj cifrat ori criptograma. Procesul de transformare a textului clar in text cifrat se numeste
cifrare sau criptare, iar transformarea inversa, a criptogramei in text clar, are denumirea de
descifrare sau decriptare. Atat cifrarea cat si descifrarea sunt controlate de catre una sau mai
multe chei criptografice. Exista doua tipuri de sisteme criptografice:
simetrice (cu cheie secreta) care folosesc aceeasi cheie, atat la cifrarea cat si la
descifrarea mesajelor.
asimetrice (cu chei publice) care folosesc chei distincte de cifrare si descifrare (dar
legate una de alta). Una din chei este tinuta secreta si este cunoscuta doar de proprietarul ei. A
doua cheie (perechea ei) este facuta publica, de unde si numele de criptografie cu cheie publica.
2. Criptografie
Criptografia reprezinta un set de standarde si protocoale pentru codificarea datelor si
mesajelor, astfel ncat acestea sa poata fi stocate si transmise mai sigur. Ea sta la baza multor
servicii si mecanisme de securitate folosite n INTERNET, folosind metode matematice pentru
transformarea datelor, in intentia de a ascunde continutul lor sau de a le proteja impotriva
modificarii. Criptografia ne ajuta sa avem comunicatii mai sigure, chiar si atunci cand mediul de
transmitere (de exemplu, Internetul) nu este de incredere. De asemenea, se poate utiliza pentru
criptarea fisierelor sensibile, astfel ca probabilitatea de a fi intelese de intrusi sa fie mai mica.
Criptografia poate fi utilizata pentru a contribui la asigurarea integritatii datelor, precum si la
meninerea lor ca secrete. Criptografia ne ajuta sa verificam originea datelor si a mesajelor prin
utilizarea semnaturilor digitale si a certificatelor. Cand utilizam metode criptografice, cheile
criptografice trebuie sa ramana secrete. Algoritmii, dimensiunea cheilor si formatele de fisiere
pot fi facute publice fara a compromite securitatea.
Unul din principalele motive ale vulnerabilitatii unui sistem informatic il reprezinta faptul
ca majoritatea informatiilor pe care atacatorii le obtin de la un sistem sunt intr-o forma pe care o
pot citi si intelege. Avand in vedere milioanele de mesaje electronice care traverseaza internetul
in fiecare zi, este usor de inteles cum un sniffer bine pozitionat in retea poate captura un volum
mare de informatii pe care utilizatori nu ar dori sa le faca cunoscute unor persoane necunoscute.
Acesti oaspeti nepoftiti pot face publice aceste informatii ,ca le modifice pentru a aduce o
imagine defavorabila unui individ sau unei organizatii. O solutie la aceasta problema cu ajutorul
criptografiei ar fi ca accesul persoanelor necunoscute la astfel de informatii sa fie restrictionat.
Criptarea reprezinta procesul de transcriere a informatiei din forma sa originala numita plaintext
intr-o forma codata, incomprehensibila numita ciphertext. Decriptarea se refera la procesul
invers de transformare a informatiei din ciphertext in plaintext. Orice tip de date pot fi cripatate
inclusiv imagini digitale sau sunete .
Criptografia securizeaza informatia protejandui confidentialitatea . Criptografia poate fi folosita
deasemeni pentru a proteja integritatea si autenticitatea datelor. De exemplu sumele de verificare
sunt folosite pentru a verifica integritatea unui bloc de informatie. O astfel de verificare care este
un numar calculat din continutul unui fisier , poate fi folosit pentru a verifica daca informatia
este corecta. Totusi, un hacker ar putea falsifica acest checksum dupa ce in prealabil a modificat
blocul de informatie. Daca acest checksum nu este protejat modificarea informatiilor nu ar putea
fi sesizata. Autenticitatea datelor poate fi protejata si in alt mod. De exemplu pentru a transmite
catre un coleg un e-mail , expeditorul mai intai cripteaza informatia pentru a-si proteja
confidentialitatea si apoi ataseaza o semnatura digitala criptata acestui mesaj. In momentul in
care destinatarul primeste informatia , acesta verifica originea mesajului folosind o cheie pentru
a verifica daca semnatura digitala a expeditorului si decripteaza informatia folosind cheia de
decriptare corespunzatoare. Pentru a proteja informatia de a nu fi modificate sau falsificate
-2-
,semnatura digitala este formata prin cripatea unei combinatii a unei sume de verificare a
informatiei si a cheii private a autorului. Un efect secundar a acestei autentificari este conceptul
de non-repudiere . O persoana care a semnat un document electronic cu semnatura digitala nu
poate sa pretinda ulterior ca nu el a semnat documentul intrucat, teoretic, doar acea persoana
poate crea semnatura corecta.
Legile din ziua de azi din diferite tari ,incluzand si Statele Unite ale Americii , restrictioneaza
exportul sau importul de tehnologie criptografica. In era Internetului insa este extrem de
important cunoasterea foarte bine a reglementarilor guvernamentale care se aplica in fiecare tara
cu referiere la utilizarea criptografiei.
Pentru a compara criptografia cu chei publice folosite de Pki , exista o alta metoda
numita criptografia simetrica. Aceeasi cheie este folosita atat pentru cripare cat si pentru
decriptare.
-4-
4. Functii neinversabile
O observatie importanta este aceea ca un sistem cu cheie publica nu este sigur
neconditionat ,oricine putand sa efectueze criptari, nu este exclus sa gaseasca anumite puncte
slabe care sa i permita sa si decripteze mesajele. Ideea de baza folosita este aceea de functie
neinversabila.
Criptografia prin chei publice este posibila in aplicatiile care functioneaza intr-un singur
sens. O functie in sens unic este aceea care este usor de calculat intro directie, dar este dificil de
calculat in sens invers. Pentru o astfel de functie, daca y = f(x), este simplu de determinat
valoarea lui y daca se cunoaste x, dar este foarte dificil sa-l determini pe x cunoscandu-l pe y.
Intr-o astfel de situatie se afla cautarile telefonice. Este usor sa gasesti numarul cuiva daca stii
numele si adresa, dar este foarte dificil sa gasesti pe cineva intr-o carte de telefon cunoscandu-i
doar numarul de telefon. Pentru ca functiile cu sens unic sa fie utile in contextul criptografiei
bazate pe chei publice ele trebuie s aiba o trapa(trapdoor), adica un mecanism secret care sa
permita realizarea cu usurinta a functiei inverse functiei in sens unic. Printr-o astfel de modalitate
se poate obtine x daca se da y.
Exemplul1 : Ne putem imagina usor strazile cu sens unic dintr-un oras. Astfel, este usor
ca mergand pe astfel de strazi sa ajungem de la punctul A la punctul B, dar este
imposibil sa ajungem de la B la A.In acest mod, criptarea este privita ca directia A B;
desi este foarte usor de parcurs drumul n aceasta directie, nu ne putem ntoarce napoi spre A
(adica sa decriptam mesajul).
Exemplul 2 : Sa consideram cartea de telefon a unui oras mare . Cu ajutorul ei este foarte usor sa
gasim numarul de telefon al unei anumite persoane.In schimb, este extrem de greu - practic
imposibil - sa afli persoana care are un anumit numar de telefon. Ne aflam n situatia parcurgerii
secventiale a (cel putin) unui volum gros, ceea ce conduce la o crestere exagerata a timpului.
Aceasta da o sugestie de constructie a unui sistem de criptare cu cheie publica. Criptarea se face
independent de context, litera cu litera. Pentru fiecare litera a textului clar se alege un nume care
ncepe cu acest caracter si numarul de telefon al persoanei respective va constitui criptarea.
Sistemul este homofonic; doua aparitii diferite ale aceleiasi litere vor fi
codificate foarte probabil cu numere diferite.
De exemplu, textul clar SOLIST se poate cripta astfel:
S Simion Pavel
O Olaru Stefan
L Lambru Stelian
I Ilie Romeo
S Solovean Raluca
T Tecuceanu Paul
6394502
7781594
6300037
3134971
6281142
3359962
1. Oscar opacizeaza printr-un mijloc oarecare aceste chei si trimite lui Alice cheia e1B
ca din partea lui Bob; substituie similar pentru Bob cheia eA cu
e1A.
2. Fie m mesajul pe care Alice vrea sa l trimita lui Bob. Ea va cripta si va trimite y1 =
e1B(m).
3. Oscar intercepteaza mesajul (reamintim, toate canalele sunt nesigure) si afla m =
d1B(y1).
4. Oscar recripteaza y = eB(m) si trimite y lui Bob.
Bineinteles, Oscar poate modifica sau ntarzia mesajul m daca doreste. Din aceasta cauza,
aproape n toate sistemele de criptare cu cheie publica apare necesitatea autentificarii mesajului
sau a expeditorului, precum si aceea a confidentialitatii.
-6-
xb modulo p. Amandoi vor obtine acelasi rezultat, g ridicat la puterea xa i xb, iar rezultatul
obtinut va fi folosit de amandoi drept cheia K a mesajului. Matematic, totul se va exprima astfel:
ya = gxa mod p
yb = gxb mod p
K = yaxb mod p = ybxa mod p = gxa*xb mod p
Desi in practica se folosesc numere foarte lungi, de cateva sute de cifre, pentru
a ajuta la intelegerea modului de functionare, vom folosi numere mici.
Exemplul 1
S presupunem c p = 7, g = 3, cheia lui Alice xa = 1 i a lui Bob xb = 2
Vom avea:
Alice calculeaza cheia sa publica: ya = gxa mod p = 31 mod 7 = 3
Bob calculeaza cheia sa publica: yb = gxb mod p = 32 mod 7 = 2
Alice calculeaza K = ybxa mod p = 21 mod 7 = 2
Bob calculeaza K = yaxb mod p = 32 mod 7 = 2
sau
K = gxa*xb mod p = 32x1 mod 7 = 9 mod 7 = 2.
Exemplul 2
Presupunem ca p = 5, g = 4, cheia lui Alice xa = 3 i a lui Bob xb = 2
Alice calculeaza cheia sa publica: ya = gxa mod p = 43 mod 5 = 4
Bob calculeaza cheia sa publica: yb = gxb mod p = 42 mod 5 = 1
Alice calculeaza K = ybxa mod p = 13 mod 5 = 1
Bob calculeaza K = yaxb mod p = 42 mod 5 = 1
sau
K = gxa*xb mod p = 43x2 mod 5 = 4096 mod 5 = 1.
In ambele cazuri K ia valori identice, 2, respectiv 1.Metoda Diffie-Hellamn, precum si variantele
ei sunt utilizate n cteva protocoale de securitate a retelelor si in produse comerciale, inclusiv la
AT&T 3600 Telephone Security Device, la Fortezza card o varianta de carduri criptate, si la
Pretty Good Privacy pentru criptarea e-mail-urilor si a unor fisiere.
- 10 -
Concluzii:
Se pare ca discutia pe tema securitatii datelor este de actualitate . Apar cateva opinii in legtura cu
ce s-a vorbit pana acum legat de acest subiect. In primul rand o precizare care sa clarifice
conceptul de securitate: ascunderea datelor (fisiere, foldere, etc.) pe un HDD nu se numeste, in
nici un caz securitate, aceasta se numeste obscuritate. Securitate este atunci cand atacatorul
(hotul) are acces la date, stie unde sa le gaseasca, stie ce algoritm de criptare a fost folosit, mai
stie si modul de funcionare a acestui algoritm si, peste toate acestea are si timp sa incerce
diferite metode de atac, insa, daca nu stie cheia de decriptare, nu are cum sa decripteze fisierele
(datele) protejate in timp util. In acest context, timpul util este mai mic decat timpul de viata
(validitate) a informatiei protejate. Se poate discuta la nesfarsit despre diferiti algoritmi de
criptare, cat de siguri sunt, cit de rapizi sunt, etc. Orice algoritm de criptare este inutil daca cheia
de decriptare este compromisa (pierduta, furata, gasita, etc.). In alta ordine de idei, in momentul
iin care un hot vrea sa jefuiasc o banca, in nici un caz nu va trece la fapte in momentul in care i
trece ideea prin cap. Inainte de furt va avea grija sa urmareasca banca respectiva, isi pregateste
lovitura. In aceeasi idee, cine vrea sa copieze date digitale, in mod sigur va urmari care sunt orele
intre care proprietarul este conectat, unde tine fisierele, ce fel de protocol de autentificare
foloseste pentru a fi recunoscut de catre sistem, etc. De aici rezulta ca, daca un hot copiaza ceva
de pe un HDD, nu copiaza doar de dragul de a copia , copiaza fiindca stie ce sa copieze si de
unde sa copieze, deci stie ca datele sunt intr-un anumit loc. Dac ai date importante, nu iti
permiti sa le ascunzi pe HDD, sperand ca hotul (atacatorul) nu le va gasi din neatentie. n
legatura cu programele care ascund sau restrictioneaz anumite drepturi in Windows 95/98,
Windows 95/98 nu a fost creat cu securitatea datelor in gand. Si asta se vede tocmai la baza
sistemului de operare, adica la sistemul de fisiere. Windows 9x se bazeaz pe sistemul de fisiere
FAT, care stim foarte bine ce performante si ce slsbiciuni are. Mai mult de atat, din dorinta de a
asigura compatibilitatea programelor scrise pentru Win 31, nucleul lui Win 9x se bazeaza pe
apeluri de functii si servicii ale vechiului DOS, care habar nu are ce nseamna mai multi
utilizatori sau mai multe task-uri. Astfel, securitatea datelor n Win 9x folosind programe care
ascund sau restrictioneaza anumite drepturi, se aseamana cu sigurana unei case de piatra
construita pe o fundatie de paie. Unica solutie pentru o adevarat securitate este
folosirea/implementarea unui sistem criptografic, care sa fie independent de sistemul de operare
si care sa preia sarcina de pe seama sistemului de operare. Prin Internet se gasesc o multime de
implementari ale celor mai buni algoritmi de criptare. Foarte multe dintre acestea sunt gratuite si
poti avea codul sursa pe care sa-l studiezi si sa-l modifici dupa bunul plac. Astfel, chiar daca nu
esti un foarte bun cunoscator in domeniu, poti sa-ti faci o securitate destul de marita a fisierelor
si a datelor.