Internetul: Criptare si Chei Publice
Bună, numele meu este Mila Gil-Epner
sunt specializată în Programare la Universitatea Berkeley
și lucrez pentru Departamentul Apărării, unde încerc să țin informația în sigurnață.
Internetul este un sistem public si deschis.
Toți trimitem si primim informații prin cabluri și conexiuni partajate.
Dar chiar dacă este un sistem deschis, schimbăm o multime de date private
cum ar fi numere ale cardurilor de credit, informatii bancare, parole si email-uri.
Deci cum sunt toate aceste date private ținute secret?
Orice tip de date poate fi ținut secret printr-un proces numit „criptare”
amestecarea sau schimbarea mesajului pentru a ascunde textul original.
Decriptarea este procesul de reconstruire a mesajului pentru a putea fi citit.
Aceasta este o simpla idee, iar oamenii au utilizat-o timp de secole.
Una dintre primele metode de criptare cunoscute a fost CIfrul lui Caesar.
Numit după Iulius Cezar, un general Roman care a criptat comenzile militare
astfel că dacă mesajul era interceptat de inamici, ei nu puteau să îl citească.
Cifrul lui Cezar este un Algoritm care substituie fiecare literă din mesajul original
cu o literă din alfabet.
Dacă numărul este cunoscut doar de expeditor și destinatar
atunci acel număr se numește cheie
Îi permite cititorului să descifreze mesajul secret.
De exemplu, dacă mesajul tău original e "SALUT"
folosind algoritmul Cifrului lui Cezar cu numărul cheie 5
mesajul criptat ar fi acesta...
Pentru a descifra mesajul, destinatarul va folosi cheia pentru a inversa procesul.
Dar e o mare problemă cu Cifrul lui Cezar
oricine poate să spargă codul
încercănd orice literă posibilă
iar în alfabetul englez sunt doar 26 de litere, ceea ce înseamnă
că ar trebui să încerci cel mult 26 de chei să decriptezi mesajul.
Să încerci 26 chei posibile nu e foarte greu
ar lua cam o oră.
Asa ca hai să facem să fie mai greu.
În loc să schimbi fiecare literă cu aceeași valoare
să schimbăm fiecare literă cu o valoare diferită.
În acest exemplu o cheie de 10 cifre arată în căt de multe poziții
fiecare literă succesivă va fi schimbată ca sa cripteze un mesaj mai lung.
Să ghicești această cheie ar fi foarte greu.
Folosind criptări de 10 cifre ar fi 10 miliarde de posibilități.
Evident că e mai mult decăt orice alt om ar putea rezolva, ar dura secole.
Dar unui calculator i-ar lua azi căteva secunde să încerce toate cele 10 miliarde de posiblități.
Deci, într-o lume modernă unde infractorii sunt înarmați cu calculatoare în locul creioanelor
cum poți să criptezi mesaje atat de securizate
încăt sunt prea greu de spart?
Prea greu înseamnă că sunt prea multe posiblități de calculat în timp rezonabil.
Comunicațiile azi sunt criptate folosind chei de 256 de biți.
Înseamnă că unui calculator al unui infractor care interceptează mesajul
i-ar trebui atăt de multe posibilități
cănd descoperă cheia și decripteaza mesajul.
Chiar dacă ai avea 100.000 de super-calculatoare
si fiecare dintre ele ar putea să încerce un milion de miliarde de chei pe secundă
ar lua trilioane și trilioane ani să încerce fiecare opțiune
doar ca să spargă un singur mesaj protejat cu criptare de 256 de biți.
Componentele unui PC devin dublu mai rapide și scad jumatate din mărime pe an.
Dacă acest ritm de progres exponențial continuă
problemele imposibile de azi vor fi rezolvabile în cateva sute de ani în viitor
si 256 de biți nu vor fi destul de siguri.
A trebuit să creștem lungimea standard a unei chei
pentru a ține pasul cu creșterea rapidă a calculatoarelor.
Veștile bune sunt că o cheie mai lungă nu face mesajul criptat mai greu
dar crește exponențial numărul de încercări necesare pentru a sparge un cifru.
Cănd expeditorul și destinatarul folosasc aceeași cheie să cripteze și să decripteze
se numește Criptare Simetrică.
Cu Criptarea Simetrică, ca și Cifrul lui Cezar
cheia secretă trebuie sa fie agreată din timp de doi oameni în privat.
E minunat pentru oameni, dar internetul e deschis și public
deci e imposibil ca doua calculatoare să se "întalnească" în privat
și sa cadă de acord asupra unei chei secrete.
În schimb, calculatoarele folosesc Criptare Asimetrică
o cheie publică ce fi schimbată cu oricine
si o cheie privată care nu este impărtășită.
Cheia Publică este folosită să cripteze date
și oricine poate să o folosească să creeze un mesaj secret
dar secretul poate fi descifrat doar de un calculator cu acces la cheia privată.
Funcționează cu ajutorul matematicii, de care nu ne legăm acum.
Imaginează-ți ca ai o cutie poștală proprie, unde oricine poate depozita corespondență
dar le trebuie o cheie să o facă.
Acum poți sa faci multe copii ale cheii depozitate și să trimiți una unui prieten,
sau chiar sa o faci publică.
Prietenul tău sau un străin poate folosi cheia publică să acceseze slotul tau
și să lase un mesaj.
Dar doar tu poți sa deschizi cutia poștală cu cheia ta privată
să accesezi toate mesajele secrete primite
și poți sa trimiți un mesaj sigur prietenului tău folosind cheia de depozit publică.
În acest mod oamenii pot să schimbe mesaje între ei în siguranță făra cheie.
Criptologia Cheii Publice este fundația tuturor mesajelor sigure
pe internetul deschis
Inclusiv protocoalele de securitate cunoscute ca SSL și TLS
care ne protejează cănd navigăm pe internet.
Calculatorul tău folosește asta azi, oricănd vezi micul lacăt
sau literele https în adresa unui site.
Asta inseamnă că calculatorul tău folosește cheia de criptare publică
să schimbe date sigur cu website-ul pe care ești.
Din ce în ce mai mulți oameni folosesc internetul
și din ce în ce mai multe date private vor fi transmise
iar nevoia de a securiza datele va fi din ce în ce mai importantă.
Și cum calculatoarele devin din ce în ce mai rapide
vom avea nevoie sa dezvoltăm noi modalități să facem criptarea prea greu de decodat.
Asta fac eu în munca mea și mereu se schimbă.