Criptarea asimetrică explicată în 5 minute sau mai puțin

Informațiile sunt valoroase, iar în mâini nepotrivite, pot provoca daune unei persoane, unui terț sau unei entități organizaționale.

De aceea, avem criptarea, o metodă de a proteja datele în timpul stocării sau în timpul transmiterii lor pe internet.

În acest articol, ne vom concentra asupra criptării asimetrice.

Să începem analiza.

Ce reprezintă Criptarea?

Criptarea este un procedeu informatic prin care datele sunt transformate într-un format ilizibil (cunoscut și sub denumirea de text cifrat). Acest proces se bazează pe algoritmi sofisticați de criptare.

Practic, solicităm computerelor să modifice datele, pentru a le stoca sau transfera în siguranță. Ceea ce înseamnă că numai persoanele autorizate pot avea acces la aceste informații.

În miezul criptării se află cheile criptografice. Acestea sunt generate matematic, fiind calculate pe baza unor parametri de criptare și a unui acord între expeditor și destinatar.

Să luăm un exemplu de criptare simplă.

Să presupunem că tu, pe care-l vom numi Bob, vrei să trimiți un mesaj lui John, un prieten online care apreciază textele codificate.

Bob redactează mesajul, apoi îl procesează printr-un sistem de „criptare”. Algoritmul de criptare folosit este simplu: Bob modifică valoarea ASCII a fiecărui caracter, crescând-o cu 4 puncte, creând astfel textul cifrat.

De exemplu, valoarea ASCII a literei „A” se modifică de la 65 la 69, ceea ce corespunde literei „E”. În sistemul ASCII, „E” are valoarea 69. Urmând acest principiu, Bob creează un mesaj și îl trimite lui John.

Deoarece John și Bob au stabilit deja modul de codificare și decodificare, ei își pot trimite mesaje reciproc.

Așadar, dacă Bob scrie „Hello, John”, textul cifrat rezultat va fi „LIPPS0$NRLR”.

Acțiunea de descifrare a mesajului transmis de Bob este cunoscută sub numele de decriptare.

Pentru o mai bună înțelegere, puteți consulta tabelul ASCII.

Citește și: Cele mai eficiente convertoare de text în ASCII pe care merită să le încerci

Ce este criptarea asimetrică?

Criptarea asimetrică (cunoscută și sub denumirea de criptare cu cheie publică) este un tip de criptare care utilizează două perechi de chei pentru codificare și decodificare:

  • Cheia publică: folosită pentru criptarea mesajelor.
  • Cheia privată: folosită pentru decriptarea mesajelor. Cheia privată este confidențială și cunoscută doar de proprietar.

Cum funcționează, mai exact, criptarea asimetrică?

Să-i readucem în scenă pe Bob și John din exemplul anterior.

Bob își dă seama că metoda sa anterioară de a trimite mesaje criptate către John nu este complet sigură, deoarece oricine ar putea, teoretic, să spargă codul.

De aceea, el alege criptarea asimetrică pentru a-i transmite mesajele lui John în siguranță.

În primul rând, Bob solicită cheia publică a lui John. Pentru că îl cunoaște, poate face asta personal.

În caz contrar, există Directoare de Chei Publice (PKD), unde utilizatorii se pot înregistra și partaja cheile publice. Astfel, oricine vrea să trimită un mesaj securizat, trebuie să obțină cheia publică a destinatarului.

Acum, Bob poate utiliza criptarea asimetrică pentru a codifica mesajul cu cheia publică a destinatarului, în acest caz, cheia publică a lui John.

John primește mesajul și îl decriptează cu cheia sa privată.

Pe de altă parte, este posibil și invers: datele pot fi criptate și decriptate folosind o cheie privată.

Astfel, dacă Bob criptează un mesaj cu cheia sa privată, John îl poate decripta folosind cheia publică a lui Bob!

Criptarea asimetrică funcționează datorită necesității de a avea acces la două chei pentru a funcționa corect. Spre deosebire de criptarea simetrică, unde o singură cheie este folosită atât pentru criptare, cât și pentru decriptare.

Cum funcționează criptografia asimetrică?

Pentru a înțelege pe deplin cum funcționează criptografia asimetrică, este important să analizăm procesul în detaliu.

Mecanismul de bază se bazează pe un algoritm care utilizează o funcție matematică complexă pentru generarea perechilor de chei.

Generarea cheilor variază în funcție de protocolul stabilit între expeditor și destinatar.

Majoritatea instrumentelor și limbajelor de programare includ biblioteci predefinite pentru gestionarea criptografiei. Prin urmare, dacă optați pentru codificarea criptografiei asimetrice, este recomandat să utilizați aceste biblioteci pentru a economisi timp.

Procedura comună, urmată atunci când cineva decide să trimită un mesaj criptat, este următoarea:

➡️ Expeditorul și destinatarul generează chei publice și private pe baza anumitor parametri.

➡️ Expeditorul caută cheia publică a destinatarului în directorul de chei publice.

➡️ Utilizând cheia publică, expeditorul criptează mesajul.

➡️ Apoi, trimite mesajul destinatarului, care îl decriptează cu cheia privată.

➡️ Destinatarul poate răspunde la mesaj, iar procesul se repetă, în sens invers.

Avantajele Criptării Asimetrice

Criptarea asimetrică oferă numeroase avantaje:

  • Autentificarea mesajelor: Criptarea asimetrică facilitează o bună autentificare a mesajelor, permițând verificarea mesajului și a expeditorului. Semnăturile digitale reprezintă un exemplu relevant de utilizare a criptografiei asimetrice.
  • Convenabilitate: Implementarea criptării asimetrice este convenabilă, deoarece distribuirea cheilor este simplă și accesibilă. Cheile publice sunt disponibile, astfel încât expeditorii pot cripta cu ușurință mesajul folosind cheia publică a destinatarului, iar destinatarul poate decripta cu cheia sa privată.
  • Detectarea manipulării: Criptografia asimetrică poate detecta orice formă de manipulare a mesajului în timpul tranzitului.
  • Asigurarea non-repudierii: Metoda funcționează similar documentelor semnate fizic, astfel încât expeditorul nu poate nega transmiterea mesajului.

În continuare, vom analiza dezavantajele criptării asimetrice.

Dezavantajele Criptării Asimetrice

Printre dezavantajele utilizării criptării asimetrice se numără:

  • Viteză redusă: Criptarea asimetrică este lentă, nefiind potrivită pentru transferul de volume mari de date.
  • Chei publice neautentificate: Modelul este deschis, cheile publice fiind accesibile public. Cu toate acestea, nu există o metodă de a verifica autenticitatea cheii generale și asocierea sa cu o anumită persoană. De aceea, utilizatorul este responsabil pentru validarea autenticității acesteia.
  • Cheie privată nerecuperabilă: Nu există o metodă de recuperare a cheii private. Dacă este pierdută, mesajele nu mai pot fi decriptate.
  • Securitate compromisă în cazul scurgerii cheii private: Dacă cheia privată este compromisă, acest lucru poate duce la scurgeri de date sau mesaje.

Acum vom explora câteva dintre cazurile de utilizare ale criptării asimetrice.

Criptare asimetrică: Cazuri de utilizare

#1. Semnături digitale

Semnăturile digitale sunt omniprezente în zilele noastre, utilizând algoritmul Rivest-Shamir-Adleman (RSA). Acesta generează două chei corelate matematic, publică și privată. Semnătura digitală este creată folosind cheia privată și poate fi verificată sau decriptată folosind cheia publică a semnatarului.

#2. E-mail criptat

E-mailurile pot fi transmise în siguranță prin internet. Conținutul e-mailului este codificat cu cheia publică și decriptat cu cheia privată.

#3. SSL/TLS

SSL/TLS este un protocol securizat pentru comunicarea în rețea, care utilizează atât criptarea simetrică, cât și asimetrică pentru a crea o conexiune securizată între expeditor și destinatar.

În majoritatea cazurilor, se folosește criptarea simetrică, dar poate fi necesară și criptografia asimetrică atunci când cele două părți își generează cheile de sesiune, necesitând o criptare asimetrică pentru a confirma identitatea serverului de origine.

#4. Criptomonede

Unul dintre cele mai răspândite cazuri de utilizare a criptografiei asimetrice este cel al criptomonedelor. Cheile publice și private sunt utilizate pentru criptare, cheia publică fiind folosită pentru transferuri, iar cheia privată pentru deblocarea tranzacțiilor și primirea criptomonedelor. Bitcoin este un exemplu popular care utilizează criptare asimetrică.

#5. Navigare criptată

Browserele pot utiliza, de asemenea, criptarea asimetrică pentru a securiza datele în timpul transferului. Atunci când accesați un site web, veți observa protocolul HTTPS înaintea adresei URL. „S” indică faptul că conexiunea este securizată. Pentru a obține o conexiune sigură, browserul inițiază o strângere de mână cu serverul, unde cele două părți convin asupra metodei de criptare a datelor.

Browserele pot folosi criptare simetrică și asimetrică pentru a efectua această strângere de mână, criptarea asimetrică facilitând crearea unei conexiuni sigure.

În practică, browserele utilizează ambele tipuri de criptare pentru a asigura o conexiune sigură.

#6. Partajarea cheilor pentru criptografia simetrică

Criptarea cu chei asimetrice servește și ca metodă de partajare a cheilor simetrice într-o conexiune.

Criptare simetrică vs. asimetrică

Iată principalele diferențe dintre criptarea simetrică și cea asimetrică:

Criptare asimetrică Criptare simetrică
Chei Necesită două chei. Cheia publică criptează mesajul, iar cheia privată îl decriptează (și viceversa). Necesită o singură cheie, folosită atât pentru criptare, cât și pentru decriptare.
Dimensiunea textului cifrat Textul cifrat generat este de dimensiuni similare sau mai mari decât mesajul original. Textul cifrat generat este de dimensiuni similare sau mai mici decât mesajul original.
Algoritmi RSA, ECC, EL, Gamal, Diffie-Hellman sunt algoritmi asimetrici cunoscuți. RC4, DES, 3DES și AES sunt algoritmi simetrici populari.
Viteză și eficiență Procesul de criptare este mai lent, fiind mai puțin eficient pentru transferul unor volume mari de date. Procesul de criptare este mai rapid, eficient pentru transferul de volume mari de date.
Lungimea cheilor Cheile au, de obicei, o lungime de 2048 sau 4096 de biți. Cheile au, de obicei, o lungime de 128 sau 256 de biți.
Scop Poate fi folosită pentru criptarea datelor, autentificare și crearea unui canal de conexiune securizat. Principalul scop este criptarea datelor, fiind foarte eficientă la transferul unor volume mari de informații.

Când este indicată utilizarea criptării asimetrice?

Ar trebui să utilizezi criptarea asimetrică în următoarele cazuri:

  • Când dorești o metodă mai sigură de criptare și trimitere a mesajelor.
  • Când trimiți volume mici de date, deoarece criptarea asimetrică este mai lentă și nu este potrivită pentru transferuri mari.
  • Când dorești să verifici semnături digitale.
  • Când lucrezi cu criptomonede și dorești să autorizezi tranzacții confirmând identitatea.

Concluzii

Criptarea asimetrică este o componentă fundamentală a multor tehnologii, cu o gamă largă de aplicații, de la TLS/SSL la verificarea semnăturilor digitale.

Mai mult, datorită bibliotecilor de criptografie deja disponibile, poți implementa rapid criptografia asimetrică în instrumentele și limbajele de programare preferate. Nu este necesar să reinventezi procesul de criptare.

În continuare, poți consulta un articol detaliat despre criptarea simetrică.