Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
CRIPTOGRAFIA
Criptografia reprezinta stiinta scrierilor secrete. 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.
Criptanaliza studiaza gradul de vulnerabilitate al cifrurilor, adica de determinare a textului clar sau a cheii de cifrare din criptograma.
Cunostintele actuale referitoare la inceputurile criptografiei ne sunt furnizate de diferite lucrari stiintifice, religioase sau istorice privind diferite razboaie ale unor civilizatii de mult apuse. Pe baza datelor cunoscute astazi se apreciaza ca domeniul criptografiei a aparut in mod independent in mai multe parti ale lumii, la mai multe popoare. In primul rand razboaiele si diplomatia au impulsionat continua perfectionare si innoire a metodelor de secretizare si de descifrare a mesajelor. Devenind tot mai complexe, ințelegerea mecanismelor criptografiei și criptanalizei presupune o serioasa pregatire matematica și logica bine dezvoltata, și chiar o buna cunoastere a aplicativitații acestora in domeniul sistemelor informatice.
Caracteristicile fundamentale ale criptografiei ce definesc contribuția ei in privința protecției datelor stocate sau transmise prin intermediul unui mediu digital, sunt urmatoarele:
Confidentialitatea
prin care se previne ca o persoana neautorizata sa poate dezvalui
datele transmise sau stocate, atunci cand acest lucru nu este intenționat,
Autenticitatea
prin care este asigurata atat identitatea emițatorului ca fiind
cea așteptata, cand si originalitatea mesajului trimis,
Integritatea
prin care criptograma unui mesaj ne asigura ca acesta nu a fost alterat pe
parcursul trimiterii sale, de catre o persoana neautorizata.
Aplicațiile criptografiei in domeniul informatic pot varia de la protejarea datelor trimise prin intermediul unui canal nesigur pana la securizarea datelor stocate, atat pe calculatoarele personale, cat și pe stațiile ce gazduiesc baze de date și date centralizate. Datele ce pot beneficia de avantajele criptografiei pot fi orice poate fi reprezentat ca o inșiruire de caractere alfa-numerice, de la e-mail-uri la contacte stocate pe computer, de la documente text pana la imagini si conversații avute prin intermediul internetului etc.
EVOLUȚIA ISTORICA
Criptografia in antichitate
Primele informatii referitoare la criptografie dateaza de acum circa patru mii de ani si provin din Egiptul antic sub forma unor formule funerare care contin, intr-o modalitate incipienta, elementele constitutive ale stiintei de azi.
Grecii antici au cunoscut si au practicat in multe variante scrierea secreta, dupa cum atesta documentele istorice. Inca din secolul al V-lea i. H. se cunoaste o prima forma a transpozitiei, metoda folosita si astazi. Pentru cifrare se folosea un instrument numit scitala - un baston in jurul caruia se infasura, spira langa spira, o panglica foarte ingusta de piele, papirus sau pergament pe care, paralel cu axa, se scriau literele mesajului. Dupa scrierea textului panglica era derulata, mesajul devenind indescifrabil, intrucat literele erau dezasamblate. Mesajul se putea reconstitui numai de persoana care dispunea de un baston de lungime si grosime identice cu dimensiunile initiale pe care sa fie infasurata din nou panglica primita.
In cartea sa, "Istoria generala", istoricul grec Polibiu, martor ocular si participant la al treilea razboi punic (149-146 i. H.) acorda o mare importanta pastrarii secretului militar. El a inventat un patrat, cu ajutorul caruia literele se codificau prin numere de doua cifre, in care cifrele reprezinta linia, respectiv coloana patratului in care se gasea litera. Sistemul lui Polibiu este prima forma concreta de schimb secretizat de mesaje, utilizand in premiera un tabel de cifrare in forma de patrat. Secretul era asigurat prin schimbarea cifrelor sau prin amestecarea literelor, obtinandu-se noi si noi variante. Datorita caracteristicilor lui - conversiunea literelor in numere de doua cifre separabile si reducerea numarului de simboluri utilizate (5 in loc de 26)-, patratul lui Polibiu se regaseste la baza elaborarii unui mare numar de sisteme de cifrare utilizate si astazi.
Criptografia in epoca moderna
Dezvoltarea criptografiei a fost mult stimulata datorita inventarii telegrafului. Acest dispozitiv de transmitere a informatiei avea menirea sa satisfaca nevoile crescande de comunicare in conditiile dezvoltarii impetuoase a industriei si comertului, a vietii sociale in general. Telegraful a determinat schimbari substantiale si in activitatea comandamentelor militare; in consecinta, au devenit posibile controlul permanent al actiunilor unitatilor militare, conducerea operativa a acestora si cresterea numarului mesajelor secrete transmise. Aceasta situatie a impus abordarea de pe pozitii noi a problemelor referitoare la pastrarea si utilizarea in secret a informatiilor. A aparut necesitatea sa se faca distinctie intre un sistem de scriere cifrata destinat pentru un schimb temporar de scrisori intre cateva persoane izolate si o metoda criptografica pentru un trafic intens de mesaje.
Incepand cu perioada premergatoare primului razboi mondial, radioul a fost folosit intens pentru transmiterea informatiilor secrete de natura militara si diplomatica. In paralel cu cresterea volumului de informatie transmisa pe aceasta cale, a luat avant si activitatea de criptanaliza. Pentru apararea secretului mesajelor diplomatice, in anii 1920 s-a introdus o noua metoda in criptografie, cunoscuta sub denumirea de bloc cu o singura utilizare. Metoda consta in utilizarea drept cheie a unor blocuri formate din grupuri de cifre alese la intamplare si tiparite, foile ce contineau aceste grupuri de cifre fiind legate intr-un volum. Fiecare foaie se folosea o singura data, dupa care era distrusa. Desi tinuta in cel mai mare secret, metoda s-a raspandit in decurs de 10-15 ani in intreaga lume. Folosita si azi, ea este considerata una din cele mai sigure metode criptografice.
SISTEMELE CRIPTOGRAFICE
Obiectivul principal al masurilor de protectie intr-un sistem de calcul il constituie eliminarea posibilitatilor de distrugere accidentala sau voita a informatiilor, precum si de consultare neautorizata a acestora. Accesul neautorizat la informatii poate provoca serioase daune prin afectarea caracterului privat al transmisiilor, introducerea unor date false sau trunchiate, falsificarea identitatii unor calculatoare, terminale ori utilizatori. Dintre obiectivele importante care trebuie avute in vedere la proiectarea unor mecanisme - hardware si software - pentru protectia informatiilor intr-o retea le mentionam pe cele de prevenire a dezvaluirii continutului in clar al mesajelor, a inserarii de mesaje false, a analizei traficului de mesaje, precum si pe cele de detectare a modificarii, stergerii sau inlocuirii continutului mesajelor, a incercarilor de conectare neautorizata in retea.
Obiectivele de prevenire pot fi atinse prin cifrarea informatiilor, solutie eficienta cand memorarea sau transmiterea de date se efectueaza prin intermediul unor medii nesigure. Obiectivele de detectare sunt realizate daca se folosesc protocoale specifice, coroborate cu metode criptografice, care asigura schimburile de mesaje intre entitatile retelei.
Cifrarea confera protectie informatiei transmise pentru canalele ce sunt ascultate sau interceptate. In acest scop emitatorul alege un algoritm de cifrare si o cheie, pe care le comunica receptorului pe cale sigura, - de exemplu, prin curier. Criptografia moderna protejeaza datele transmise pe linii de mare viteza si memorate in calculatoare. Ea urmareste doua obiective principale, si anume: protectia sau confidentialitatea (prevenirea dezvaluirii neautorizate a unor informatii transmise sau memorate) si autenticitatea sau integritatea (prevenirea unor modificari neautorizate ale datelor).
Un sistem criptografic (criptosistem) are cinci componente (figura 1.):
spatiul mesajelor in text clar, ;
spatiul mesajelor in text cifrat, ;
spatiul cheilor, ;
familia transformarilor de cifrare, Ek: M→C; unde KI
familia transformarilor de descifrare, Dk: C→M; unde KI
Fiecare transformare de cifrare, Ek, este definita de un algoritm de cifrare, E,comun tuturor transformarilor familiei, si o cheie, K, distincta de la o transformare la alta. In mod similar, fiecare transformare de descifrare, Dk, este definita de un algoritm de descifrare D, si de cheia K. Pentru un K dat, D reprezinta inversa lui Ek, adica:
Dk (Ek ((M))) = M , MI
In figura 1. este ilustrat modul in care transformarile de cifrare si descifrare sunt folosite pentru a se asigura protectia unui transfer de informatii intr-o retea.
Datele trebuie astfel protejate incat utilizatorii neautorizati sa nu poata reconstitui textul clar interceptat. In acest sens este necesar sa se asigure ca:
utilizatorul neautorizat sa nu poata determina sistematic transformarea de descifrare, Dk, din textul cifrat interceptat C, chiar daca se cunoaste textul clar, M, corespondent;
utilizatorul neautorizat sa nu poata reconstitui textul clar, M,din textul cifrat, C, fara cunoasterea transformarii Dk.
Protectia datelor (confidentialitatea) impune ca transformarea de cifrare Dk (respectiv, cheia) sa fie protejata.
Autentificarea datelor (ilustrata in figura și figura 3.) cere ca un utilizator neautorizat sa fie capabil in mod obiectiv sa substituie textul cifrat, C, cu un text cifrat fals, C', fara ca acest lucru sa fie detectat. Nu trebuie sa i se permita utilizatorului neautorizat:
- sa determine sistematic transformarea Ek, cunoscand pe C si textul clar corespunzator, M;
- sa gaseasca in mod sistematic C', astfel ca Dk(C') sa fie un text clar valid in M. Cerintele de autentificare impun doar ca transformarea Ek (respectiv, cheia de cifrare) sa fie protejata.
CRIPTOSISTEME CU CHEI PUBLICE
Conceptul de criptosistem cu doua chei (asimetric) a fost introdus de Diffie si Hellman in 1976. Ei propuneau o noua metoda de cifrare, numita cifrare cu cheie publica, in cadrul careia doi utilizatori (procese) pot comunica cunoscand fiecare doar cheia publica a celuilalt.
In criptosistemele cu chei publice fiecare utilizator A, detine o transformare de cifrare publica, EA, care poate fi memorata intr-un registru (fisier) public si o transformare de descifrare secreta, DA, ce nu este posibil sa fie obtinuta din EA.
Cheia de descifrare (secreta) este derivata din cheia de cifrare (publica) printr-o transformare greu inversabila (one-way). In sistemele cu chei publice, protectia si autentificarea sunt realizate prin transformari distincte. Sa presupunem ca utilizatorul (procesul) A doreste sa emita un mesaj, M, unui alt utilizator (proces) B. Daca A cunoaste transformarea publica EB, atunci A poate transmite M la B sub forma C=EB(M), asigurandu-se astfel functia de protectie (confidentialitate)(figura 4.).
La receptie, B, va descifra criptograma C utilizand transformarea secreta DB, cunoscuta doar de el:
DB(C)=DB(EB(M))=M
Schema (ilustrata in figura 4.) ne furnizeaza facilitati de autentificare, deoarece orice utilizator (proces) are acces la transformarea publica EB a lui B si ii poate trimite mesaje false M' sub forma C'=EB(M').
Pentru autentificare se aplica lui M transformarea secreta DA a lui A. Ignorand protectia pentru moment, A va emite C=DA(M) la B, care la receptie va aplica transformarea publica, EA a lui A:
EA(C)=EA(DA(M))=M
Autentificarea este realizata deoarece numai A poate aplica transformarea DA.
Protectia nu este asigurata, intrucat este posibil ca M sa fie obtinut de oricine aplicand transformarea publica EA. Pentru a se realiza simultan protectia si autentificarea informatiilor spatiului trebuie sa fie echivalent spatiului , asa incat orice pereche (EA, DA) sa fie in masura sa opereze atat asupra textului clar, cat si asupra textului cifrat; in plus se cere ca EA si DA sa fie mutual inverse, adica:
EA(DA(M))=DA(EA(M))=M
Emitatorul de mesaj A va aplica mai intai transformarea secreta a sa, DA, mesajului M. Apoi A va cifra rezultatul - utilizand transformarea publica a lui B, EB si va emite catre receptor criptograma (a se vedea figura 5. si figura 6.):
C=EB(DA(M)
Receptorul B il obtine pe M aplicand la inceput propria-i functie de descifrare, DB, iar apoi transformare publica a lui A, EA, cea care furnizeaza autentificarea:
EA(DB(C))=EA(DB(EB(DA(M))
=EA(DA(M))
=M.
CRIPTOGRAFIA ȘI SEMNAREA DIGITALA
Semnatura digitala reprezinta un atribut al unui utilizator sau proces folosita pentru recunoasterea și identificarea acestuia in mod unic. Fie B un receptor de mesaj semnat de A. Semnatura lui A trebuie sa satisfaca urmatoarele proprietati:
B sa fie capabil sa valideze semnatura lui A;
Sa fie imposibil pentru oricine, inclusiv B, sa falsifice semnatura lui A;
In cazul in care A nu recunoaste semnarea unui mesaj M, trebuie sa existe un "judecator" care sa poata rezolva disputa dintre A si B.
Semnatura digitala rezolva atat problema autentificarii emitatorului cat si pe cea a autentificarii datelor. Sistemele de autentificare cu chei publice permit o implementare simpla a semnaturilor digitale. Deoarece este detinuta doar de A, transformarea DA poate servi ca semnatura digitala pentru A. Receptorul B al mesajului M semnat (transformat prin DA) este sigur atat de autenticitatea emitatorului, cat si de aceea a datelor. Deoarece transformarea inversa EA este publica, receptorul B va putea valida semnatura. Procesele se desfasoara astfel:
A semneaza pe M calculand S=DA(M);
B valideaza semnatura lui A, verificand daca EA(S)=M;
Un "judecator" rezolva eventuala disputa dintre A si B controland daca EA(S) conduce la M, in aceeasi maniera ca si B.
Avand in vedere procesul prin care datele sunt marcate ca și semnate, se observa cum procesul de semnare digitala reprezinta de fapt o sub-arie a criptografiei, și intra sub incidența acesteia atat prin caracteristicile sale, cat și prin avantajele care le ofera.
CRIPTOGRAFIA ȘI AMPRENTA DIGITALA
Amprentarea digitala reprezinta procesul prin care o serie de date sunt identificate in mod unic (sau aproape unic) prin intermediul unor date-rezumat, de lungime fixa, pe care le vom numi amprenta. Acesta modalitate de identificare unica a unor serii de date, este des folosita si in semnarea digitala, si oriunde se dorește o siguranța in privința autenticitații datelor.
Legatura dintre amprentarea digitala si criptografia in sine, este insuși procesul prin care amprenta digitala este rezultata, si anume funcțiile de amprentare. In literatura de specialitate, funcțiile de amprentare sunt denumite funcții-hash, funcții-rezumat sau funcții de dispersie, și, spre deosebire de celelalte funcții criptografice sunt ireversibile (one-way)., mai exact nu pot regenera conținutul cifrat pe baza rezultatului obținut inițial (amprenta). Scopul principal al acestora este insa doar de asigura destinatarul de originalitatea si autenticitatea datele primite.
Funcțiile de amprentare pot fi de doua feluri:
Criptografice
Non-criptografice
Funcțiile criptografice pastreaza aceleași proprietați ca și funcțiile de encripție a datelor, spre deosebire de cele non-criptografice, care implementeaza artificii sau principii matematice in calcularea rezultatului, bazate in general pe sume de numere.
Funcțiile de amprentare nu sunt folosite doar pentru protecția si securizarea datelor, ele au o aplicabilitate mult mai larga in cadrul sistemelor informatice. Un exemplu ar fi amprentarea parolelor unui sistem de operare, pentru a impiedica citirea lizibila a acestora de catre un intrus, sau generarea de indecși de cautare dinamici pentru un anumit conținut.
Subiectul amprentarii digitale va fi tratat mai tarziu in aceasta lucrare.
SECURITATEA CONTIȚIONATA IN CRIPTOGRAFIE
Algoritmii criptografici au un timp de viata limitat - un algoritm trebuie inlocuit atunci cand un atac exhaustiv devine posibil datorita progreselor din tehnologia calculatoarelor. Algoritmii cu securitate conditionata sunt imuni la cresterea puterii de calcul a atacantului in sensul ca este suficienta alegerea unor parametri de securitate superiori, de exemplu un numar de biti mai mare pentru cheia criptografica pentru ca algoritmul sa ramana sigur.
Proiectarea si analiza algoritmilor cu securitate conditionata este corelata cu definirea dificultatii problemelor in teoria complexitatii. Un algoritm criptografic va fi aplicat in doua moduri: legal, de un utilizator autorizat, si ilegal, de un adversar; utilizarea autorizata a algoritmului trebuie sa fie cat se poate de eficienta, in timp ce utilizarea neautorizata trebuie sa fie dificila. Spargerea unui algoritm este echivalenta cu gasirea unui algoritm eficient pentru a rezolva o problema considerata computational nerezolvabila (de exemplu factorizarea numerelor prime, logaritmii discreti etc.) la proiectarea algoritmului de criptare.
Copyright © 2024 - Toate drepturile rezervate