Criptografia

Cuprins:

Criptografia…………………………….……………………………………………….…3

Criptare cu chei private(simetrice)…………………………………………..4

DES (Data Encryption Standard)…………………………………………5

Simple DES (S-DES)…………………………………………………….7

Triple DES(3DES)……………………………………………………………………7

AES(Advanced Encryption Standard)………………………………………..8

Blowfish……………………………………………………………………9

IDEA(Intrnational Data encryption Algoritm)…………………….…….10

Criptare cu chei publice…………………………………………………….…11

RSA (Rivest Shamir Adleman)……………………………………..…..13

PGP(Pretty Good Privacy)………………………………………………………14

Bibliografie…………………………………………………………………………………..16

Criptografia

Criptografia este știința scrierilor secrete. Ea stă la baza multor servicii și mecanisme de securitate folosite în internet, folosind metode matematice pentru transformarea datelor, în intenția de a ascunde conținutul lor sau de a le proteja împotriva modificarii. Criptografia are o lunga istorie, confidențialitatea comunicării fiind o cerință a tuturor timpurilor. Dacă ar trebui să alegem un singur exemplu al criptografiei 'clasice', acesta ar fi cifrul lui Cezar, nu atat datorita celebrității împăratului roman de care se leaga folosirea lui, ci pentru că principiul său de bază, al substituției, s-a menținut nealterat aproape doua milenii.

Multă vreme, eforturile criptografilor au fost dirijate spre întărirea cifrurilor prin complicarea algoritmului, combinând substituții și transpoziții asupra unor simboluri sau asupra unor blocuri (grupe de simboluri). Istoria modernă a criptografiei cunoaște numeroase inovații în această privință. Două sunt elementele ce au marcat însă cotitura semnificativă în dezvoltarea metodelor criptografice.

Primul este legat de dezvoltarea rețelelor de calculatoare, al căror stimulent extraordinar s-a manifestat atat prin presiunea exercitată de tot mai mulți utilizatori (a caror dorința obiectivă este păstrarea secretului și a siguranței asupra poștei electronice private, a transferului electronic de fonduri și a altor aplicații) cât și prin potențarea gamei de instrumente folosite efectiv în execuția algoritmilor de cifrare. Utilizarea calculatoarelor electronice a permis folosirea unor chei de dimensiuni mai mari, sporindu-se atfel rezistența la atacuri criptoanalitice. Când cheia secretă are o dimeniune convenabilă și este suficient de frecvent schimbată, devine practic imposibilă spargerea cifrului, chiar dacă se cunoaște algoritmul de cifrare. Pe această idee se bazează și standardul american de cifrare a datelor – DES (Data Encryption Standard) larg utilizat de guvernul SUA și de diverse companii internaționale. Propus într-o formă inițială de IBM în 1975, DES a rezistat evaluării făcute de 'spărgatorii de cifruri' de la U.S. National Security Agency (NSA), care au recomandat doar reproiectarea anumitor componente (casete de substituție). DES a fost adoptat ca standard federal în 1977 și a fost folosit intens datorită performanțelor de viteză atinse la cifrare (peste 100 de milioane de biți/secundă). Din pacate, nu se știe cu certitudine dacă cei de la NSA sau de la vreo altă organizație au reușit sau nu să spargă DES. Experiența a arătat însă că orice schemă criptografică are o viată limitată si că avansul tehnologic reduce, mai devreme sau mai tarziu, securitatea furnizată de ea.

Al doilea moment important în evoluția criptografiei moderne l-a constituit adoptarea unui principiu diferit de acela al cifrarii simetrice. Whitfield Diffie și Martin Hellman, cercetători la Univeritatea Stanford din California, prin articolul 'New Directions in Criptography', publicat in 1976 în revista IEEE Tranactions on Information Theory, au pus bazele 'criptografiei asimetrice' cu chei publice. În locul unei singure chei secrete, criptografia asimetrică folosește două chei diferite, una pentru cifrare, alta pentru descifrare. Deoarece este imposibilă deducerea unei chei din cealaltă, una din chei este facută publică, fiind pusă la îndemâna oricui ce dorește să transmită un mesaj cifrat. Doar destinatarul, care deține cea de-a doua cheie, poate descifra și utiliza mesajul. Tehnica cheilor publice poate fi folosită și pentru autentificarea mesajelor, fapt care i-a sporit popularitatea. Nu este, deci, de mirare că guvernul SUA a inițiat adoptarea unui standard de semnatură digitală bazat pe conceptul de cheie publică. Acest demers a generat controverse, soldate chiar cu acuze între organizațiile implicate. Pînă în decembrie 1990, Institutul National de Standarde și Tehnologie ai SUA (NIST)recomandă pentru adoptare ca standard metoda RSA, prezentă deja în industrie. Dar nouă luni mai tirziu, în august 1991, NIST a avansat cu totul alt algoritm, bazat pe o metodă cu chei publice, publicată de Taher El Gamal în 1986. Noua propunere, denumită DSS (Digital Signature Standard), a fost dezvoltată de Agenția de Securitate Națională a SUA (NSA). Ea a dezamăgit nu datorită performanțelor, ci 'grație' autorului, care este nu doar proiectant, dar și spărgător de cifruri, ceea ce a stârnit, inevitabil, suspiciuni. Un cifru se definește ca transformarea unui mesaj clar sau text clar în mesaj cifrat oricriptogramă. Procesul de transformare a textului clar în text cifrat se numește cifrare sau criptare, iar transformarea inversă, a criptogramei în text clar, are denumirea de descifrare sau decriptare. Atât cifrarea cît și descifrarea sunt controlate de către una sau mai multe chei criptografice. Există două tipuri de sisteme criptografice:

–  simetrice (cu cheie secretă) care folosesc aceeași cheie, atât la cifrarea cât și la descifrarea mesajelor.

–  asimetrice (cu chei publice) care folosesc chei distincte de cifrare și descifrare (dar legate una de alta). Una din chei este ținută secretă și este cunoscută doar de proprietarul ei. A doua cheie (perechea ei) este facută publică, de unde și numele de criptografie cu cheie publică.

2. Criptare cu chei private(simetrice)

Securitatea criptării simetrice (cu cheie secretă) depinde de protecția cheii; managementul acestora este un factor vital în securitatea datelor și cuprinde următoarele 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, funcții matematice și diverși parametri (numărul curent al apelurilor sistem, data, ora etc).
– distribuția 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 comunicație – sunt transportate criptat cu cheile terminal care, de asemenea, pot fi protejate (când sunt memorate) cu altă cheie, numită cheie master.
– memorarea cheilor. Utilizarea algoritmilor simetrici, în cazul a N entități care doresc să comunice, implică N(N-1)/2 chei de memorat într-un mod sigur. în realitate, nu toate legăturile bidirecționale se stabilesc la același 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. Când sunt folosite chei publice, X500 pare cea mai bună soluție pentru managementul cheilor. Cheile publice sunt păstrate în directoare X500, ca certificate semnate cu o semnătură digitală a Autorității de certificare (Certificate Authority).

Fig. 1. Modelul simplificat al criptării convenționale

Întâlnim următoarele 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 și alte variațiuni ale DES);
– cifrul IDEA;
– cifrul FEAL;
– cirful LOKI;
– cifrul RC2
– altele

DES (Data Encryption Standard)

Data Encryption Standard, sau DES este un cifru (o metodă de criptare a informațiilor) ce a ajuns cifrul oficial FIPS al Statelor Unite în 1976, raspândindu-se apoi în întreaga lume. Algoritmul a fost inițial subiectul multor controverse, multe părți find secrete și având o cheie destul de scurtă, însă în cele din urmă a ajutat la întelegerea ideii de cifru bloc și a dus la criptanaliza sa.

Astazi, DES este considerat a fi nesigur în multe situații, în special din cauza cheii sale de 56 biți, care este prea scurtă. Astfel de chei DES au fost sparte în mai puțin de 24 de ore. De asemenea există rezultate analitice care dovedesc anumite slăbiciuni teoretice ale cifrului, însă care nu apar adesea în practică. Algoritmul pare să fie sigur în forma sa “Triple DES”, deși pot apărea și aici slăbiciuni în situații de atac. În ultimii ani cifrul a fost detronat de Advanced Encryption Standard (AES). În unele documentații, DES este referit ca DEA (Data Encryption Algorithm).

În 17 Martie 1975, algoritmul propus ca Standard de Criptare a Datelor (DES) a fost publicat în Registul Federal. Au fost cerute compensării publice, iar în anul următor s-au deschis două grupuri de discuții pentru standardul propus. Au fost câteva critici din diverse părți, incluzând pe Martin Hellman și Diffie Whitfield, pionierii criptografiei cu cheie publică. Aceștia spuneau că cifrul are o cheie prea scurtă și că NSA a slăbit algoritmul ca să poată citi mesajele criptate. Alan Konheim, unul din proiectanții DES spunea: “am trimis cutii de substituție la Washington și au venit înapoi total modificate”. S-au facut cercetări cu privire la implicarea NSA în dezvoltarea algoritmului, rezultatul fiind publicat în 1978: “În dezvoltarea DES, NSA a convins IBM că o cheie de marime mai mică ar fi suficientă, au asistat apoi indirect la construirea structurii cutiilor de substituție, în cele din urmă declarând fals că algoritmul DES final este ferit de orice slăbiciune statistică sau matematică”.

Totuși s-a găsit și că “NSA nu s-a implicat în dezvoltarea algoritmului propriu-zis, ci IBM a considerat că o cheie mai scurtă ar fi suficientă pentru cerințele actualelor sisteme”. Chiar unul din membrii DES, Walter Tuchman spunea că “noi am dezvoltat algoritmul DES folosind doar membrii echipei IBM. NSA nu a atins nici macar un fir de ață”.

Fig. 2. Algoritmul DES

DES criptează și decriptează datele în blocuri de 64 biți, folosind o cheie de lungime 64 biți. Din cei 64 de biți ai cheii, doar 56 sunt folosiți propriu-zis de algoritm, restul de 8 fiind folosiți ca biți de paritate. Blocul de text în clar de la intrare este de 64 biți, rezultând la ieșire un bloc de 64 biți de text cifrat. Datorită faptului că operează pe blocuri de aceeași dimensiune și folosește atât permutarea cât și substituția, DES este considerat în egală măsură un cifru bloc și un cifru produs (un cifru bloc care iterează mai multe operații simple în urma cărora rezultă un cifru mai puternic).

DES este alcătuit din 16 pași identici de procesare, numiți runde, care produc textul cifrat. În urma studiilor s-a concluzionat că numărul de runde este exponențial proporțional cu timpul necesar aflării cheii secret folosind atacul de tip forță brută. Pe măsură ce crește numărul de runde, securitatea algoritmului crește exponențial.

Pașii de procesare:

1. Textul în clar este împărțit în blocuri de 64 biți.

2. Din cheia de 56 biți se generează 16 chei de 48 biți. Cheia de 56 biți 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ă împărțit în blocuri, este supus unui proces de permutare bazat pe un table care specifică modul în care biții sunt permutați: bitul unul este mutat pe poziția bitului 40, bitul 2 pe poziția 23 etc.

4. După realizarea permutării, biții sunt trecuți prin cele 16 runde, folosind câte una din cele 16 sub-chei generate.

5. Cei 64 biți creați la pasul 3 sunt pi.

2. Din cheia de 56 biți se generează 16 chei de 48 biți. Cheia de 56 biți 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ă împărțit în blocuri, este supus unui proces de permutare bazat pe un table care specifică modul în care biții sunt permutați: bitul unul este mutat pe poziția bitului 40, bitul 2 pe poziția 23 etc.

4. După realizarea permutării, biții sunt trecuți prin cele 16 runde, folosind câte una din cele 16 sub-chei generate.

5. Cei 64 biți creați la pasul 3 sunt pasați unei runde, unde sunt împărțiți în 2 blocuri de câte 32 biți și procesați cu cheia corespunzătoare rundei respective.

6. Pasul 4 este repetat de 16 ori. Rezultatul unei runde este livrat următoarei runde.

7. După terminarea celei de-a 16-a runde, cele 2 jumătăți de câte 32 biți sunt lipite, rezultând un bloc de 64 biți.

8. Blocul de 64 biți este din nou permutat, folosind funcția inversă celei de la pasul 3.

2.2. Simple DES (S-DES)

Datorită complexității ridicate a algoritmului DES standard, în continuare vă prezint varianta simplificată a algoritmului DES, Simple-DES, care folosește blocuri de 8 biți de date.

Algoritmul DES simplificat poate fi exprimat ca o compunere de cinci funcții:

• o permutare inițială IP, care permută biții blocului de intrare;

• o funcție f, care depinde de o subcheie k1 a unei chei de criptare K; funcția este foarte complexă și acționează asupra jumătății stîngi a blocului de date rezultat la pasul anterior;

• o permutare SW, care interschimbă cele două jumătăți 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;

• aceeași funcție f, care folosește o altă subcheie (k2) a cheii de criptare K;

• inversa permutării 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 funcția de criptare care folosește cheia de criptare K și se aplică asupra blocului de intrare X, rezultînd blocul criptat Y; fk1 și fk2 reprezintă funcția f aplicată asupra unui bloc de date, folosind subcheile k1, respectiv k2.

În cazul acestui algoritm fiecare bloc de intrare are 8 biți și cheia de criptare, care este partajată între emițător și receptor, are lungimea de 10 biți. Cheia de criptare este folosită pentru a crea două subchei avînd fiecare 8 biți.

2.3. Triple DES (3DES)

Când s-a constatat că cheile de 56 biți folosite de DES nu sunt suficiente pentru a proteja datele împotriva atacurilor de tip forță brută, 3DES a fost soluția pentru mărirea spațiului cheilor fără a schimba algoritmul. 3DES, numit și Triple DES, este un cifru bloc care aplică de 3 ori DES.

Utilizarea celor trei pași este importantă pentru a evita atacurile “meet-in-the-middle”.

Fig. 3. Algoritmul 3DES

Triple DES, cu 3 chei diferite de 56 biți are o lungime a cheii de 168 biți. Datorită atacurilor “meet-in-the-middle”, securitatea efectivă este doar de 112 biți. Cel mai eficient atac asupra 3DES cu trei chei necesită aproximativ aproximativ 232 texte clare cunoscute, 2113 pași, 290 criptări DES individuale, și 288 unități de stocare.

2.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 astăzi pe scară largă în aplicații și adoptat ca standard de organizația guvernamentală americană NIST. Standardul oficializează algoritmul dezvoltat de doi criptografi belgieni, Joan Daemen și Vincent Rijmen și trimis la NIST pentru selecție 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. Deși 3DES s-a dovedit a fi un algoritm puternic, el este relativ lent în implementările software, 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 inițial, apoi prin eliminări numărul lor a 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 săi 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 cărora au fost evaluate propunerile pentru AES au fost securitatea (rezistența la atacuri criptanalitice), costurile (eficiența computațională, complexitatea spațială, precum și licențierea liberă și gratuită) și particularitățile algoritmului (flexibilitatea, simplitatea, și ușurința de realizare a implementărilor atât software cât și hardware).

Acest standard precizează algoritmul Rijndael, un cifru simetric de tip bloc care poate procesa blocuri de date de 128 biți, folosind chei cu lungimi de 128, 192 sau 256 biți. În publicația FIPS nr. 197 (4), operațiile sunt definite sub forma unor operații pe matrice.

Pașii algoritmului:

-Pasul SubBytes -Pasul SubBytes este un cifru cu substituție, fără 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 rând al matricii de stare state. Pasul constă în simpla deplasare ciclică a octeților de pe rânduri, astfel: primul rând nu se deplasează; al doilea rând se deplasează la stânga cu o poziție; al treilea rând se deplasează la stânga cu două poziții; al patrulea se deplasează la stânga cu trei poziții. Rezultatul acestui pas este că fiecare coloană din tabloul state rezultat este compusă din octeți de pe fiecare coloană a stării inițiale. Acesta este un aspect important, din cauză că tabloul state este populat inițial pe coloane, iar pașii ulteriori, inclusiv AddRoundKey în care este folosită cheia de criptare, operațiile 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 înmulțită, modulo x4 + 1 cu polinomul a(x) = 3×3 + x2 + x + 2.

Rezultatul are proprietatea că fiecare element al său depinde de toate elementele de pe coloana stării dinaintea efectuării pasului. Combinat cu pasul ShiftRows, acest pas asigură că după câteva iterații, fiecare octet din stare depinde de fiecare octet din starea inițială (tabloul populat cu octeții mesajului în clar). Acești doi pași, împreună, sunt principala sursă de difuzie în algoritmul Rijndael. Coeficienții polinomului a(x) sunt toți 1, 2 și 3, din motive de performanță, criptarea fiind mai eficientă atunci când coeficienții sunt mici. La decriptare, coeficienții pasului corespunzător acestuia sunt mai mari și deci decriptarea este mai lentă decât criptarea. S-a luat această decizie pentru că unele din aplicațiile în care urma să fie folosit algoritmul implică numai criptări, și nu și decriptări, deci criptarea este folosită mai des.

-AddRoundKey -În pasul AddRoundKey, se efectuează o operație de sau exclusiv pe biți între octeții stării și cei ai cheii de rundăPasul AddRoundKey este pasul în care este implicată cheia. El constă într-o simplă operație de „sau” exclusiv pe biți între stare și cheia de rundă (o cheie care este unică pentru fiecare iterație, cheie calculată pe baza cheii secrete). Operația de combinare cu cheia secretă este una extrem de simplă și rapidă, dar algoritmul rămâne complex, din cauza complexității calculului cheilor de rundă (Key Schedule), precum și a celorlalți pași ai algoritmului.

Fig. 4. Algoritmul AES

2.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 biți. Blowfish a fost conceput în 1993 de către Bruce Schneier, ca o alternativă gratuită și rapidă la algoritmii de criptare existenți. Blowfish este nepatentat, nu necesită cumpărarea unei licențe și este disponibil gratuit pentru toți utilizatorii.

Articolul original care prezintă cifrul a fost prezentat la workshop-ul First Fast Software Encryption de la Cambridge, UK (urmând să fie publicat de Springer-Verlag, Lecture Notes in Computer Scrience #809,1994).

Blowfish este o rețea Feistel care iterează o funcție simplă de criptare de 16 ori. Fiecare ciclu este format dintr-o permutare dependentă de cheie și o substituție dependentă și de cheie de date. Dimensiunea blocului este de 64 biți, cheia are o lungime variabilă de până la 448 biți. Algoritmul constă în două parți: expandarea cheii și criptarea datelor. În urma expandării cheii, o cheie de până la 448 biți se transformă în mai multe matrici de sub-chei care totalizeaza 4168 biți. Toate operațiile sunt adunări și aplicari de funcții XOR pe cuvinte de 32 biți.

2.6. IDEA (International Data Encryption Algoritm)

IDEA (International Data Encryption Algoritm) este un cifru bloc proiectat de Xuejia Lai și de James Massey în Elveția, î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). Inițial, IDEA a fost numit IPES(Improved PES).

Cifrul a fost proiectat în cadrul unui contract de cercetare cu Fundația 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 biți, folosind o cheie de 128 biți și constă într-o serie de 8 transformări (runde) identice și o transformare finală. Din cheia de 128 biți sunt derivate 62 de sub-chei a câte 16 biți fiecare. Două dintre ele sunt folosite în cadrul fiecărei runde, patru sunt folosite înaintea fiecărei runde și după ultima rundă.

Blocul de text în clar este divizat în 4 sub-blocuri de 16 biți. Sunt folosite 3 operații pentru a combina două valori de 16 biți într-un rezultat de 16 biți: adunare, XOR și înmulțire.

În diagrama de criptare (Fig. 5, Fig. 6) se folosesc următoarele simboluri:

Fig. 5,6. Diagremele de criptare ale alg. IDEA

3. Criptare cu chei publice

Un alt moment foarte important în evolutia criptografiei computaționale l-a constituit adoptarea unui principiu diferit de acela al cifrãrii 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ã folosește douã chei diferite, una pentru cifrare, alta pentru descifrare. Deoarece este imposibilã deducerea unei chei din cealaltã, una din chei este fãcutã publicã fiind pusã la dispoziția oricui ce dorește sã transmitã un mesaj cifrat. Doar destinatarul, care deține cea de-a doua cheie, poate descifra și utiliza mesajul. Tehnica cheilor publice poate fi folositã și pentru autentificarea mesajelor, prin așa numita semnãturã digitalã, fapt care i-a sporit popularitatea. Folosind algoritmi cu cheie publicã (asimetrici), se creazã criptosisteme cu douã chei, în cadrul cãrora doi utilizatori (procese) pot comunica cunoscînd fiecare doar cheia publicã a celuilalt.

În criptosistemele cu chei publice fiecare utilizator A, deține o transformare de cifrare publicã, EA, care poate fi memoratã într-un registru (fișier) public și o transformare de descifrare secretã, DA, ce nu este posibil sã fie obținutã 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, protecția și autentificarea sunt realizate prin transformãri distincte. Sã presupunem cã utilizatorul (procesul) A doreste sã emitã un mesaj, M, unui alt utilizator (proces) B. Dacã A cunoaște transformarea publicã EB, atunci A poate transmite M la B sub forma C=EB(M), asigurîndu-se astfel functia de confidențialitate.

La receptie, B, va descifra criptograma C utilizînd transformarea secretã DB, cunoscutã doar de el:

DB(C)=DB(EB(M))=M.

Schema nu furnizeazã facilitãți de autentificare, deoarece orice utilizator (proces) are acces la transformarea publicã EB a lui B și îi poate trimite mesaje false M' sub forma C'=EB(M').

Pentru autentificare se aplicã lui M transformarea secretã DA a lui A. Ignorînd protecția pentru moment, A va emite C=DA(M) la B, care la receptie va aplica transformarea publicã, EA a lui A: EA(C)=EA(DA(M))

Autentificarea este realizatã deoarece numai A poate aplica transformarea DA. Acest concept poartã numele de semnãturã digitalã, fiind folosit pentru recunoașterea sigurã a utilizatorilor sau proceselor. Fie B un receptor de mesaj semnat de A. Semnãtura lui A trebuie sã satisfacã urmãtoarele proprietãti:

• B sã fie capabil sã valideze semnãtura lui A;

• sã fie imposibil pentru oricine, inclusiv B, sã falsifice semnãtura lui A;

• în cazul în care A nu recunoaște semnarea unui mesaj M, trebuie sã existe un „judecãtor" care sã poatã rezolva disputa dintre A si B.

Protecția nu este asiguratã, întrucît este posibil ca mesajul M sã fie obținut de oricine, aplicînd transformarea publicã EA. Pentru a se realiza simultan protecția și autentificarea informațiilor spatiului {M} trebuie sã fie echivalent spațiului {C}, asa încît orice pereche (EA, DA) sã fie în mãsurã sã opereze atît asupra textului clar, cît și asupra textului cifrat; în plus se cere ca EA si DA sã fie mutual inverse, adicã:

EA(DA(M))=DA(EA(M))=M.

Emitãtorul de mesaj A va aplica mai întîi transformarea secretã a sa, DA, mesajului M, semnându-l. Apoi A va cifra rezultatul – utilizînd transformarea publicã a lui B, EB si va emite cãtre receptor criptograma:

C=EB(DA(M)).

Receptorul B îl obține pe M aplicînd la început propria-i funcție 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. 7. Principiu criptare cu chei publice

3.1. RSA (Rivest Shamir Adleman)

Cel mai cunoscut sistem cu chei publice este RSA al cãrui nume provine de la de cei trei cercetãtori de la Massachusetts Institute of Technology care l-au creat- Rivest, Shamir și Adleman. El este un adevãrat standard „de facto" în domeniul semnãturilor digitale și al confidențialitãții cu chei publice. Se bucurã de o foarte mare apreciere atît în mediul guvernamental cît și în cel comercial, fiind susținut prin lucrãri și studii de comunitatea academicã. Sub diferite forme de implementare, prin programe sau dispozitive hardware speciale, RSA este astãzi recunoscutã ca cea mai sigurã metodã de cifrare si autentificare disponibilã comercial. O serie de firme producãtoare de sisteme de programe și echipamente ca DEC, Lotus, Novell, Motorola precum și o serie de instituții importante (Departamentul Apãrãrii din SUA, National Aeronautics-SUA, Boeing, rețeaua bancarã internaționalã SWIFT, guvernul Belgiei etc), folosesc acest algoritm pentru protejarea si autentificarea datelor, parolelor, fișierelor, documentelor memorate sau transmise prin rețele.

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 număr întreg e astfel încât c.m.m.d.c.(Φ(n),e)=1, 1<e<Φ(n).

5. Se calculează d astfel încât 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. Obține cheia publică (e,n) a lui A.

2. Transformă mesajul ce va fi criptat într-un număr întreg M în intervalul [0,n-1].

3. Calculează C = Me (mod n).

4. Trimite textul cifrat C la utilizatorul A

Algoritmul de decriptare:

• Pentru a determina textul clar M din textul cifrat C, utiliz. A calc: M = Cd (mod n).

• Numai utilizatorul A cunoaște cheia privată d.

Fig. 8. Etapele principale algoritm RSA

Un prim domeniu unde întâlnim algoritmi de criptare, și în special RSA, este cel al telecomunicațiilor: telefoane publice, cu cartele electronice, sau telefoanele mobile (protocoale de autentificare a persoanei apelate). De asemenea, în domeniul sănătății, prin intermediul cardurilor electronice care să conțină istoricul medical al unui individ. Securitatea națională: cărți de identitate, pașapoarte, legitimații magnetice. Și să nu uităm economia: cardurile bancare, comerțul electronic, sau informatica: confidențialitatea poștei electronice, a informațiilor de pe o pagină de web, pe scurt, dreptul la intimitate.

Unde vom întâlni nevoia de semnătură și identificare electronică, vom întâlni criptarea prin RSA.

3.2. PGP (Pretty Good Privacy)

Dezavantajul algoritmului RSA, și în general al algoritmilor cu chei publice, este că sunt destul de lenți, în sensul că pentru a cripta și a decripta un mesaj (în condițiile în care avem cheile publică și secretă) consumăm o cantitate mare de timp. Din acest motiv, de multe ori, se folosesc algoritmi combinați: cu chei secrete și chei publice. Un astfel de algoritm este implementat în PGP. PGP este un program care ofera intimitate criptografică și autentificare (procesul prin care un computer,un program pentru computer, sau un user, încearcă să confirme că acel computer, acel program pentru computer sau acel user din partea căruia o a doua parte primește "un comunicat" este, sau nu este, acea parte care se pretinde a fi, sau a nu fi). PGP a fost inițial dezvoltat de catre Phil Zimmermann în 1991.Numele i-a fost sugerat de către un magazin prezent într-un serial transmis la un program de radio. PGP a fost suficient de influent încât să fie făcut un standard IETF ,cunoscut ca OpenPGP. Versiunile mai recente ale PGP decat standardul sunt mai mult sau mai puțin compatibile cu standardul. Cand e folosit corespunzator, PGP e capabil de o foarte înaltă securitate. Observatori informați cred că inclusiv agențiile guvernamentale (precum NSA) sunt incapabile să pătrundă mesajele criptate corespunzator cu PGP. PGP e mai ușor de folosit decat multe criptosisteme, dar, la fel ca în cazul altor criptografii, implementarea și folosirea afecteaza enorm securitatea obținută în realitate.

Fig. 9. Servicii oferite de PGP

Erorile de implementare sunt întotdeauna posibile, și uzul neatent poate transforma texul protejat in text neprotejat. Orice sistem de criptare poate fi nesigur, indiferent de cât de bine este conceput. În general ,uzul corespunzător implică citirea și urmarea documentației user. In contrast cu protocoalele de securitate precum SSL care doar protejează datele în tranzit ,PGP poate fi folosit pentru protecția datelor stocate pe disc. Oricum, chiar și uzul corespunzător poate duce la rezultate nedorite, accentuandu-se astfel distanța între acest tip de program și protecția absolută, imposibil de găsit deocamdată. Programele de spyware sunt o amenințare la adresa acestei tip de protectie.

Nici un criptosistem , inclusiv PGP , nu poate proteja informații care sunt accesibile în alte moduri. Atacurile la care acest criptosistem este vulnerabil sunt de multe ori ignorate. Securitatea autentică a informației necesită securitatea operatorului precum și un design criptografic și o implementare criptografică de înaltă calitate, iar securitatea absolută a informației probabil nu poate fi atinsă. PGP poate cripta orice dată sau fișier, și e adesea folosit pentru e-mailuri care nu au nici un sistem de securizare built-in implementat. PGP și S/MIME sunt cele doua sisteme de protecție ale e-mailurilor care au curent statut de programe standard NIST. Plug-in-uri care implementează funcționalitate PGP sunt disponibile pentru multe aplicații e-mail(Outlook,Outlook Express, Eudora,Evolution,Mozilla Thunderbird,Apple Mail,etc). Cateva sunt incluse cu distribuții PGP. Din punct de vedere al securității fiecare plug-in este independent de PGP. Oricare poate avea erori de implementare, sau să interacționeze nesigur cu PGP sau alt software. Utilizând astfel de plug-in-uri nu oferă neaparat același nivel de securitate cu folosirea de sine stătătoare a PGP. Distincția între aceste cazuri este importantă inclusiv pentru cei mai pricepuți și informați din punct de vedere criptogrrafic. Cel mai bun sfat pentru utilizatorul obișnuit este să testeze întreg sistemul trimițandu-și mesaje unui partener, periodic. În special, după fiecare update sau schimbare de software. Cea mai sigură acțiune operațională este criptarea manuală, semnarea mesajelor și trimiterea lor prin e-mail, de asemenea, manual. În orice caz, la fel ca toate considerațiile de securitate, aceasta trebuie potrivită în funcție de cerințele celorlalte sisteme, constrângerile lor, și nevoile userului. Dar, oricare ar fi riscurile unui sistem de securitate, absența lui este întotdeauna mult mai riscantă. PGP folosește criptografia "public-key" dar și criptografia "symmetric key",și, pâna la un punct, folosește și Public Key Infrastructure(PKI)(cu unele similarități, și multe diferențe, cu certificatul standard X.509,care îl preceda). PGP folosește "assymmetric key encryption", modalitate în care recipientul mesajului a generat anterior operației o pereche înrudită de chei, cheia privată, și cheia publică.

Fig 10. Etapa de criptarea în algoritmul PGP

Cheia publică a recipientului e folosită de expeditor pentru criptarea unei chei impartășite de cei doi useri(cheie secretă, cheie convențională) pentru un algoritm de tip "symmetric cipher". Acea cheie e folosită apoi pentru criptarea textul brut al mesajului. Multe chei publice PGP sunt disponibile pentru toti prin intermediul "key serverelor" PGP din lume care se comportă ca site-uri mirror reciproc. Recipientul unui mesaj protejat PGP decriptează mesajul folosind "session key" pentru algoritmul simetric. Acea cheie a fost inclusă în mesajul trimis în formă criptată și a fost decriptat folosindu-se cheia privată a recipientului. Folosirea a doua codificări este rațională datorită diferenței vitezei de operare între codificările simetrice și cele asimetrice, cele simetrice fiind în general mult mai rapizi. Sunt și vulnerabilități în algoritmii "asymmetric key" folosiți de PGP când sunt folosiți ca să cripteze direct mesajele. O strategie similară este folosită pentru a detecta dacă un mesaj a fost modificat de când a fost terminat sau dacă a fost trimis de persoana care pretinde că este trimițatorul(dacă trimitătorul este persoana care pretinde că este). Că sa se determine acestea, trimițătorul folosește PGP ca să "semneze" mesajul, fie cu RSA sau DSA (algoritmi de signatură). Pentru a face asta, PGP computează un "hash" din textul brut și apoi crează semnătura digitală("digital signature") din acel "hash", folosind cheia privată a trimitătorului. Primitorul mesajului computează un "hash" din textul brut recuperat și apoi folosește cheia publică a trimițatorului și valorea "hash"-ului mesajului semnat cu algoritmul de signatură.

Dacă semnătura se potrivește "hash"-ul textului mesajului, se presupune (cu îndoieli minore) că mesajul primit nu a fost trimis cu rea intenție deliberat, sau accidental, din moment ce a fost semnat. Prezumția se bazează pe un numar de considerații. Este destul de improbabil cu algoritmii și protocoalele folosite în PGP că cineva rău intenționat poate crea o signatură pentru un mesaj arbitrar și astfel un mesaj primit care trece acest test trebuie să fi fost trimis de catre pretinsul trimitător. Oricum, oricine care are jumătatea privată a cheii de semnare poate să creeze cu ușurință o signatură corespunzatoare pentru orice.

Intr-o lume a e-mailurilor, virușilor, cailor troieni, și a altor forme de malware termenul non-respingere(validarea unui mesaj ca aparținând trimițătorului probabil) trebuie primit cu multă vigilență și prudență, pentru ca cheile private pot fi uneori corupte clandestin. Dar asta se verifică pentru orice criptosistem care foloseste algoritmi de tip "asymmetric key" pentru non-respingere și semnătura digitală. PGP nu e în nici un sens extrem de vulnerabil, dar Zimmerman a fost inteligent când l-a numit "pretty good".

Bibliografie:

Securitatea in mediul internet [prof. Cezar A., Ed. Tehnica 2008]

Introducere in criptografie [prof. univ. dr. Constantin Popescu, Universitatea Tehnica Oradea, 2009]

de securitatea alternative pentru aplicații în rețea [Universitatea Tehnica din Cluj Napoca, Mircea F. V,2009]

Retele de calculatoare – Introducere in securitate

[Corneliu Buraga, Universitatea A.I.Cuza Iasi,2007]

Bibliografie:

Securitatea in mediul internet [prof. Cezar A., Ed. Tehnica 2008]

Introducere in criptografie [prof. univ. dr. Constantin Popescu, Universitatea Tehnica Oradea, 2009]

de securitatea alternative pentru aplicații în rețea [Universitatea Tehnica din Cluj Napoca, Mircea F. V,2009]

Retele de calculatoare – Introducere in securitate

[Corneliu Buraga, Universitatea A.I.Cuza Iasi,2007]

Similar Posts

  • Studiul Unor Metode de Atenuare a Actiunii Seismice Asupra Constructiilor

    Studiul unor metode de atenuare a actiunii seismice asupra constructiilor CUPRINS Capitolul 1: Introducere Capitolul 2: Proiectarea seismică clasică și dispozitive speciale de atenuare a acțiunii seismice asupra construcțiilor 2.1 Proiectarea seismică rațională conform Normativului P100-1/2006 2.1.1. Generalități. Norme de proiectare seismică a clădirilor 2.1.2. Calculul forței seismice echivalente, conform normativului P100-1/2006 2.2 Dispozitive speciale…

  • Superceramica

    SuperCeramica este o societate infiintata in data de 14 Ianuarie 2013 de catre Emanuela Marcu, cu sediul in Iasi. Obiectivele acestei firme sunt : onorarea la timp a serviciilor, depistarea in timp util a noilor cerinte pe piata, cresterea prestigiului firmei. Brand-ul SuperCeramica a lansat in Iasi cel mai mare showroom de ceramica si amenajari…

  • Managementul Activitatiilor de Omologare a Produslui Bcmpq 35

    Managementul activitățiilor de omologare a produslui BCMPQ 35 CUPRINS 1. Descrierea organizației Hella 1.1 Prezentarea firmei 1.2 Istoricul evoluției companiei 1.3 Activitățiile de dezvoltare a conceptului Hella 1.4 Dezvoltarea afacerii 1.4.1 Principalii clienți ai companiei Hella 1.4.2 Principalii furnizori ai companiei Hella 1.4.3 Principalii concurenți ai companiei Hella 1.4.4 Produse realizate de compania Hella 2….

  • Reconditionarea Pieselor de Tip Arbore

    Introducere Pentru menținerea la nivelul actualității activităților industriale este obligatorie înoirea, extindere și diversificarea echipamentelor industriale, la care se adaugă tot mai insistent imperativul fiabilității și siguranței în funcționare – suma de probleme care angajează necesitatea elaborării de noi materiale tot mai rezistente la fenomenul uzurii și în cantități tot mai ridicate, ambele aspecte confruntate…

  • Retehnologizarea Microhidrocentralei Estimarea Efectelor Economice și Ecologice ale Retehnologizării

    CUPRINS CAPITOLUL I………………………………………………………………………………………………………….5 Prezentarea caracteristicilor Microhidrocentralei Olteț I …………………………………………..5 Condiții de amplasare și funcționare ale Microhidrocentralelor electrice ……………………..6 1.2 Microhidrocentralele din Bazinul Hidrografic Olt………………………………………………………7 1.3 Microhidrocentrala electrică Olteț 1……………………………………………………………………….13 1.3.1 Amplasament…………………………………………………………………………………………………….13 1.3.2 Caracteristici tehnice generale …………………………………………………………………………….13 1.3.3 Caracteristici tehnice structurale…………………………………………………………………………..13 1.3.4 Echipamente hidromecanice………………………………………………………………………………..14 1.3.5 Echipamente și instalații electrice…………………………………………………………………………15 CAPITOLUL II……………………………………………………………………………………………………….16 Studiu privind retehnologizarea Microhidrocentralei Olteț…

  • Cauciucul Butadien Stirenic (sbr)

    Cauciucul butadien-stirenic (SBR) Copolimerulcontine, in procente de masa, 75% butadienasi 25% stirensipoate fi obtinutprinprocedee continue de polimerizare in emulsie, prinmecanismradicalic, sau in solutie, prinmecanism anionic. Reactia de copolimerizare: nxC6H5-CH=CH2 + ny CH2=CH-CH=CH2 –> -[–[CH-CH2 -]x – [CH2-CH=CH-CH2]y–]n- C6H5 esteexotermaavandΔHo298 = -3,9 kcal/mol. Copolimerizarea in emulsie.Monomerii, initiatorul, agentii de transfer, sarurilesifulgii de sapunsuntdizolvati in apa. Reactiaincepedupadifuziamonomerilor…