Securitatea In Cloud Utilizand Un Sistem de Criptare Hibrid

CUPRINS

Introducere ………………………………………………………………………………………………………….

1. Criptografie ………………………………………………………………………………………………..

1.1. Etimologia cuvântului ……………………………………………………………………….

1.2. Noțiuni generale ……………………………………………………………………..

2. Istoricul criptografiei ……………………………………………………………………………..

2.1. Egiptul Antic ……………………………………………………………………..

2.2. Grecia Antică …………………………………………………………………….

2.3. Roma Antică ………………………………………………………………………

2.4. Cifrul Alberti-Vigenere …………………………………………………………

2.5. Cifrul roată al lui Jefferson …………………………………………………..

2.6. Criptografia în timpul Războaielor ………………………………………………….

3. Stadiul actual al criptografiei …………………………………………………………………

3.1. Sisteme de criptare cu cheie simetrică ………………………………………..

3.1.1. DES …………………………………………………………………………….

3.1.2. IDEA ……………………………………………………………………………

3.1.3. AES ……………………………………………………………………………..

3.1.4. RC4 …………………………………………………………………………….

3.1.5. KSA …………………………………………………………………………….

3.1.6. PRGA …………………………………………………………………………..

3.2. Sisteme de criptare cu cheie asimetrică………………………………………….

3.2.1. RSA …………………………………………………………………………………

3.2.2. El Gamal …………………………………………………………………………………

4. Instituții de standardizare ………………………………………………………………..

4.1. NIST …………………………………………………………………………………………………

4.2. ENISA ………………………………………………………………………………………………

5. Analiza comparativă a caracteristicilor sistemelor de criptare …………………………………

6. Securitatea in cloud utilizand un sistem de criptare hibrid ……………………………….

6.1. Componentele sistemului hibrid……………………………………………………………..

6.2. Fazele sistemului de criptare hibrid………………………………………………….

6.3. Arhitectura sistemului de securizat de cloud computing……………………..

6.4. Avantajele sistemului hibrid…………………………………………………………….

7. Bunele practici în criptografie …………………………………………………………………………

8. Tendințe actuale …………………………………………………………………………………………..

9. Concluzii ………………………………………………………………………………………………….

10. Bibliografie …………………………………………………………………………………………………

INTRODUCERE

Societatea contemporană cunoaște, în momentul de față, una din cele mai profunde transformări din întreaga ei existentă, și anume, transferarea activităților obișnuite în alt spațiu, așa numitul „spațiu virtual”, care înlătură frontierele, noțiunea de distanță și aduce flexibilitate, rapiditate și eficiență. Astăzi, putem vorbi de accesul la distanță a resurselor informaționale, de contracte încheiate între persoane care nu se cunosc față în față, sisteme electronice de plăți, sisteme de transfer de fonduri și de comerț electronic prin rețele etc. Toate aceste servicii și încă alte sute de acest fel au început să fie o realitate a celui mai mare și mai impresionant mediu de comunicații între oameni care a devenit internetul. Internetul este o structură complexă de rețele de calculatoare, la care se pot conecta un număr mare și, uneori, necontrolat de calculatoare.

Complexitatea arhitecturală și distribuția topologică a rețelelor conduc la o mărire necontrolată a mulțimii utilizatorilor cu acces nemijlocit la resursele rețelei – fișiere, baze de date, routere etc., de aceea, putem vorbi de o vulnerabilitate a rețelelor ce se manifestă pe variate planuri. Astfel, un aspect crucial al rețelelor de calculatoare, în special al comunicațiilor pe internet, îl constituie securitatea informațiilor. Apare, deci, necesitatea identificării utilizatorilor situați la mari distanțe și, de asemenea, nevoia de securitate și de autenticitate la toate nivelele arhitecturale ale rețelelor. La nivel înalt, utilizatorii vor să se asigure că poșta electronică, de exemplu, sosește chiar de la persoana care pretinde a fi expeditorul. Uneori, utilizatorii, mai ales când acționează în numele unor firme, doresc asigurarea caracterului confidențial al mesajelor transmise.

În tranzacțiile financiare, alături de autenticitate și confidențialitate, un loc de mare importanță îl are și integritatea mesajelor, ceea ce înseamna că mesajul recepționat nu a fost alterat în timpul tranziției prin rețea. În tranzacțiile de afaceri este foarte important ca odată recepționată o comandă, aceasta să fie nu numai autentică, având conținut nemodificat, dar să nu existe posibilitatea ca expeditorul să nu o mai recunoască, adică sa se respecte proprietatea de nerepudiere.

CRIPTOGRAFIE

Etimologia cuvântului

Definiția criptografiei pleacă de la etimologia cuvântului „cripto”, originar din grecescul kryptos (ascuns, obscur, secret), iar „grafie” de la graphia (scriere). O definiție concisă a termenului este dată de Yaman Akdeniz, în articolul său “Cryptography and Encryption”: “Criptografia, definită ca <știința care se ocupă cu studiul scrierii secrete>, tratează mijloacele prin care comunicațiile și datele pot fi codificate pentru a preveni descoperirea lor prin interceptare, folosind coduri, cifruri și alte metode, astfel încât numai anumite persoane să poată vizualiza mesajul inițial”.

Noțiuni generale

Criptografia reprezintă un set de standarde și protocoale pentru codificarea datelor și mesajelor, astfel încat acestea să poata fi stocate și transmise mai sigur. 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 modificării.

Criptografia ne ajută să avem comunicații mai sigure, chiar și atunci când mediul de transmitere (de exemplu, internetul) nu este de încredere. De asemenea, se poate utiliza pentru criptarea fișierelor sensibile, astfel că probabilitatea de a fi înțelese de intruși să fie mai mică.

Criptografia poate fi utilizată pentru a contribui la asigurarea integrității datelor, precum și la menținerea lor ca secrete. Criptografia ne ajută să verificăm originea datelor și a mesajelor prin utilizarea semnăturilor digitale și a certificatelor. Când utilizăm metode criptografice, cheile criptografice trebuie sa rămână secrete. Algoritmii, dimensiunea cheilor și formatele de fișiere pot fi făcute publice fără a compromite securitatea.

Unul din principalele motive ale vulnerabilității unui sistem informatic îl reprezintă faptul că majoritatea informațiilor pe care atacatorii le obțin de la un sistem sunt într-o formă pe care o pot citi și înțelege. Având în vedere milioanele de mesaje electronice care traversează internetul în fiecare zi, este ușor de înțeles cum un sniffer bine poziționat în rețea poate captura un volum mare de informații pe care utilizatori nu ar dori să le facă cunoscute unor persoane necunoscute. Acești „oaspeți nepoftiți” pot face publice aceste informații, ca să le modifice pentru a aduce o imagine defavorabilă unui individ sau unei organizații. O soluție la această problemă cu ajutorul criptografiei ar fi ca accesul persoanelor necunoscute la astfel de informații să fie restricționat.

Criptarea constituie procesul de transcriere a informației din forma sa originală, numită plaintext, într-o formă codată, încomprehensibilă, numită ciphertext. Decriptarea se referă la procesul invers de transformare a informației din ciphertext în plaintext. Orice tip de date pot fi cripatâte, inclusiv imagini digitale sau sunete.

Criptografia securizează informația, protejându-i confidențialitatea. Criptografia poate fi folosită, de asemenea, pentru a proteja integritatea și autenticitatea datelor. De exemplu, sumele de verificare sunt folosite pentru a verifica integritatea unui bloc de informație. O astfel de verificare, care este un număr calculat din conținutul unui fișier, poate fi folosit pentru a verifica dacă informația este corectă. Totuși, un hacker ar putea falsifica acest checksum după ce în prealabil a modificat blocul de informație. Dacă acest checksum nu este protejat, modificarea informațiilor nu ar putea fi sesizată.

Autenticitatea datelor poate fi protejata și în alt mod. De exemplu, pentru a transmite către un coleg un e-mail, expeditorul mai întâi criptează informația pentru a-și proteja confidențialitatea și apoi atașează o semnatură digitală criptată acestui mesaj. În momentul în care destinatarul primește informația, acesta verifică originea mesajului folosind o cheie pentru a verifica dacă este semnatura digitală a expeditorului și decriptează informația folosind cheia de decriptare corespunzătoare. Pentru a proteja informația de a nu fi modificate sau falsificate, semnatura digitală este formată prin cripatea unei combinații a unei sume de verificare a informației și a cheii private a autorului. Un efect secundar a acestei autentificări este conceptul de non-repudiere. O persoană care a semnat un document electronic cu semnatura digitală nu poate să pretindă ulterior că nu el a semnat documentul, întrucât, teoretic, doar acea persoană poate crea semnatura corectă.

Din cele expuse mai sus, se pot evidentia următoarele cerințe față de criptografia modernă, ceea ce reprezintă, de fapt, scopul de bază al criptografiei:

Confidențialitate – asigurarea că nimeni nu poate citi mesajul, cu excepția destinatarului;

Integritatea datelor – realizează protejarea datelor la alterare sau manipularea de către persoane neautorizate. Prin manipularea datelor înțelegem procese cum ar fi inserții, întârzieri sau substituiri;

Autentificarea – presupune posibilitatea de identificare a sursei informației și a entității (o persoană, un termînal de computer, o carte de credit);

Non-repudierea – care previne negarea unor angajamente sau acțiuni anterioare.

Așadar, criptografia trebuie să acopere în mod corespunzător aceste patru direcții, atât în teorie, cât și în practică. Ea trebuie să prevină și să detecteze furtul și alte acțiuni ilegale, fiind doar una din tehnicile de asigurare a securității informației.

ISTORICUL CRIPTOGRAFIEI

Nevoia de criptografie, chiar dacă nu cunoscută sub acest nume, a apărut odată cu apariția scrisului. S-au descoperit exemple în inscripturi în roci, pietre cuneiforme, papiruși etc., ceea ce dovedește faptul că egiptenii, asirienii, babilonienii sau evreii antici au dezvoltat diferite sisteme criptografice pentru a reuși să își țină ascunse informațiile pe care le dețineau.

Egiptul Antic

Prima documentare a utilizării criptografiei în Egipt datează din anii 1900 î. Hr. când s-au folosit alte hieroglife (text cifrat) pentru transmiterea unui mesaj față de cele normale.

Pe masură ce cultura egipteană s-a dezvoltat, substituțiile hieroglifice au devenit comune. Această metodă de criptare a fost relativ ușor de spart de către cei care știau să scrie și să citească. Un motiv pentru care egiptenii au ales sa folosească criptografia poate fi că scriburile au dorit să își lase amprenta lor asupra scrisului. Acest proces pare destul de similar cu literatura formală complicată folosită în orice document legal modern. Criptografia egipteană își poate găsi, de asemenea, explicația în faptul că anumite scriburi să le impresioneze pe altele cu modul lor de a scrie la un alt nivel.

Negustorii asirienii, în anii 1500 î. Hr., introduceau bucăți de piatră atunci când livrau mesaje (semnatura digitală din ziua de azi), cumpărătorii știind ce semnatură aparține unui anumit negustor, doar el putând să o reproducă.

Grecia Antică

În jurul anilor 500 î. Hr, spartanii au dezvoltat un sistem, numit „mesaje secrete”. Sistemul era un cilindru pe care erau inscripționate litere pe lungimea pergamentului. Odată ce mesajul era deșirat de pe banda pergamentului nu mai putea fi citit. Pentru a citi mesajul era nevoie de un cilindru identic. Scytale este un exemplu de cifru de transpoziție, care poate fi reprezentat de orice cifru care schimba ordinea caracterelor (ceea ce era mai îndicat decât schimbarea caracterelor care putea fi mai usor de descifrat). Totuși, cu 2500 de ani în urmă, procentajul oamenilor care puteau să citească și să scrie era mic. Scytale le-a oferit spartanilor metoda sigură de comunicare.

Fig. 1. Exemplu de Scytale

Roma Antică

Cea mai veche înregistrare militară a utilizării criptografiei datează de când Julius Caesar, acum 2000 de ani, fiind comandantul suprem al armatei romane, a rezolvat problema comunicării securizate. Problema era că mesagerii care transmiteau secretele militare au dezvoltat un cifru de substituție cu ajutorul căruia înlocuia litere cu alte litere. Doar cei care știau substituția puteau descrifra mesajele. Acest lucru a oferit armatei romane un important avantaj în timpul războiului.

Fig. 2. Exemplu de substituție a unui cifru

Spre deosebire de cifrul din figura 3, Caesar, de obicei, shifta literele cu un număr predeterminat. Acest număr reprezenta cheia algoritmului sau.

Cifrul Alberti-Vigenere

La jumătatea anilor 1400, un om pe nume Leon Battista Alberti a inventat un sistem de criptare utilizând un disc-cifru. Era un dispozitiv prevăzut cu discuri glisante ce permitea multe metode de substituție. Acesta este conceptul de baza al cifrului poli-alfabetic, care este, de fapt, o moteodă de criptare care iterează cifruri de substituție, ajungându-se la un text cifrat. În cartea sa, David Kahn l-a numit pe Alberti „tatal criptografiei occidentale”.

.

Fig. 3. Disc-cifru

În 1500, Blaise de Vigenere, urmărind stilul cifrului poli-alfabetic, a creat un cifru care a ajuns cunoscut sub numele de Cifrul Vigenere. Acesta funcționa exact ca al lui Caesar, cu excepția că schimba cheia de-a lungul procesului de criptare. Cifrul Vigenere folosea un tabel de litere ca metodă de substituție (Pătratul lui Vigenere/Tabelul lui Vigenere). Acesta era format din 26 litere decalate între ele printr-o literă.

Fig. 4. Pătratul lui Vigenere

Metoda schimbării cheilor urma un sablon simplu. Cheia de criptare era aleasă ca fiind un cuvânt secret. Primul caracter al textului putea fi înlocuit utilizând tabelul după cum urmează: litera de substituție pentru primul caracter al textului de criptat se va găsi aliniind caracterul textului de cifrat pe axa X cu prima literă a cuvântului secret pe axa Y. Litera corespunzătoare va fi atunci înlocuită cu cea găsită. Această metodă este repetată până când toate literele textului de cifrat sunt epuizate.

Pentru a înțelege mai bine, voi oferi un mic exemplu: text de cifrat: ATTACKATDAWN

Persoana care alege să transmită acest mesaj folosește ca și cuvânt-cheie LEMON. Acesta va fi repetat până când lungimile celor două texte vor corespunde. Deci, pentru cuvântul-cheie LEMON vom avea: LEMONLEMONLE.

Acum, pentru a cripta mesajul, prima literă a textului în clar va fi înlocuită urmărind linia literei L și coloana A, rezultându-ne L. Analog, pentru litera T vom căuta în linia E și coloana T, adică X. Folosind acest algoritm, textul cifrat va fi: LXFOPVEFRNHR. Algoritmul de decriptare este exact la fel, numai că acum persoana va căuta litera de substituție în coloana cărei litere din textul cifrat se află litera cuvântului-cheie.

Cifrul-roată al lui Jefferson

Spre sfârșitul anilor 1700, Thomas Jefferson a construit un sistem de criptare foarte similar cu cel al lui Vigenere, dar crescând securitatea. Invenția sa avea 26 de roți cu litere împrăștiate random pe fiecare roată. Roțile erau numerotate și ordonate. Această ordine reprezintă cheia algoritmului de criptare.

Fig. 5. Cifrul-roată al lui Jefferson

Ca mesajul să fie criptat, se aliniază roțile astfel încât mesajul să fie prezent. Textul cifrat este reprezentat de orice altă linie de lângă linia conțînând mesajul original. Persoana care dorește să decripteze mesajul trebuie să aiba roțile în ordinea corectă. Cum mesajul a fost criptat cu ajutorul roților, textul în clar este aranjat altundeva pe aceste roti. O scanare vizuală poate determina rapid textul original.

La începutul anilor 1900, Armata Statelor Unite ale Americii a reinventat Roata lui Jefferson fără să știe de existența ei anterioară. Armata a folosit acest sistem între 1923 și 1942.

Criptografia în timpul celor Două Războaie Mondiale

Enigma – mașina de criptat nazistă

La sfârșitul Primului Război Mondial, Arthur Scherbius a inventat Enigma, o mașină electro-mecanică folosită pentru criptarea și decriptarea mesajelor secrete. Enigma avea câteva unelte care permiteau până la 10114 posibile configurații. Prima versiune comercială a devenit disponibilă în anii ‘20.

Fig. 6. Enigma – mașină de criptat

Până în Al doilea Război Mondial, Enigma nu a devenit faimoasă. Datorita statisticii securității Enigmei, Germania nazistă a devenit prea încrezătoare în abilitatea ei de a cripta mesaje secrete. Din cauza acestei încrederi nejustificate, Enigma a decăzut. Împreună cu numeroase erori operaționale ale Germaniei, Enigma a fost construită și ea cu câteva slăbiciuni pe care criptografii Aliaților au reușit să le exploateze. Cea mai mare slăbiciune a algoritmului de criptare era reprezentată de faptul că algoritmul de substituție nu permitea unei litere să fie mapată cu ea însăși. Acest lucru a permis criptografilor Alianței să întercepteze numeroase mesaje ale naziștilor.

Purple – mașina de criptat japoneză

În timp ce preocuparea principală a Aliaților era să spargă Enigma naziștilor, japonezii au dezvoltat o mașină de criptare denumita „Purple”. În contrast cu rotoarele Enigmei, Purple a fost făcută să funcționeze utilizând întrerupătoare pas cu pas precum la rutarea semnalelor telefonice. În timpul Războiului, japonezii au fost cei mai eficienți în distrugerea mașiniilor de criptare. Până în momentul de față nu a fost descoperită nicio mașină de criptare japoneză.

Fig. 7. Purple – mașina japoneză de criptare

Deoarece japonezii erau așa de eficienți în păstrarea metodelor de criptare secrete, criptografii din Statele Unite ale Americii au avut vremuri grele încercand sa le decripteze mesajele. William Friedman, un criptograf renumit, și echipa sa au construit o replică a lui Purple bazată pe mesajele criptate descoperite. Din cauza că ei nu au văzut niciodată o mașina Purple și nu știau cum funcționează, s-a demonstrat a fi foarte complicat de replicat. În cele din urmă, echipa a reușit să descopere metodele de criptare folosite de Purple și au fost capabili să construiască o versiune diferită a mașinii de decriptare. Acest avantaj le-a permis Statelor Unite să acceseze secretele diplomatice ale Japoniei din cel de-Al Doilea Razboi Mondial.

STADIUL ACTUAL AL CRIPTOGRAFIEI

Odată cu sfârșitul celui de-al Doilea Război Mondial, misiunea criptografiei s-a mutat de la mașini fizice la calculatoare. Procesul rapid de creștere a popularității calculatoarelor în sectorul privat a crescut nevoia criptarii pentru sectorul aplicațiilor, cum ar fi tranzacțiile comerciale între anumite companii sau servicii militare secrete.

Criptarea în Era Modernă se realizează folosind un algoritm care folosește o cheie pentru criptarea și decriptarea informației. Aceste chei convertesc mesajele clare în texte de neînțeles după procesul de criptare. În general, cu cât cheia este reprezentată pe mai mulți octeți, cu atât mai dificil poate fi spart mesajul. Acest fapt este susținut de faptul că pentru a decifra textul criptat este nevoie ca atacatorul să folosească metoda brute force pentru a încerca orice posibilitate a cheii. Pentru a realiza acest procedeu, fiecare bit poate avea valoarea 0 sau 1. O cheie pe 8 biți va avea, deci, 28 posibile chei. Analog, o cheie reprezentată pe 56 de biți va avea nevoie de 256 posibilități. Cu tehnologia modernă însă, aceste numere nu par de speriat și devin tot mai ușor de spart; cu toate acestea, tehnologia a avansat tot mai mult și, odată cu ea, și calitatea criptării. După al Doilea Război Mondial, una dintre cele mai notabile progrese în studiul criptografiei este reprezentat de introducerea cheilor publice (algoritmi ce folosesc o cheie publică pentru criptare și una privată pentru decriptare).

Așa cum am identificat anterior, există doua 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).

Pentru a crea un sistem criptografic care va rezolva problemele securității informaționale sigur și eficient este nevoie de folosit primitivele criptografice în grup după cerințe.

Un sistem criptografic (criptosistem) este compus din:

un text clar (M);

un text cifrat (C);

2 funcții inverse E() și D();

un algoritm care produce cheile Ke și Kd, astfel încat: M = DKd(C) și C= EKe(M).

Grafic, funcționarea unui sistem criptografic se poate reprezenta astfel:

Fig. 8. Funcționarea unui sistem criptografic

Sisteme criptografice cu cheie simetrică

Criptarea cu cheie simetrică, de asemenea, știută ca și criptarea convențională sau criptarea cu o singură cheie, a fost singurul tip de criptare folosit anterior dezvoltării criptării cu cheie publică în 1976.

La baza acestui tip de criptare stau 5 instrumente esențiale:

Textul principal: mesajul original și inteligibil care va fi folosit ca input pentru algoritm;

Algoritmul de criptare: realizează numeroase înlocuiri și permutări ale textului principal;

Cheia secretă: este, de asemenea, un input pentru algoritmul de criptare. Înlocuirile și permutările din textul principal se fac pe baza acestei chei;

Textul criptat: mesajul produs ca output în urma aplicării algoritmului de criptare asupra textului primit ca input. Acesta este aparent random și este neinteligibil.

Algoritmul de decriptare: în mare, este algoritmul de criptare rulat invers. Primește ca input textul criptat și cheia secretă și produce textul original.

Există două cerințe pentru un sistem de criptare cu cheie simetrică:

Se pleacă de la presupunerea că aproape întotdeauna o criptogramă va fi spartă, cândva. Sistemul trebuie să asigure protecție un anumit timp, plecând de la ipoteza că algoritmul este public.

Atât transmițătorul, cât și receptorul trebuie să aibă copii ale cheilor secrete pe care să nu le facă publice sub nicio formă. Dacă cîneva descoperă cheia și cunoaste și algoritmul, toată comunicarea folosind acea cheie este citibilă și poate fi descifrată.

Fig. 9. Modelul simplificat al sistemelor cu cheie simetrică

Algoritmii criptografici simetrici se caracterizează printr-o viteză de cifrare foarte mare, spre deosebire de algoritmii criptografici asimetrici și sunt comozi la cifrarea blocurilor mari de informație. Securitatea acestui tip de algoritm depinde, în mare masură, de lungimea cheii și posibilitatea de a o păstra în secret. Problema principală ce apare la încercarea de a crea comunicații secrete între numeroși utilizatori este managementul cheilor; pentru n utilizatori sunt posibile n(n-1)/2 legături bidirecționale, fiind necesare tot atâtea chei. Aceasta implică, în general, probleme dificile în generarea, distribuția și memorarea cheilor. Utilizarea calculatoarelor electronice a permis folosirea unor chei de dimensiuni mai mari, sporindu-se, astfel, 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.

Securitatea criptării simetrice depinde mult de protecția cheii criptografice. Ca urmare, administrarea acestora este un factor esențial și se refera la:

generarea cheilor – mijloacele (pseudo)aleatoare de creare a succesiunii de octeți (biți) ai cheii;

distributia cheilor – modul în care se transmit și se fac cunoscute cheile tuturor utilizatorilor cu drept de acces la informațiile criptate;

memorarea cheilor – stocarea lor sigură pe un suport magnetic sau pe un card, de obicei, criptate sub o altă cheie de cifrare a cheilor, numită și „cheie master” (asigură accesul peste cheile de lucru uzual și presupune existența unui supervisor; în practică, acest lucru este interzis).

Problema fundamentală a utilizării criptografiei în rețele este aceea a găsirii unor modalitati de distribuție sigură și periodică a cheilor criptografice, fiind necesar ca acestea să fie schimbate cât mai des. În internet, pentru aceasta se utilizează tot serviciile rețelei, folosind protocoale speciale sau sisteme cu chei publice, așa-numitele anvelope (plicuri) digitale.

Cei mai cunoscuți algoritmi de criptare cu cheie simetrică sunt prezentați mai jos, alături de o scurtă descriere a acestora.

DES (Data Encryption Standard)

Data Encryption Standard (DES) este un algoritm care primește ca input un string de lungime fixă reprezentat pe biți și îl transformă în urma unor operații complexe într-un string cifrat de aceeași lungime. În cazul DES, lungimea blocului este de 64 biți. De asemenea, DES folosește o cheie pentru a customiza transformarea, presupunând că decriptarea poate fi făcuta doar de acei care dețin cheia particulară folosită pentru criptare. Această cheie este formata din 64 de biți, dar doar 56 dintre aceștia sunt, de fapt, folosiți de algoritm. Ceilalți 8 biți sunt folosiți ca biți de paritate și nu mai sunt necesari ulterior. Deci cheia are efectiv doar 58 de biți (și așa este referită în diferite documente). Cheia este stocată sau transmisă utilizând 8 biți (octeți), fiecare octet având un bit de paritate, bit folosit în detectarea erorilor în generarea de chei, distribuție sau stocare. Bitul de paritate se regăsește pe pozițiile 8, 16, … 64.

Fig. 10. Structura generală Feistel din DES

Structura generală a algoritmului este arătată în figura de mai sus: 16 stagii identice de procesare, numite runde. Mai sunt, de asemenea, o permutare inițială și una finală, numite IP și FP, care sunt inverse (IP reface actiunea lui FP și viceversa). IP și FP nu au semnificatie criptografică, dar sunt incluse pentru a facilita încărcarea blocurilor înăuntru și afara hardware-ului mid-1970s 8-bit based.

Înaintea rundelor principale, blocul este divizat în 2 părți de 32 de biți procesate alternative; aceasta fiind cunoscută sub numele de „Schema Feistel”. Structura Feistel asigură faptul că decriptarea și criptarea sunt procese foarte similare – singura difirență fiind că subcheile sunt aplicate în ordinea inversa în cazul decriptării. Restul algoritmului este identic.

Funcția F decriptează jumătatea blocului împreună cu o subcheie. Output-ul funcției F este apoi combinat cu cealaltă jumătate a bocului și jumătățile sunt interschimbate înaintea următoarei runde. După runda finală, jumătățile sunt interschimbate iar, aceasta fiind o trăsătură a structurii Feistel care face ca criptarea și decriptarea să fie procese similare.

Funcția F, care apare în figura de mai jos, operează pe o jumătate de bloc (32 biți) la un moment dat și este formată din patru pași:

Fig. 11. Funcția Feistel din cadrul algoritmului

Expansiune — jumătatea de bloc de 32 de biți este extinsă la 48 de biți folosind funcția de expansiune, notată E în diagramă, prin duplicarea unor biți.

Amestecare — rezultatul este combinat cu o subcheie folosind operația XOR. Șaisprezece subchei de 48 de biți — una pentru fiecare rundă — sunt derivate din cheia principală folosind diversificarea cheilor.

Substituție — după amestecarea cu subcheia, blocul este divizat în opt bucăți de 6 biți fiecare înainte de procesarea folosind cutiilor S sau cutii de substituție. Fiecare din cele opt cutii S înlocuiește cei șase biți de intrare cu patru biți conform unei transformări neliniare, oferită sub forma unui tabel de căutare. Cutiile S reprezintă securitatea lui DES — fără ele, cifrul ar fi liniar și ușor de spart.

Permutare — în final, cele 32 de ieșiri din matricile S sunt rearanjate conform permutării fixe P.

Alternarea substituțiilor din matricile S și permutarea biților folosind matricea P și expansiunea E oferă ceea ce se numește „confuzie și difuzie”, un concept identificat de către Claude Shannon în anii ‘40 ca fiind necesar unui cifru sigur și practic în același timp.

Fig. 12. Diversificarea cheilor în DES

Figura de mai sus ilustrează diversificarea cheilor pentru criptare — algoritmul care generează subcheile. Inițial, 56 de biți din cheia principală sunt selectați din cei 64 prin permutarea PC-1 — ceilalți 8 biți sunt ignorați sau folosiți ca biți de paritate. Cei 56 de biți sunt apoi împărțiți în două blocuri de 28 de biți; fiecare jumătate este tratâtă ulterior separat. În runde succesive, ambele jumătăți sunt rotate la stânga cu unul sau doi biți (specificați pentru fiecare rundă), și apoi sunt selectați cei 48 de biți ai subcheii prin permutarea PC-2 — 24 de biți din jumătatea stângă, și 24 din cea dreaptă. Rotațiile (notate cu "<<<" în diagramă) înseamnă că un set de biți diferit este folosit în fiecare subcheie; fiecare bit este folosit în circa 14 din cele 16 chei.

Diversificarea cheilor pentru decriptare este similară — trebuie să se genereze subcheile în ordine inversă. Așadar, rotațiile sunt la dreapta, și nu la stânga.

IDEA (International Data Encryption Algorithm)

International Data Encryption Algorithm este un algoritm de criptare cu cheie simetrică ce folosește aceeași cheie, atât pentru criptare, cât și pentru decriptare. Se folosesc blocuri de 64 biți și o cheie de 128 de biți. Pentru o criptare completă în acest algoritm sunt necesare 8 runde de criptari, iar decriptarea urmează aceeași pași. IDEA folosește un set de 52 de subchei, fiecare fiind reprezentată de 16 biți. În fiecare rundă se folosesc câte două subchei, înaintea începerii rundei se folosesc 4, iar după ultima rundă alte 4. Textul original pe care vrem sa-l transformăm în text cifrat este împărțit în 4 părți de câte 16 biți. Pentru criptare se folosesc operații de xor, înmulțire și adunare.

Fig. 13. Diversificarea cheilor în IDEA

Structura generală a IDEA urmează schema Lai-Massey. XOR este folosit atât pentru scădere, cât și pentru adunare. IDEA folosește o cheie dependent a funcției „jumătate de rundă”. Pentru a manevra cuvinte de 16 biți (însemnând 4 inputuri în loc de 2 de 64), IDEA folosește schema Lai-Massey de două ori în paralel, cu câte 2 runde paralele îmbinate fiecare. Pentru a asigura suficiența difuzie, 2 subblocuri sunt interschimbate după fiecare runda.

Fiecare rundă folosește 6 subchei de 16 biți, în timp ce jumătațile de runde folosesc 4, deci un total de 52 pentru 8,5 runde. Primele 8 subchei sunt extrase direct din cheie, unde K1 din prima rundă reprezentând cei mai nesemnificativi 16 biți; mai departe grupurile de 8 chei sunt create permutând cei 25 de biți rămași din principala cheie. Acest lucru înseamnă că permutarea se face mai puțin de o dată pe rundă, în medie, dintr-un total de 6 permutari.

Decriptarea se realizează ca și criptarea, dar ordinea rundelor cheii este inversată și fiecare valoare a subcheilor K1 – K4 este înlocuită de inversa respectivului grup de operații.

AES (Advanced Encryption Standard)

Advanced Encryption Standard este un algoritm de criptare pe blocuri. Standardul AES permite dimensiuni pentru lungimea cheii (128 biți, 192 biți, 256 biți), însă restricționează dimensiunea blocului la 128 de biți. Astfel, AES primește ca input și generează ca output un bloc de 128 de biți. Operațiile AES sunt definite sub forma de operații pe matrice, atât cheia, cât și blocurile de date sunt reprezentate sub forma matriceală. La începutul aplicării cifrului, blocul este copiat într-un tablou denumit „stare”, primii patru octeți pe prima coloană, următorii patru pe a doua coloană și tot așa pana la completarea tabloului. Algoritmul modifică la fiecare pas acest tablou de numere (starea) și il furnizează apoi ca ieșire.

Cei doi autori ai algoritmului Rijndael au definit un algoritm de criptare pe blocuri în care lungimea blocului și a cheii puteau fi independente, de 128 de biți, 192 de biți sau 256 de biți. Specificația AES standardizează toate cele trei dimensiuni posibile pentru lungimea cheii, dar restricționează lungimea blocului la 128 de biți. Astfel, intrarea și ieșirea algoritmilor de criptare și decriptare este un bloc de 128 de biți. În publicația FIPS, numărul 197, operațiile AES sunt definite sub formă de operații pe matrice, unde atât cheia, cât și blocul sunt scrise sub formă de matrice. La începutul rulării cifrului, blocul este copiat într-un tablou denumit „stare”, primii patru octeți pe prima coloană, apoi următorii patru pe a doua coloană și tot așa până la completarea tabloului.

Algoritmul modifică la fiecare pas acest tablou de numere denumit „state” și îl furnizează apoi ca ieșire. Funcționarea sa este descrisă de următorul pseudocod:

Fig. 14. Algoritmul AES

Aici, Nb este numărul de coloane al stării, în varianta standardizată acesta fiind întotdeauna 4. Se observă din descrierea algoritmului că o anumită secvență este realizată iterativ, de un număr de Nr ori. Acest Nr depinde de lungimea cheii și este 10, 12 sau 14, pentru chei pe 128, 192, respectiv 256 biți.

RC4

Algorimtul RC4 generează un șir de biți pseudorandom. Ca și alți algoritmi, și acesta folosește un cifru pentru criptare care, combinat cu textul în forma originală folosind operatia xor, se obține un text cifrat. Decriptarea se face la fel. Pentru a genera cifrul, vom lua în considerare dou părți:

permutarea tuturor celor 256 de octeți;

28 biți index-pointeri.

Permutarea este inițializată cu o cheie de lungime variabilă, de obicei, cuprinsă între 40 și 256 biți, folosind algoritmul key-scheduling (KSA). Odată realizat acest pas, streamul de biți va fi generat folosind algoritmul pseudo-random generation (PRGA).

KSA (Key Scheduling Algorithm)

Algoritul KSA este folosit pentru a inițializa permutarea în vectorul „S”. „Keylength” este definit ca numărul de octeți din cheie și ia valori între 1 și 256, de obicei, între 5 și 16 corespunzătoare unei lungimi a cheii de 40-128 de biți. Mai întâi, vectorul „S” este inițializat cu permutarea identitate. „S” este apoi procesat pentru 256 de iterații la fel ca și în PRGA, dar, de asemenea, amestecă octeții cheii în același timp.

Fig. 15. Algoritmul KSA

PRGA (Pseudo-Random Generation Algorithm)

PRGA modifică statusul și outputul unui octet al streamului cheii pentru oricâte iterații se vor efectua. În fiecare iterație, PRGA incrementează I, caută al i-lea element din S, S[i] și adună la j, interschimbă valorile S[i] și S[j] și apoi folosește suma S[i] + S[j] (modulo 256) ca un index pentru a completa al treilea element al lui S, care este XOR-at cu următorul octet al mesajului pentru a produce următorul octet al textului cifrat sau textului principal. Fiecare element din S este interschimbat cu alt element cel puțin o dată la fiecare 256 de iterații.

Fig. 16. Algortimul PRGA

Sisteme de criptare cu cheie asimetrică

Sunt două probleme la sistemele cu cheie simetrică:

Problema interschimbării cheii – vine de la faptul că părțile comunicante (Alice și Bob) trebuie cumva să împărtășească o cheie secretă înainte ca orice comunicare secretă să poată fi inițiată și amândoi să se asigure că cheia o să ramană secretă.

Problema încrederii între cele două părți care împărtășesc o cheie simetrică secretă – și anume, se pune la îndoială încrederea față de partenerul comunicării atunci când criptarea se folosește la autentificare sau la verificarea integrității.

Diffie și Hellman de la Universitatea Stanford au venit în anul 1976 cu o idee care să adreseze ambele probleme amintite mai sus și care a fost total diferită față de abordările anterioare din criptografie. Înainte de a descrie cum au inovat acești oameni criptografia, se vor sublinia cele 5 elemente principale ale unui sistem criptografic cu chei publice:

textul principal – mesajul citibil, în forma originală;

algoritmul de criptare – se aplică textului principal pentru a obține un text cifrat;

cheia publică și cheia privată – o pereche de chei ce au fost selectate pentru criptare și decriptare. Transformarea textului este realizată folosind algoritmul și cheia publică sau privată primite ca input;

textul criptat – mesajul random produs ca output;

algoritmul de decriptare – primeste un textul criptat ca input și cheia corespunzătoare și produce textul original.

Să presupunem că se dorește o transmitere de mesaje între două persoane, ilustrând exemplul clasic dintre Alice și Bob. Pașii esențiali pe care trebuie să îi urmeze Alice și Bob într-un sistem criptografic cu cheie publică sunt următorii:

Alice generează o pereche de chei care să fie folosite pentru criptarea și decriptarea mesajelor. Va trebui să presupunem ca Bob va face asta, de asemenea.

Alice va plasa cheia sa publică într-un registru public dintr-un centru de distribuție sau dintr-o pagina personală web etc. Cheia cealaltă va fi păstrată în secret. Bob va urma punctul 2, de asemenea.

Dacă Alice vrea sa îi transmită un mesaj confidențial lui Bob, Alice va cripta mesajul utilizând algoritmul de criptare și folosind cheia publică a lui Bob.

Când Bob va primi mesajul, el îl va decripta folosind cheia ei privată (la care el singur are acces).

Folosind această abordare, toți participanții la conversație vor avea acces la cheile publice, iar cheile private vor fi generate local de fiecare participant și, prin urmare, nu vor trebui niciodată să le împărtășească. Atâta timp cât un sistem controlează cheile private, comunicarea va fi sigură. La orice moment, un sistem poate schimba cheia privată și poate publică cheia companion publică pentru a o înlocui pe cea veche. Fiecare participant va comunica cu oricare altul folosind 4 chei (2 private/2 publice). Mai mult, fiecare participant va folosi același set de chei publice/private în timpul comunicării cu alți n participanți, deci nu vom mai avea nevoie de n( n-1 )/2 chei pe care să le interschimbe.

Fig. 17. Sistem de criptare cu cheie publică

Din cele amintite până în acest moment, se pot evidenția două direcții de utilizare a sistemelor de criptare cu cheie publică:

confidențialitate – se face publică cheia publică și, astfel, cel care va dori să transmită mesaje le va cripta cu această cheie, știind că doar proprietarul cheii private îl va putea decripta;

autentificarea emițătorului și a datelor – pentru autentificare este nevoie ca receptorul să îi transmită o informație criptată cu cheia publică a transmițătorului pe care acesta să o decripteze și să o transmită înapoi criptată cu cheia receptorului. Pentru criptarea datelor transmițătorul criptează mesajul cu cheia sa secretă, iar cel care va dori să autentifice datele va folosi la decriptare cheia pereche (cea facută publică).

Chiar dacă sistemul de criptare cu cheie simetrică este destul de puternic, lungimea cheii va trebui să fie de minimum 2304 biți pentru a oferi un nivel de securitate comparabil cu cel oferit de o cheie de 128 de biți în cazul sistemelor cu cheie simetrică. Aceste sisteme asimetrice sunt mult mai lente la criptarea sau decriptarea mesajelor și nu sunt recomandate în cazul volumelor mari de informații. Astfel, sistemele de criptare cu cheie publică se folosesc în următoarele scopuri de bază:

la distribuția cheilor – care se folosesc la algoritmii simetrici de criptare;

la semnatura digitală – un atribut al unui utilizator, folosită pentru recunoașterea acestuia.

Cele mai întrebuințate sisteme de criptare cu cheie publică (asimetrică), alături de o scurtă prezentare, sunt enumerate mai jos.

RSA (Rivest – Shamir – Adleman)

RSA este un algoritm de criptare pe blocuri. Aceasta înseamna că atât textul clar, cât și cel cifrat sunt numere între 0 și n-1, cu un n ales. Un mesaj de dimensiune mai mare decât log n este împărțit în segmente de lungime corespunzătoare, numite blocuri, care sunt cifrate rând pe rând. De asemenea, ca algoritm criptografic cu chei publice, funcționează pe baza unei perechi de chei legate matematic între ele: o cheie publică, cunoscută de toata lumea și una secretă, necunoscută decat de deținătorul acesteia.

Perechea de chei se generează după următorii pași:

Se generează două numere prime, de preferat mari, p și q;

Se calculeaza si ;

Se calculeaza φ(n) = φ(p)φ(q) = (p − 1)(q − 1) = n – (p + q -1), unde φ “funcția fi (Euler’s totient function);

Se alege un întreg aleator e, 1 < e < φ(n) astfel încât cmmdc(e,φ(n)) = 1 unde e și φ(n) sunt coprime. Perechea (n,e) constituie cheia publică.

Folosind algoritmul lui Euclid extins, se calculează întregul d, unicul cu proprietatea ca d⋅e ≡ 1 (mod φ(n)). (n, d) constituie cheia secretă.

Presupunând că mesajul clar este sub forma unui număr m, mai mic decât n, atunci mesajul cifrat, notat cu c este: c = me (mod n) ,unde e – cheia publică a destinatarului.

Pentru a decripta mesajul, destinatarul își folosește cheia sa secretă d, care are proprietatea foarte importantă că: de = 1 mod φ

Astfel, mesajul clar este recuperat calculând: m = cd (mod n)

Oricine poate cripta mesaje cu cheia publică a destinatarului, dar numai acesta din urmă poate decripta, deoarece trebuie să folosească cheia sa secretă. Algoritmul poate fi folosit și pentru semnătura electronică, folosind cheile invers. Dacă o entitate criptează un mesaj (sau mai degrabă un hash al acestuia) cu cheia sa secretă și atașează rezultatul mesajului său, atunci oricine poate verifica, decriptând cu cheia publică a semnatarului și comparând rezultatul cu mesajul clar (sau cu hash-ul acestuia), că într-adevăr acea entitate este autorul mesajului.

În general, deoarece se bazează pe o operație destul de costisitoare din punct de vedere al timpului de calcul și al resurselor folosite și, anume, exponențierea modulo n, viteza RSA este mult mai mică decât a algoritmilor de criptare cu cheie secretă. Bruce Schneier estima, pe baza unor calcule efectuate în anii 1990, că o implementare hardware de RSA este de 1000 de ori mai lentă decât o implementare DES, iar în software, RSA este de 100 de ori mai lent.

Există anumite modificări care pot aduce performanțe sporite, precum alegerea unui exponent de criptare mic, care, astfel, reduce calculele necesare criptării, rezolvând în același timp și unele probleme de securitate. De asemenea, operațiile cu cheia secretă pot fi accelerate pe baza teoremei chinezești a resturilor, dacă se stochează p, q și unele rezultate intermediare, folosite des. Cu toate acestea, îmbunătățirile nu sunt mari, iar ordinul de mărime al diferențelor de performanță față de implementările algoritmilor cu cheie secretă rămâne același. De aceea, în sistemele de comunicație în timp real, în care viteza de criptare și decriptare este esențială (cum ar fi, de exemplu, aplicațiile de streaming video sau audio securizate), RSA se folosește doar la începutul comunicației, pentru a transmite cheia secretă de comunicație, care, ulterior, este folosită într-un algoritm cu cheie secretă, cum ar fi 3DES sau AES.

EG (El Gamal)

Algoritmul El Gamal constă în 3 subdiviziuni principale: generarea cheii, algoritmul de criptare și algoritmul de decripare. Voi exemplifica acest algoritm pe cazul clasic de comunicare dintre Alice și Bob.

Generarea cheii

Alice generează o descriere eficientă- a grupului multiplicativ ciclic G de ordin q cu generatorul g;

Alice alege un număr random x de la { 1, …, q – 1 };

Alice calculează h ca fiind: h = gx;

Alice publică h împreună cu grupul G, q și g ca fiind cheia sa publică și reține x ca fiind cheia privată (care trebuie ținută secret).

Algoritmul de criptare

Bob alege un număr random y de la { 1, …, q – 1 }, apoi calculează: c1 = gy;

Bob calculează s ca fiind: s = hy;

Bob transformă mesajul lui secret m în m’ al lui G;

Bob calculează: c2 = m’ · s;

Bob trimite textul cifrat lui Alice.

Algoritmul de decriptare

Pentru a descifra textul cifrat (c1 ,c2) cu cheia sa privată x:

Alice calculează: s = cx1;

Apoi deduce: m’ = c2 · s-1, ea convertește înapoi textul original m, unde s-1 este inversul lui s în grupul g: c2 · s-1 = m’ · hy · (gxy)-1 = m’ · gxy · g-xy = m’

Sistemul de criptare El Gamal este, de obicei, folosit în sistemele hibride, mai exact, mesajul este criptat folosind un sistem simetric, iar El Gamal va fi folosit pentru a cripta cheia folosită în sistemul simetric. Acest lucru se întamplă deoarce sistemele asimetrice precum El Gamal sunt, de obicei, încete pentru un asemenea nivel de securitate, așa că va fi mai rapid să criptezi cheia simetrică (care, în cele mai multe cazuri, este mult mai mică decât dimensiunea mesajului) cu El Gamal și mesajul propriu-zis (care, să zicem, că ar fi destul de mare) să fie criptat cu o cheie simetrică.

INSTITUȚII DE STANDARDIZARE

NIST

Institutul Național al Standardelor si Tehnologiei (NIST) este responsabil pentru dezvoltarea standardelor (Federal Information Processing Standars or “FIPS”) și orientărilor pentru a proteja securitatea non-națională a sistemelor de informații federale. În afara Guvernului Federal, aceste publicății sunt voluntar invocate în diverse sectoare pentru a promova dezvoltarea economică și pentru a proteja informații sensibile personale sau ale corporațiilor. În această privință, NIST are un rol dual:

Ca dezvoltator al standardelor și orientărilor în conformitate cu legile federale;

Ca contribuabil tehnic și ca o parte interesată în legatură cu dezvoltarea voluntară mondială a standardelor.

Divizia Securității Calculatoarelor (CSD), parte a Laboratorului de IT NIST (ITL), se preocupă de standardele și orientările pentru protecția sistemelor informatice federale. Aceste sisteme trebuie să fie robuste și trebuie să aibă încrederea comunității criptografice în vederea adoptării lor de către sistemele informatice din întreaga lume.

Pentru a asigura acestor standarde și orientări o calitate superioară, NIST colaboarează îndeaproape cu o comunitate largă de stakeholderi pentru a identifica zonele de interes și pentru a dezvolta noi standarde. Acea comunitate include experți din agențiile academice si guvernamentale și din sectoare și organizații care aleg să adopte standardele și orientările criptografice NIST.

Este vital ca NIST să acceseze cele mai recente și relevante expertize privind criptografia. NIST trebuie să angajeze personal capabil să solicite, analizeze și să folosească cunoștințele criptografice pentru a dezvolta standarde și orientări, teste și metrici. Pentru a-și duce misiunea de protecție a informațiilor la bun sfârșit, NIST trebuie, de asemenea, să se preocupe de extinderea orizontului criptografiei.

Principii

NIST consideră că robustețea, înțelegerea deplină și dezvoltarea participativă a proceselor produce cele mai puternice, cele mai eficiente, cele mai de încredere si larg acceptate standarde și orientări criptografice. Următoarele opt principii ghidează dezvoltarea proceselor de standardizare criptografice din cadrul NIST.

Transparență: toate părțile interesate și afectate au acces la informațiile esențiale privind standardele și activitățile de orientare în timpul proceselor de dezvoltare.

Deschidere: participarea este deschisă către toate părțile interesate. Toți stakeholderii au oportunitatea să se implice semnificativ în dezvoltarea proceselor de standardizare.

Merit tehnic: deciziile NIST din timpul dezvoltării standardelor criptografice sunt bazate pe meritul tehnic al unei propuneri, fiind în același timp constient de securitate, intimitate și considerente politice sau de afaceri. O revizuire a meritului tehnic include o declarație precisă formală a creanțelor de securitate.

Uzabilitate: NIST ținteste să dezvolte standarde criptografice care ajută dezvoltatorii să creeze sisteme sigure și utilizabile pentru clienții lor care să suporte nevoile afacerii și workflow-ul și să poată fi integrate cu existente și viitoare scheme și sisteme.

Echilibru: NIST se străduiește să realizeze un echilibru de interese între părțile interesate, cântărind aceste interese pentru a dezvolta standarde și orientări criptografice care sunt sigure și eficiente.

Integritate: NIST servește ca o autoritate tehnică imparțială atunci când dezvoltă standarde și orientări criptografice. Când evaluează, selcetează și standardizează algoritmi de criptare, NIST încearcă să se mențină obiectivă și să își documenteze deciziile.

Îmbunătățire continuă: pe masură ce algoritmii criptografici sunt dezvoltați și în timpul utilizarii lor, comunitatea criptografică încurajează indentificarea slăbiciunilor, a vulnerabilităților sau a altor deficiențe în algoritmii specificați în publicățiile NIST. Când sunt descoperite probleme serioase, NIST se angajează împreună cu comunitatea criptografică să le adresese.

Inovare și Proprietate Intelectuala (IP): în timpul dezvoltării standardelor și orientărilor criptografice pentru sistemele de securitate non-naționale, NIST demonstrează preferința în rândul utilizatorilor pentru soluții care sunt negravate de drepturi de autor purtătoare de tehnologii brevetate.

Publicații pentru standardele și orientările criptografice NIST

NIST folosește câteva tipuri de documente pentru a publică și împrăștia standardele și orientările criptografice. Trei categorii de publicății NIST sunt folosite frecvent: FIPS (Federal Information Processing Standards), SP (NIST Special Publicătions) și NISTIR (NIST Interagency Reports).

FIPS: Publicățiile FIPS sunt emise de către NIST după aprobarea Secretariatului Comerțului. Sunt folosite de NIST pentru a publica standarde pentru primitive criptografice fundamentale, cum ar fi cifruri bloc, semnături digitale, algoritmi sau funcții hash.

NIST SP: includ o gamă largă de cercetări, orientări și efort de mobilizare în securitatea informațiilor computerizate.

NISTIR: descrie cercetările tehnice de interes pentru o audiență specializată. NIST nu specifică algoritmi criptografici în publicățiile NISTIR. În schimb, NIST folosește aceste publicății pentru a împrăștia informații despre eforturile făcute în standardizarea criptografică.

ENISA

ENISA (The European Network and Information Security Agency) este o agenție a Uniunii Europene dedicate prevenirii și adresării problemelor de securitate în internet sau de securitate a informațiilor. ENISA, de asemenea, asistă Comisia Europeană în dezvoltarea legislației Agenției Comunității Europene pentru securitatea informației și în internet.

Obiective și activități

ENISA se comportă ca o „Agenție a Comunității Europene” și lucrează cu instituții membre ale UE pentru a dezvolta o cultură a securității informației și în internet pentru a ajuta cetățenii, consumatorii, afacerile și origanizațiile din sectorul public. Pagina web a ENISA prezintă, printre altele, schimbul informației, bunele practici și sfaturi privind securitatea în industrie, în special, securitatea informațiilor și în internet.

Pentru a-și atinge obiectivele, ENISA își manifestă activitatea ca un Centru de Expertiză în internet și securitatea informației și stimulează cooperarea dintre sectoarele publice și cele private.

Regulamentul agenției se axează pe:

Sfătuirea și asistarea Comisiei Europene și a statelor membre în securitatea informației și în dialogul lor cu industria pentru a adresa problemele legate de securitate in probleme hardware sau software;

Colectarea și analizarea datelor din incidentele de securitate din Europa ți a riscurilor iminente;

Promovarea evaluării riscurilor și a metodelor de management al riscurilor pentru a spori capabilitatea de a se descurca cu amenințările de securitate a informației;

Creșterea conștientizării și a cooperării dintre diferiți actori din cadrul securității informației, în special, prin dezvoltarea parteneriatelor industriale publice sau private.

Pentru a își atinge scopurile, ENISA își manifestă activitatea ca un Centru de Expertiză în internet si securitatea informației și stimulează cooperarea dintre sectoarele publice și cele private.

ANALIZA COMPARATIVĂ A CARACTERISTICILOR SISTEMELOR DE CRIPTARE

Caracteristicile cheilor

Sisteme simetrice:

Stringuri generate random reprezentate pe un număr k octeți;

Generarea cheilor nu este complicată deoarece cheile de criptare simetrică nu au proprietăți speciale;

De cele mai multe ori, cheile simetrice sunt reprezentate pe 128 sau 256 de biți.

Sisteme asimetrice:

Greu de generat deoarece cheile asimetrice trebuie să respecte anumite șabloane (spre exemplu, numere prime foarte mari);

În general, în cazul sistemelor de criptare cu cheie publică, lungimea cheilor este mult mai mare față de cele simetrice, ele ajungând să fie reprezentate pe 1024 sau chiar 2048 de biți.

După cum se poate observa de mai sus, deși lungimea cheilor simetrice este mult mai mică față de cele asimetrice, nu putem spune, spre exexmplu, că un fișier criptat cu o cheie RSA pe 2048 de biți este mult mai greu de spart decât un fișier criptat cu o cheie AES pe 256 de biți.

Eficiență, viteză și puterea de calcul necesară

Din punct de vedere al eficienței sistemelor de criptare, sunt trei aspecte de discutat, și anume: procesorul, lățimea de banda și funcționalitățile.

Principalul motiv pentru care criptarea cu cheie publică este mai lentă decât criptarea cu cheie privată este că cea dintâi trebuie să îndeplinească o funcționalitate calitativă în plus: să fie capabilă să publice cheia de criptare fără să își dezvăluie cheia de decriptare. Acest lucru necesită calcule matematice mai complexe, comparativ cu encripția cu cheie privată care are nevoie doar de un string random. Majoritatea sistemelor asimetrice cunoscute îndeplinesc securitatea necesară, dar cu un cost ridicat al puterii computaționale necesară.

O altă problemă de eficiență a sistemelor de criptare asimetrice este reprezentată de lățimea de bandă, aceasta reprezentând categoric o limitare. După cum îi spune și numele, criptarea cu cheie publică este publică: oricine, inclusive atacatorul, poate folosi cheia publică să cripteze mesaje arbitrare. Acest lucru înseamnă că, dacă procesul de criptare este deterministic, atunci atacatorul poate rula o căutare exhaustivă asupra datelor criptate (să cripteze potențiale mesaje până când unul ajunge să îi corespundă datelor criptate). Deci, chiar și datele sub formă criptată pot reprezenta date folositoare. Prin urmare, o schema de criptare asimetrică trebuie să includă elemente random adiționale. Pentru a realiza acest lucru, datele vor ocupa spațiu suplimentar. Spre exemplu, pentru RSA descris în PKCS#1, care folosește o cheie pe 1024 biți, se pot cripta date reprezentate pe maxim 117 octeți, rezultând o valoare de 128 de octeți. Prin urmare, un fișier de dimensiuni mari criptat cu RSA va genera un fișier criptat cu circa 9% mai mare decât cel inițial (900 MB extra pentru un mesaj de 10 GB). Pe de altă parte, criptarea cu cheie simetrică induce doar un overhead constant (spre exemplu, în cazul AES 32 de octeți în plus față de dimensiunea inițiala).

În cele din urmă, există algoritmi de schimb de chei care sunt asemănători cu encripția asimetrică exceptând faptul că nu se alege nici de către expeditor, nici de către receptor valoarea mesajului, ei ajungând să împărtășească un secret selectat random. Deci, pentru realiza o criptare asimetrică cu un algoritm de „key exchange” implică împărtășirea unui „secret” ca și în cazul criptării simetrice.

Distribuția cheilor

Din cauza faptului că o singură cheie trebuie folosită atât pentru criptare, cât și pentru decriptare, va trebui gasită o metodă prin care să se transmită aceasta cheie. Altfel, receptorul nu va putea decripta mesajele primite. Oricare ar fi modul de transmitere al acestei chei, el trebuie să fie sigur, altfel, oricine poate copia acea cheie poate intercepta mesajele criptate și să le decripteze cu ajutorul copiei obținute.

Problema distribuirii cheii devine mult mai pronunțată într-un mediu de transmitere a fișierelor, care poate implica un număr mare de utilizatori distribuiți pe o vastă arie geografică. Unor utilizatori, mulți aflați, poate, la jumătate de planetă distanță, le va fi foarte greu să primească o cheie într-o manieră sigură.

Criptarea asimetrică nu are aceasta problemă. Atâta timp cât cheia privată este ținută în siguranță, nimeni nu poate decripta mesajele criptate cu această cheie. Deci, în cazul acestui tip de criptare, se poate distribui cheia publică corespondentă cheii private fără niciun fel de griji. Oricine detțne o copie a acestei chei publice poate transmite mesaje către persoana cu cheia privată.

Ușurința de utilizare

Sisteme simetrice

cheia trebuie să fie deținută de către ambele părți comunicante;

dacă un utilizator are n parteneri alături de care vrea să împărtășească informații, acesta trebuie să dețină n chei secrete pentru fiecare dintre ei;

autenticitatea mesajul primit nu poate fi dovedită din cauza cheii secrete care trebuie să fie deținută de ambele părți comunicante;

schimbul cheii secrete este destul de complicat deoarece trebuie asigurat un canal sigur de comunicare pentru transmiterea acesteia fără a fi compromisă;

managementul cheii devine tot mai complicat odată cu creșterea numărului de persoane cu care se dorește o comunicație sigură.

Sisteme asimetrice

Fiind o criptare cu cheie publică, nu reprezintă nicio problema în împărtășirea cheii;

Dacă un utilizator are n parteneri cu care să comunice, acesta are nevoie de o singură cheie privată și una publică, pe care le-o poate oferi și celorlalți în cazul recepționării de mesaje de la aceștia sau de încă o cheie publică a celui căruia dorește să îi transmită mesaje;

Indiferent de numărul de persoane cu care se dorește o comunicație sigură, un utilizator are nevoie de o singură cheie publică.

Rezistența la atacuri

Având la dispoziție suficiente resurse computaționale, atât sistemele simetrice, cât și cele asimetrice pot fi sparte.

Cea mai de bază cale de atac la un criptosistem simetric este atacul de tip brute-force, unde se încearcă, efectiv, fiecare combinație a cheii. Pentru o cheie pe 128 de biți, sunt 2128 combinații posibile, ceea ce necesită resurse computaționale scumpe. Alte căi de atac, incluzând atacurile de tip „text criptat ales” sau „text în clar ales” pot fi mult mai eficiente decât brute-force, dar ele necesită mai multe cunostințe pentru a putea fi realizate.

Pentru a se apăra de atacurile de tip brute-force, sistemele simetrice trebuie să folosească o cheie de lungime suficient de lungă. Algoritmul AES cu o cheie pe 256 de biți este considerat suficient de sigur pentru destul de multe cazuri.

Cea mai bună metodă de a ataca bine-cunoscuta implementare a RSA (criptare asimetrică) este factorizând modulele publice ale RSA, reprezentate de un număr foarte mare. Factorizând numere mari, folosind cele mai cunoscute tehnici de factorizare din prezent, este o problemă de calcul intensivă.

Compania RSA au implementat provocări de factorizare din 1991 până în 2007, timp în care un modul RSA pe 768 de biți a fost factorizat cu success. Mai apoi, în 2010, un modul RSA pe 1024 de biți a fost factorizat cu un cost relativ scăzut.

În prezent, implementarile RSA necesită o cheie pe 2048 de biți pentru a putea fi sigure. Pentru operații ultra-sensibile se pot folosi chiar și chei de 4096 biți. Desigur, cu cât cheia este mai mare, cu atât mai scumpe (timp și putere de calcul) sunt operațiile de criptare și decriptare.

SECURITATEA IN CLOUD UTILIZAND UN SISTEM DE CRIPTARE HIBRID

Dupa cum se poate observa din nume, un sistem de criptare hibrid este un sistem care imbineaza avantajele sistemelor de criptare cu cheie publica cu eficienta sistemelor de criptare cu cheie private. In cele ce urmeaza vom observa cum un astfel de sistem poate asigura intr-un mod eficient securitatea la nivelul unui sistem de tip cloud.

NIST defineste sistemul de “cloud computing” ca fiind un model pentru accesul convenabil la o retea comuna cu resurse configurabile (ex servicii de internet, stocare de date, aplicatii sau servicii) care pot fi prevazute si oferite publicului larg cu un efort minim de management. In sistemele de tip cloud, atat fisierele cat si serviciile software nu sunt stocate pe calculatorul utilizatorului. Preocuparile pentru securitatea fisierelor apar pentru ca atat programele cat si aplicatiile utilizatorului isi au originea in premisele furnizorului. Furnizorul de servicii cloud poate rezolva aceste problem criptand fisierele utilizand un algoritm de criptare. Dupa cum se va putea observa din cele ce urmeaza, o metoda eficienta de criptare este alegerea unui sistem hibrid.

Problemele care pot aparea din cauza modului deschis si caracteristicilor tentante ale sistemelor cloud nu pot fi rezolvate de mecanismele de securitate traditionale. Printre aceste problem se numara:

Din cauza scalabilitatii dinamice, caracteristicile de transparenta ale serviciilor si locatiilor modelului sistemelor de tip cloud, toate tipurile de aplicatii si date din platform cloud nu au o infrastructura fixa sau limite ale securitatii. In cazul unei brese de securitate, este dificil de izolat o resursa particulara care este amenintata sau a fost compromisa.

In concordanta cu modelul de livrare al serviciilor cloud, resursele si serviciile livrate de aceste sisteme pot fi detinute de mai multi furnizori. In acest context pot intervene conflice de interese si deci, este greu de implementat o masura comuna de securitate.

Din cauza modului deschis si transparent de operare al sistemelor cloud, datele utilizatorilor pot fi accesate de utilizatori neautorizati.

6.1. Componentele sistemului hibrid

Pentru a asigura securitatea in cloud se va folosi un sistem de criptare hibrid. Server-ul este unul sigur, deci fisierele sunt criptate si stocate pe server.

Sistemul hibrid foloseste o combinatie intre:

Algoritmul Blowfish combinat cu „File Splitting” si un mecanism de „merging”.

Algoritmul SRNN (Short Range Natural Number – o forma modificata a RSA).

Intr-un sistem hibrid, performantele algoritmului simetric sunt integrate cu securitatea sporita a algoritmului asimetric. Algoritmul simetric folosit(Blowfish) are printre cele mai bune metode de a evita compromiterea datelor si una dintre cele mai bune performante. Algoritmul SRNN are un echilibru bun intre viteza si securitate.

In acest sistem, atunci cand se incarca un fisier pe server, fisierele sunt mai intai impartite in bucati mai mici, fiecare fiind criptata de cheia corespunzatoare Blowfish. Apoi, fiecare n cheie (n – numarul de bucati in care este impartit fisierul) este criptata folosind SRNN.

Blowfish

Blowfish este un cifru bloc simetric ce foloseste reteaua Fiestal si care, foloseste un sistem de 16 iteratii de criptari si decriptari. Dimensiunea blocului folosit este de 64 de biti, iar cheia poate varia pana la 448 de biti. Cifrul Blowfish foloseste 18 subsecvente a 32 de biti fiecare (P-boxes) si 4 „Substitution boxes” de 32 de biti fiecare. Algortimul este format din doua faze: faza de expandare a cheii si faza de criptare a datelor. In prima faza cheia este converitata in subchei si in cea de-a doua faza, criptarea are loc dupa 16 runde. Fiecare runda consta intr-o permutare dependenta de cheie si o substitutie dependenta de cheie.

SRNN

SRNN este un algoritm de criptare cu cheie publica similar cu RSA, dar care aduce cateva imbunatatiri. In acest algoritm este folosit un numar foarte mare care are doi factori primi (ca si in RSA). In plus, in acest caz, sunt folosite alte doua numere naturale dintr-un interval scurt in perechea de chei. Acest lucru sporeste securitatea criptosistemului. SRNN este folosit pentru comunicarea sigura dintre utilizator si serverul cloud.

6.2. Fazele sistemului de criptare hibrid

Criptosistemul hibrid folosit pentru a mentine securitatea fisierelor consta in doua faze, si anume: faza de criptare si cea de decriptare.

Faza de criptare

In urma specificatiilor utilizatorului, fisierul care urmeaza sa fie criptat va fi impartit in n bucati. Fiecare bucata este criptata folosind cheia Blowfish furnizata de utilizator.

Cheia Blowfish va fi criptata folosind algoritmulul SRNN de criptare cu cheie publica.

Dupa ce criptarea va fi realizata vor exista n bucati de fisiere criptate cu n chei corespunzatoare.

Faza de decriptare

Utilizatorul va furniza n SRNN chei private, in relatie cu cele n bucati in care a fost spart fisierul initial. Cheia blowfish va fi decriptata de catre server utilizand cheia privata SRNN specifica bucatii corespunzatoare.

Utilizand cheia de decriptare corespunzatoare, bucata de fisier de pe server este decriptata.

Bucatile de fisier decriptate vor fi merge-uite pentru a se obtine textul original.

6.3. Arhitectura sistemului securizat de cloud computing

In masurara asigurarii securitatii fisierelor in sistemele cloud, este implementat un sistem hibrid. Presupunand ca mediul serverului este unul sigur, datele vor fi stocate pe acesta intr-o forma criptata. Se pot evidentia trei faze a implementarii acestui criptosistem in sistemul cloud: faza de inregistrare, faza de incarcare si faza de descarcare.

Faza de inregistrare

In faza de inregistrare, clientul se inregistreaza pentru a putea incarca si vizualiza fisierele sale pe server. In procesul de inregistrare, clientul trimite o cerere catre nodul principal al serverului, care ii asigneaza utilizatorului o masina virtuala care are un minim nivel de incarcare. La sfarsitul faze de inregistrare, clientul este inregistrat cu adresa IP a masinii virtuale corespunzatoare. De fiecare data cand va mai inregistra o alta cerere, aceasta va fi transferata catre masina sa virtuala corespunzatoare. Fisierul criptat, cheile blowfish criptate si cheia publica SRNN vor fi stocate pe aceasta masina virtuala.

Faza de incarcare a fisierelor

In faza de incarcare, se evidentiaza urmatorii pasi:

Clientul va trimite o cerere catre nodul principal pentru a se autentifica;

In caz de succes, nodul principal ii va livra adresa IP a masinii virtuale corespunzatoare clientului;

Fisierele vor fi incarcate de catre client pe masina virtuala;

Criptarea fisierelor incarcate se vor efectua de catre criptosistemul hibrid;

Bucatile criptate de fisier si cheile criptate blowfish vor ramane stocate pe masina virtuala;

Cheile private SRNN vor fi trimise catre utilizator si vor fi sterse de pe server pentru ca doar utilizator autentificat sa fie capabil sa vizualizeze fisierele incarcate;

Faza de descarcare a fisierelor

In faza de descarcare, pasii ce trebuie urmati sunt urmatorii:

Clientul va trimite o cerere de autentificare catre nodul principal;

In caz de succes, serverul va raspunde cu adresa IP a masinii virtuale corespunzatoare;

Clientul va incarca n SRNN chei private pentru cele n bucati de fisiere;

Cheile private vor decripta cheile blowfish si, mai apoi, bucatile criptate vor fi decriptate de cheile corespunzatoare;

Bucatile decriptate vor fi unificate pentru a genera fisierul original;

Fisierul decriptat va fi descarcat si vizualizat pe calculatorul clientului.

6.4. Avantajele sistemului hibrid

Modelul de mai sus indeplineste cerintele de securitate a stocarii de date din sistemul cloud. Algoritmul Blowfish folosit pentru criptarea bucatilor de fisier ruleaza intr-un timp foarte scurt si este capabil de un transfer de date maximizat fata de alti algoritmi simetrici de criptare. Modelul modificat de RSA (SRNN) are o securitate sporita fata de RSA clasic. Ideea de sparge fisierul in mai multe bucati ca, mai apoi, sa fie unificate, sporesc de asemenea gradul de securitate al datelor. Un scurt rezumat al beneficiilor aduse de acest sistem hibrid poate fi prezentat astfel:

Criptografia cu cheie publica folosita ajuta la facilitarea autentificarii userului pentru fiecare fisier;

Nevoia unui sistem de criptare mai usor si mai sigur pentru conservarea fisierelor dintr-un sistem de cloud este satisfacuta;

Spargerea fisierelor in mai multe bucati si unificarea acestora fac ca un posibil atac sa nu fie fezabil.

BUNELE PRACTICI ÎN CRIPTOGRAFIE

De când a apărut, criptarea a fost mult timp una din tehnicile de top disponibile în tehnicile de protecție ale datelor. Această abordare a securității dă posibilitatea utilizatorului să încerce să obțină conținutul sistemelor protejate și să utilizeze o cheie de decriptare pentru a descifra. În acest sens, doar persoanele autorizate – cei cu acces la cheie – sunt capabili să citească informația protejată.

În prezent, criptarea este o pârghie între medii cu caracteristici diferite, incluzând întreprinderi, forțele armate sau în protejarea plăților din e-commerce. Deși multe sunt conștiente de avantajele aduse de criptografie, există o amenințare principală în protejarea ei: faptul că unii încă nu au adoptat-o.

În acest spirit, este important pentru toți utilizatorii să înțeleagă cât de puternică poate fi criptarea când vine în „apărarea” informațiilor personale sau a informațiilor sensibile din cadrul unui business. Când este aplicată corect, criptarea oferă o barieră aproape perfectă împotriva tuturor intruziunilor neautorizate, asigurând acces doar persoanelor autorizate.

Dar ce se înțelege mai exact printr-o folosire „corectă” a criptării? Următoarele bune practici vor fi prezentate pentru a ilustra cele spuse mai sus.

Examinarea datelor care au nevoie de proctecție

În primul rând, este vital să se înțeleagă ce informații au nevoie să fie protejate pentru a decide unde se va implementa tehnologia. În mediile tot mai amenințate din ziua de azi, o imensitate de detalii sunt considerate valoroase pentru hackeri, incluzând informațiile de plată ale cardurilor, nume, date de naștere sau proprietatea intelectuală a unei companii. Din cauza faptului că aceste date pot fi folosite fraudulos, criptarea trebuie să fie implementată pentru a preveni intruzia.

În același timp, utilizatorii ar trebui să considere nu doar ce informații trebuie protejate, ci și când. Atunci când datele sunt stocate într-un sistem la nivel global cu propriile măsuri de securitate, criptarea s-ar putea dovedi inutilă. Pe de altă parte, când conținutul este în tranzit sau când acesta este transferat către părți interne sau externe, criptarea este cel mai bun pariu al emițătorului pentru a se asigura că informațiile nu vor fi interceptate.

Obținerea de informații despre algoritmul de criptare

Deși există standarde mondiale pentru algoritmi de criptare primari, unii provideri „își pot lua libertatea despre cum să aplice standardele” în sistemele lor criptografice. Acest lucru poate avea un impact asupra gradului de protecție a criptării furnizate. Prin urmare, utilizatorii ar trebui să pună întrebări despre algoritmul de criptare și dacă acesta respectă întocmai standardele internaționale. Printre alte întrebări utile pe care ar trebui puse vendorilor sistemelor criptografice se număra cele despre viteza de criptare, utilizarea memoriei, costuri etc. Analizând acești factori esențiali, va ajuta la garantarea faptului că algoritmul folosit este cel care trebuie potrivit.

Asigurarea unui management al cheii corespunzător

Atâta timp cât a fost implementat un sistem de criptare, administratorul trebuie să se asigure că cheia de decriptare este bine întreținută. Cu un management nu foarte sigur al cheii se poate ajune la probleme serioase. Cheile pot fi pierdute, furate sau distruse într-un mod neintenționat sau pot să expire. Toate aceste aspect sunt, de fapt, vulnerabilități de securitate.

Utilizatorii trebuie să selecteze o locație sigură unde să păstreze cheile de criptare, asigurând acces la ele doar persoanelor autorizate. Un alt loc de backup trebuie ales cu grijă și menținut corespunzător pentru ca informația să rămână sigură. În prezent, există o multitudine de soluții de management al cheilor de criptare și care ar trebui folosite cu încredere.

A se lua în considerare dacă criptarea va interacționa cu sistemele cloud

Criptarea a devenit robustă și populară și datorită tehnologiei de „cloud computing”. Deoarece vendorii de tehnologie cloud gestionează aspecte clare ale sistemului care stochează datele, organizatorii trebuie să introducă o altă măsură de protecție pentru a asigura securitatea datelor personale. Totuși, când criptarea este implementată în cadrul materialelor bazate pe cloud precum SaaS sau aplicații de date analitice, trebuie luate în calcul câteva elemente importante. Chiar dacă acestea vor fi sau nu incluse, toate funcțiile programului trebuie să fie disponibile, printre care dacă criptarea va fi în conformitate cu nevoile actuale și cum vor fi generate cheile.

Chiar dacă aceste precauții adiționale par greoi de implementat, incluzând criptarea în securitatea cloud, nu oferă doar protecție pentru informațiile companiilork, ci și liniște pentru administratorii acestor rețele.

TENDINȚE ACTUALE

Criptografia curbelor eliptice

ECC (Eliptic Curve Cryptography) a fost deja inventată și este considerată ca fiind o posibilă tehnică viitoare de criptografie, acest lucru datorându-se și faptului că avantajele și dezavantajele sale nu au fost înțelese pe deplin. De obicei, ECC folosește același tip de algoritm din cazul RSA și al schimbului de chei Diffie-Hellman. Diferența este dată de faptul că în acest caz se folosesc numere alese dintr-un spațiu finit delimitat de expresii ale unor curbe eliptice.

Fig. 18. Curbă eliptică

Figura de mai sus este un exemplu de curbă eliptica. Acest exemplu poate fi folosit împreună cu un tip de algoritm RSA în care se aleg două numere prime, P si Q. Când numerele prime sunt alese folosind o curbă eliptica predefinită într-un spațiu finit, dimensiunea cheii poate fi mult mai mică, dar pastrându-și acelasi grad de securitate. Acest lucru duce la reducerea timpului de criptare și decriptare, prin urmare, mai multe blocuri de date pot fi trimise în același timp cu același grad de securitate. Ca și alte metode de criptare, ECC a fost testat și dovedit sigur înainte de a fi folosit în spațiul privat, în comerț sau în structurile guvernamentale.

Metode de calcul cuantice (Quantum computing)

Metoda de calcul Quantum se realizează într-un calculator cuantic, care deține un procesor ce foloseste fenomenul mecanic cuantic, cum ar fi superpoziția cuantică și „entanglement quantum” (entanglement însemnând o situație complicată). Calculatoarele obișnuite stochează date fosind formatul binar reprezentat de „0” și „1”. Calculatoarele cuantice folosesc superpoziția cuantică a stărilor multiple. Aceste stări multiple cuantice sunt stocate pe biți cuantici (qubits). În funcție de design, fiecare qubit poate stoca un set de numere simultan. Acest lucru permite proceselor de calcul a numerelor să fie cu câteva ordine de magnitudine mai rapide decât cele realizate pe procesoarele traditionale.

Fig. 19. Primul procesor cuantic disponibil

În figura de mai sus, este prezentat primul procesor cuantic disponibil comercializării din lume. Capabilitățile sale sunt de 1000 de ori mai mici decât cele ale unui procesor transistor modern. Metodele de calcul cuantice sunt încă în faza incipientă. Procesoarele cuantice din ziua de azi sunt foarte mici și nu au dimensiunea cât a unui procesor pe tranzistoare. Unii se tem că succesul și aplicările în practică ale calculatoarelor cuantice vor devasta sistemul financiar mondial spărgând fiecare sistem de criptare cunoscut. Spre exemplu, criptografia cu cheie publică se bazează pe faptul că sistemele de calcul sunt foarte încete atunci când trebuie să opereze cu logaritmi discreți și descompunerea în factori primi.

Ecuația 1 arată timpul necesar pentru rularea celui mai rapid algoritm cunoscut (GNFS) pentru a descompune în factori primi pe un procesor care operează cu un format binar. Ecuația a doua arată timpul de descompunere în factori primi folosind algoritmul descoperit de Peter Shor pe un calculator cuantic. În ambele cazuri, „b” este numărul de biți pe care este reprezentat numărul. Se poate observa ușor faptul că algoritmul lui Shor rulează mult mai repede. Pentru a întelege puterea teoretică a calculatoarelor cuantice, se poate face următorul exercițiu de imaginație. RSA-640, un număr cu 193 de caractere, a fost factorizat de 80 calculatoare de 2.2 GHz timp de o perioada mai mare de 5 luni. Dacă același număr ar fi fost factorizat cu un calculator cuantic cu aceleași caracteristici, algoritmului lui Shor demonstrează că factorizarea ar fi durat ceva mai puțin de 17 secunde. Numere ce ar putea fi factorizate folosind calculatoare obișnuite în miliarde de ani se pot factoriza cu ajutorul calculatoarelor cuantice dezvoltate la parametri maximi în câteva ore.

CONCLUZII

BIBLIOGRAFIE

Similar Posts

  • Proiectarea Unei Aplciatii Privind Comunicarea Intre Dispecer Si Componenta Mobila

    Cuprins Abrevieri 3 Lista imaginilor și tabelelor 4 I. Introducere 5 II. Tehnologii folosite 6 II.1 HTML 6 II.2 CSS 7 II.3 JavaScript 10 II.4 PHP 11 II.5 MySql 13 II.6 FileZilla 14 II.7 phpmyadmin 15 III. Teoria Grafurilor 16 IV. Comis-voiajor 18 V. Google Maps si serviciile Google 22 VI. Studiu de caz 27…

  • Subsistemul Informational

    Subsistemul informațional reprezintă un ansamblu de date, informații, fluxuri și circuite informaționale, procedure informaționale și mijloace de tratare a informațiilor ierarhice și organizatorice, care va permite realizarea obiectivelor planificate. După cum constatăm, subsistemul informațional este complet diferit de sistemul informatic care prelucrează numai electronic niște date. Componentele sistemului informațional sunt: Data, care reprezintă o exprimare…

  • Program Pentru Gestionarea Datelor Intr Un Magazin Mixt

    CUPRINS: Pag. Introducere……………………………………………….……………………3 1. Capitolul 1 – Descriere generală a unității economice specializată în achiziționarea și vânzarea produselor alimentare și nelimentare 1.1 Descrierea societății Selgros Cash & Carry………………………………….4 1.2 Rolul și atribuțiile administratorului …………………………………………..5 1.3 Organizarea și atribuțiunile compartimentelor de cumpărare si vânzare de produse…………………………………………………………………………………..7 1.4 Analiza documentelor de evidență a procesului de cumpărare –…

  • Interfata de Comenzi Vocale

    Introducere Reþele Neurale Noþiuni generale Unitãþile de procesare (neuronii) Conexiunile dintre unitãþi Activãri ºi reguli de calcul al ieºirilor Terminologie Topologii de reþea Antrenarea reþelelor neurale Clasificarea metodelor de antrenare Modificarea caracteristicilor conexiunilor Adaline ºi Perceptron. Scurtã istorie Adaline (ADAptive LINear Element=element liniar adaptiv) Perceptronul Back–Propagation (propagarea înapoi) Reþele feed-forward cu mai multe straturi Regula…

  • Multimedia

    CAPITOLUL al II-lea. Fundamentarea teoretică a problemei Multimedia poate fi definita ca ansamblul mijloacelor și mediilor de comunicare prin care informațiile pot fi percepute vizual și auditiv, în diferite forme de prezentare prin intermediul sistemului de calcul și dă utilizatorului capacitatea de cunoaștere și informare în mod rapid și facil. Momentul apariției domeniului multimedia a…

  • Proiectarea Magazinului Online

    CUPRINS INTRODUCERE ……………………………………………………………………………..pag 3 CAP 1 PLATFORMA WORDPRESS Scurt istoric …………………………………………………………………………………pag 6 Caracteristici generale …………………………………………………………………..pag 8 Scopul și modurile de utilizare ……………………………………………………….pag 10 CAP 2 BAZA DE DATE 2.1 Ce este o bază de date ……………………………………………………………………pag 15 2.2 Scopul și obiectivele bazelor de date………………………………………………..pag 17 2.3 Proiectarea unei baze de date…………………………………………………………..pag 18 CAP 3 CONSIDERAȚII…