Simetric, Asimetric, Hash și altele…

Criptografia este o tehnică de securizare a informațiilor și comunicării prin utilizarea unui set de calcule bazate pe reguli numite algoritmi și a unor concepte matematice, astfel încât doar persoana potrivită să le poată înțelege.

Este util pentru a preveni accesul neautorizat la informații.

Cuvântul „criptografie” este derivat din cuvântul grecesc kryptos, care înseamnă ascuns. Cuvântul „crypto” înseamnă „ascuns”, iar „graphy” înseamnă „scriere”.

În acest articol, voi acoperi elementele de bază ale principiilor criptografiei, voi explora diverse tipuri cu exemple, voi discuta provocările și voi privi tendințele viitoare. Îmi propun să ofer o imagine de ansamblu cuprinzătoare, acoperind atât conceptele majore, cât și cele minore.

Criptografia securizează comunicarea și informațiile digitale în diverse sisteme și aplicații, asigurând confidențialitatea și securitatea datelor. Protejează datele împotriva accesului neautorizat.

Să vedem ce se întâmplă în criptografie:

  • Procesul începe cu expeditorul care are de trimis un mesaj sau date.
  • Textul simplu (mesajul original) este apoi convertit într-un format care nu poate fi citit folosind o metodă numită criptare.
  • Receptorul folosește o cheie pentru a converti textul cifrat (format care nu poate fi citit) înapoi într-un format care poate fi citit, proces cunoscut sub numele de decriptare.
  • Mesajul decriptat este din nou în text simplu și este același cu mesajul original trimis de expeditor.
  • Receptorul are acum mesajul original.
  • Acum, să explorăm principiile fundamentale ale criptografiei.

    Principii de bază ale criptografiei

    Există patru principii principale ale criptografiei:

    #1. Confidențialitate: numai destinatarul vizat poate accesa informațiile; rămâne privat pentru alții.

    #2. Integritate: informațiile nu pot fi modificate în timpul stocării sau transmisiei fără detectarea vreunei modificări.

    #3. Nerepudierea: expeditorul nu poate nega trimiterea informațiilor mai târziu.

    #4. Autentificare: confirmă atât identitățile expeditorului, cât și ale destinatarului și verifică sursa și destinația informațiilor.

    Înainte de a continua, să trecem peste un vocabular de bază.

    Glosar:

    WordMeaningCryptographyEste o tehnică de securizare a informațiilor și a comunicării prin utilizarea unui set de calcule bazate pe reguli numite algoritmi și a unor concepte matematice, astfel încât doar persoana potrivită să o poată înțelege. în ciphertextPlaintextFormă originală, necriptată de date sau textCiphertext Date criptate (o formă codificată a datelor) sau textDecryption Procesul invers de conversie a textului cifrat înapoi în text simplu folosind cheia de decriptareKeyO cheie este o informație, de obicei o secvență de biți, care este utilizată pentru a controla procesul de criptare și decriptare. Schimb de cheiTransferul securizat al cheilor de criptare între expeditor și destinatar. Glosar de criptare

    Există trei tipuri fundamentale de criptografie:

  • Criptografie cu cheie simetrică
  • Criptografie cu cheie asimetrică
  • Funcția Hash
  • Criptografie cu cheie simetrică

    Criptografia cu cheie simetrică, denumită și criptare cu cheie unică, este o tehnică de criptare care se bazează pe o singură cheie secretă atât pentru criptarea, cât și pentru decriptarea datelor.

    În această metodă, atât expeditorul, cât și receptorul trebuie să utilizeze exact aceeași cheie secretă pentru a înțelege datele. Funcționează prin schimbarea datelor normale în cod secret (text cifrat) folosind cheia secretă și un proces matematic specific.

    Când receptorul, care cunoaște și cheia secretă, primește mesajul codificat secret, poate folosi același proces matematic pentru a-l transforma înapoi în date normale. În acest fel, receptorul primește informațiile originale din codul secret.

    Criptografie simetrică

    Să înțelegem procesul prin următorii pași:

    • Algoritmul convertește textul original (text simplu) în text cifrat folosind o cheie secretă.
    • Apoi, expeditorul trimite acel text cifrat destinatarului prin canalul de comunicare. Acest canal de comunicare să fie privat sau public.
    • Destinatarii folosesc aceeași cheie secretă pentru a decripta acel text cifrat și pentru a-l converti în text original.

    Acest proces de criptare simetrică asigură că comunicarea dintre expeditor și destinatar rămâne securizată. Dar cheia secretă trebuie să fie confidențială.

    Pentru a menține confidențialitatea și integritatea, ambele părți trebuie să gestioneze și să protejeze în siguranță această cheie secretă.

    Există două tipuri de cifruri de criptare simetrice:

  • Stream Cipher
  • Block Cipher
  • Transmiteți în flux CipherBlock CipherCriptați datele în blocuri cu lungime fixă ​​În timp ce datele sunt criptate, sistemul le păstrează în memorie, așteptând până când blocurile complete sunt gata pentru procesare. Criptează datele câte un bit sau un octet. biți sau mai mult de 64 de biți ai cheii Mai complex decât cifrul bloc Mai simplu decât cifrul flux Criptează datele în blocuri cu lungime fixă ​​Lentă și potrivită pentru aplicații offline Folosește modurile CFB și OFB Folosește modurile ECB și CBC. Cifrarea fluxului vs Cifrarea blocurilor

    Câteva exemple de algoritmi de criptare simetrică includ:

    • AES (Advanced Encryption Standard): Este cunoscut pentru securitatea și eficiența sa. Este folosit în mod obișnuit pentru a securiza date sensibile, cum ar fi securitatea wireless, cloud computing, servicii bancare și comerțul electronic.
    • DES (Standard de criptare a datelor): este o metodă mai veche de criptare care a fost înlocuită cu AES și 3DES. Folosește o cheie pe 56 de biți.
    • IDEA (International Data Encryption Algorithm): Folosește o cheie de 128 de biți și este utilizat în diverse aplicații.
    • Blowfish: algoritm conceput ca un înlocuitor pentru DES sau IDEA.
    • RC4 (Rivest Cipher 4): Dezvoltat de Ron Rivest. Este cunoscut pentru simplitatea și viteza sa, dar are unele probleme de securitate în anumite implementări.
    • RC5 (Rivest Cipher 5): este conceput pentru a fi eficient și sigur, cu o dimensiune variabilă a blocului și a cheii.
    • RC6 (Rivest Cipher 6): este conceput pentru a oferi securitate și performanță îmbunătățite în comparație cu versiunile anterioare.

    AES, DES, IDEA, Blowfish, RC5 și RC6 sunt cifruri bloc.

    RC4 este un Stream Cipher.

    Avantajele Criptografiei cu chei simetrice

    • Este mai rapid și mai eficient decât criptografia asimetrică
    • Dimensiunea cheii este mică, ceea ce permite generarea de cifruri mai puternice.
    • Este relativ eficient din punct de vedere al costurilor să produci chei puternice pentru cifruri.
    • AES este unul dintre algoritmii siguri.

    Dezavantajele criptografiei cu chei simetrice

    • Partajarea în siguranță a cheilor de criptare cu toate părțile care trebuie să comunice în siguranță este o provocare majoră a criptografiei simetrice.
    • Securitatea întregului sistem poate fi încălcată dacă cheia este interceptată sau compromisă de către un atacator în timpul transmiterii.
    • Sistemele de criptare simetrică necesită practici atente de gestionare a cheilor. Aceasta include generarea, stocarea, actualizarea și revocarea cheilor. Administrarea greșită a cheilor poate duce la încălcări de securitate.
    • Atacatorii pot intercepta cheile schimbate pe un canal nesigur, ceea ce duce la compromiterea comunicării.

    Cu toate acestea, criptarea simetrică este o parte esențială a criptografiei moderne și este utilizată pe scară largă în multe aplicații, în ciuda dezavantajelor sale.

    Practicile puternice de gestionare a cheilor și metodele securizate de schimb de chei pot ajuta la depășirea unora dintre provocările criptografiei simetrice.

    Criptografie cu cheie asimetrică

    Criptografia asimetrică folosește perechi de chei – una privată păstrată secretă și una publică partajată în mod deschis. Puteți folosi cheia publică a cuiva pentru a cripta un mesaj și numai ei îl pot decripta cu cheia privată.

    Această metodă sporește securitatea digitală, permițând comunicarea în siguranță fără a partaja chei secrete, ceea ce este crucial în lumea noastră online.

    Acest lucru este util pentru comunicarea în siguranță, deoarece destinatarii au nevoie doar de cheia dvs. publică. Elimină riscul de a partaja o cheie simetrică secretă.

    Acești „algoritmi cu cheie publică” folosesc o pereche de chei pentru securizarea datelor.

    Iată o defalcare mai simplă:

    Criptografie simetrică vs asimetrică

    • Sunt două chei. O cheie publică, pe care toată lumea o poate accesa, și o cheie privată, care este ținută secretă.
    • Cheia publică este folosită pentru a cripta sau bloca datele.
    • Cheia privată este folosită pentru a decripta sau debloca datele.

    Este important să înțelegeți că nu puteți afla cheia privată din cheia publică. De asemenea, cheile publice sunt de obicei legate de identități de către organizații cunoscute sub numele de autorități de certificare.

    Comunicare sigură Expeditorul și destinatarul au schimbat un mesaj securizat fără a-și compromite cheile private.

    Acești algoritmi se bazează pe probleme matematice precum factorizarea întregilor și logaritmi discreti pentru a crea semnături digitale și pentru a stabili/distribui chei de sesiune, cum ar fi protocolul TLS.

    Câteva exemple de algoritmi de criptare asimetrică includ:

    • RSA (Rivest-Shamir-Adleman): RSA este unul dintre cei mai folosiți algoritmi de criptare asimetrică. Se bazează pe proprietățile matematice ale numerelor prime mari și este folosit în mod obișnuit pentru schimbul securizat de chei și semnături digitale.
    • Criptografie cu curbe eliptice (ECC): se bazează pe structura algebrică a curbelor eliptice pe câmpuri finite. ECC oferă avantajul unor chei de dimensiuni mai mici în comparație cu criptografia non-EC care se bazează pe câmpuri simple Galois. ECC este folosit în principal pentru a genera numere pseudoaleatoare și semnături digitale.
    • Schimb de chei Diffie-Hellman: Acest algoritm este utilizat pentru schimbul de chei securizat. O cheie creată folosind această metodă poate fi utilizată pentru criptare cu un algoritm simetric. Scopul principal al lui Diffie-Hellman este de a permite două părți să creeze o cheie secretă partajată printr-un canal de comunicare nesigur.

    Avantajele Criptografiei Asimetrice

    • Criptarea asimetrică oferă o securitate mai puternică în comparație cu criptografia simetrică.
    • Destinatarul poate verifica identitatea expeditorului.
    • Criptarea asimetrică a rezolvat problema legată de distribuția cheilor, pe care am menționat-o în dezavantajele criptografiei cu chei simetrice.
    • Destinatarii mesajului pot detecta dacă mesajul a fost modificat în timpul tranzitului.

    Dezavantajele Criptografiei cu chei asimetrice

    • Criptarea asimetrică este un proces mai lent decât criptografia simetrică.
    • Criptarea și decriptarea asimetrice necesită mai multe resurse de calcul decât criptografia simetrică.
    • Criptografia asimetrică se bazează pe chei publice și private. Gestionarea în siguranță a acestor chei poate fi complexă și provocatoare, în special în sistemele la scară largă.
    • Cel mai semnificativ dezavantaj potențial al criptografiei asimetrice este vulnerabilitatea sa la computerele cuantice. Calculatoarele cuantice au potențialul de a rezolva anumite probleme matematice, cum ar fi factorizarea întregilor și logaritmii discreti, mult mai eficient decât calculatoarele clasice.

    Dar, nu trebuie să vă faceți griji, organizațiile și cercetătorii lucrează pentru a trece la aceste tehnici criptografice rezistente la cuantum.

    Să trecem la următorul nostru tip de criptografie:

    Funcția Hash

    Funcțiile hash criptografice sunt diferite de alte tipuri de criptografie. Ei nu criptează datele. În schimb, folosesc matematică complexă pentru a transforma orice date într-un cod unic format din litere și cifre.

    Aceste coduri se numesc coduri hash, valori hash sau rezumate de mesaje. Sunt importante pentru a verifica dacă datele sunt sigure; atunci când datele sunt trimise sau stocate, codul său hash este calculat și trimis sau păstrat împreună cu datele.

    Destinatarul poate recalcula codul datelor pe care le-a primit și îl poate verifica cu cel trimis. Dacă codurile se potrivesc, înseamnă că datele au rămas în siguranță în timpul transmiterii și stocării.

    Iată o explicație simplă, pas cu pas:

    Funcția Hash

    Partea expeditorului:

  • Expeditorul folosește o funcție hash pentru a crea o valoare hash unică pentru datele furnizate.
  • După crearea valorilor hash, expeditorul trimite atât mesajul original, cât și codul hash către receptor printr-un canal nesigur.
  • Partea receptorului:

  • Destinatorul primește mesajul și codul hash.
  • De asemenea, receptorul folosește același instrument special (funcția hash) pentru a crea un nou cod hash pentru mesajul primit.
  • Receptorul compară noul cod hash cu cel trimis de expeditor.
  • Rezultat:

    • Dacă codurile hash se potrivesc, înseamnă că mesajul nu a fost modificat în timpul transmiterii și este considerat sigur.
    • Dacă codurile hash nu se potrivesc, sugerează că mesajul ar fi putut fi schimbat și nu este considerat sigur.

    Iată câteva dintre proprietățile care fac funcțiile hash utile:

    Proprietăți ale funcției Hash:

  • Determinist: Dacă dați aceeași intrare, va produce întotdeauna aceeași ieșire.
  • Uniformitate și fără coliziune: O funcție hash bună ar trebui să producă ieșiri distribuite uniform. Ajută la evitarea coliziunilor.
  • Eficiente: funcțiile Hash sunt concepute pentru a fi eficiente din punct de vedere computațional, permițându-le să proceseze rapid cantități mari de date.
  • Ieșire cu dimensiune fixă: produce o ieșire cu dimensiune fixă, indiferent de dimensiunea intrării. Această proprietate este esențială deoarece permite stocarea și recuperarea eficientă a datelor.
  • Funcțiile hash au multe aplicații în informatică și securitatea informațiilor, inclusiv criptografia, verificarea integrității datelor, indexarea datelor, amprentarea datelor, stocarea parolelor, criminalistica digitală și blockchain.

    Funcțiile hash criptografice utilizate în mod obișnuit includ:

    Există două familii de funcții hash criptografice utilizate pe scară largă – familia MD (MD = mesaj digest) și familia SHA (SHA = algoritm de hash securizat).

    • SHA-1 (Secure Hash Algorithm 1): A fost una dintre funcțiile hash populare. Cu toate acestea, SHA-1 este acum considerat slab din cauza vulnerabilităților care permit atacuri practice de coliziune. Nu mai este folosit pentru majoritatea aplicațiilor de securitate.
    • MD5 (Message Digest Algorithm 5): MD5 a fost popular în trecut, dar acum este considerat slab din cauza vulnerabilităților la coliziune. În general, nu este utilizat pentru aplicații sensibile la securitate.
    • SHA-3: SHA-3 este o familie mai nouă de funcții hash selectate printr-o competiție de către Institutul Național de Standarde și Tehnologie (NIST). Oferă securitate puternică și este conceput pentru a fi rezistent la anumite tipuri de atacuri.

    Chiar dacă funcțiile hash nu criptează mesajele, ele sunt o parte integrantă a criptografiei, deoarece joacă un rol crucial în securizarea și autentificarea datelor, care sunt obiective cheie în criptografie.

    Avantajele funcției Hash

    • O funcție de hash sigură garantează o rezistență ridicată la coliziune.
    • Două fișiere pot fi comparate cu ușurință pentru egalitate prin hashing.
    • Funcțiile hash sunt incredibil de rapide și eficiente.
    • În DBMS, hashingul este folosit pentru a căuta locația datelor fără a utiliza o structură de index.

    Dezavantajele funcției Hash

    • Funcțiile hash pot funcționa mai puțin eficient atunci când există numeroase coliziuni.
    • Nu sunt permise valori nule.
    • Implementarea tabelelor hash poate fi o sarcină dificilă datorită complexității lor.
    • În practică, este aproape imposibil să previi în întregime coliziunile hash atunci când ai de-a face cu un set mare de chei potențiale.

    Citește și: Cum să te protejezi de un atac de masă Rainbow

    Aplicații reale ale criptografiei

    • Autentificare/semnături digitale: autentificarea este procesul vital de confirmare a autenticității datelor, verificarea sursei unui document, validarea identității expeditorului, acuratețea marcajului de timp și asigurarea legitimității identităților computerului sau utilizatorului. Semnăturile digitale folosesc metode criptografice care implică o funcție hash și o cheie privată pentru validarea și semnarea în siguranță a documentelor.
    • Criptare stocare în cloud: Criptografia este folosită pentru a securiza fișierele stocate în cloud și în timpul transmiterii către și de la serviciile cloud.
    • Bani electronice: banii electronici implică transferuri electronice de fonduri între părți, care pot fi debit sau credit, fie anonime, fie identificate. Utilizează criptarea, semnăturile digitale și criptarea cu cheie publică pentru securitate, permițând diferite tipuri de tranzacții.
    • Criptare/Decriptare în e-mail: criptarea e-mailului protejează conținutul de e-mail împotriva accesului neautorizat folosind criptografia cu cheie publică. Fiecare utilizator are o pereche de chei publice și private, cu cheia publică folosită pentru criptare și numai cheia privată poate decripta mesajul.
    • Criptare în WhatsApp: WhatsApp utilizează protocolul de semnal pentru criptare, combinând criptografia cu chei simetrice și asimetrice pentru confidențialitate, integritate, autentificare și non-repudiere. Algoritmii bazați pe Curve25519 sunt utilizați pentru schimbul de chei.
    • Criptare în Instagram: comunicarea Instagram este criptată folosind SSL/TLS prin portul 443, prevenind interceptarea datelor schimbate între utilizator și serverele Instagram.
    • Autentificare cartelă SIM: autentificarea cartelei SIM implică verificarea accesului cartelei SIM la rețea prin generarea unui număr aleator și aplicarea unor algoritmi precum A3 cu cheia secretă Ki. Criptarea se bazează pe algoritmul A8 și pe cheia de sesiune KC, utilizate împreună cu algoritmul A5 pentru criptarea/decriptarea datelor.

    Provocări în criptografie

    • Gestionarea cheilor rămâne o provocare, deoarece distribuirea și gestionarea în siguranță a cheilor de criptare este complexă, în special în sistemele la scară largă. Mecanismele de stocare și recuperare cheie trebuie să fie robuste.
    • Criptografia simetrică poate deveni ineficientă atunci când mulți utilizatori trebuie să comunice în siguranță. Fiecare pereche de utilizatori necesită o cheie unică, care poate deveni greoaie pe măsură ce numărul de utilizatori crește.
    • Criptografia asimetrică necesită de obicei chei mai lungi decât criptografia simetrică pentru a atinge același nivel de securitate. Acest lucru poate duce la o procesare mai lentă și la creșterea cerințelor de resurse.
    • Descoperirea vulnerabilităților sau a punctelor slabe în funcțiile hash poate duce la breșe de securitate. Comunitatea criptografică trebuie să analizeze și să adapteze continuu funcțiile hash pentru a atenua astfel de riscuri.
    • În aplicațiile în care funcțiile hash sunt utilizate pentru stocarea parolelor, este necesară o scădere adecvată a parolelor pentru a preveni atacurile de tip curcubeu. Provocarea constă în a ne asigura că sărurile sunt unice și secrete.
    • Apariția calculului cuantic reprezintă o provocare semnificativă pentru lumea criptografiei. Calculatoarele cuantice sunt excepțional de rapide în rezolvarea unor probleme matematice specifice, valorificând principiile particulare ale fizicii cuantice pentru abilitatea lor extraordinară de calcul.

    Această viteză amenință fundația sistemelor noastre criptografice actuale, care se bazează pe complexitatea anumitor provocări matematice pentru a asigura securitatea datelor. Calculatoarele cuantice au capacitatea de a rezolva aceste probleme mult mai rapid decât computerele convenționale, putând compromite siguranța metodelor noastre de criptare.

    Principiile de bază ale mecanicii cuantice pe care le utilizează computerele cuantice sunt într-adevăr neobișnuite, dar le oferă puterea de a îndeplini sarcini care sunt dincolo de atingerea computerelor clasice.

    În consecință, nevoia de a dezvolta noi tehnici criptografice care să reziste atacurilor cuantice devine din ce în ce mai presantă, creând o provocare continuă în domeniul criptografiei.

    • Dezvoltarea și adoptarea algoritmilor de criptografie post-cuantică care sunt rezistenți la atacurile cuantice va fi o tendință semnificativă. Sunt explorați algoritmi precum criptografia bazată pe zăbrele.
    • Există o acceptare tot mai mare a criptării bazate pe cloud și a gestionării cheilor, în special în domeniul financiar. Criptarea homomorfă permite calcule pe date criptate fără a le decripta. Acest lucru poate îmbunătăți confidențialitatea în cloud computing și procesarea datelor.
    • Criptografia joacă un rol crucial în securizarea tehnologiei blockchain, iar cele două vor continua să fie împletite în viitor.
    • Odată cu reglementările sporite privind protecția datelor, cum ar fi GDPR, tokenizarea este utilizată mai frecvent în asistența medicală, în serviciile financiare și în întreprinderi. Tokenizarea înlocuiește datele reale cu un token care nu are valoare pentru hackeri.

    Cuvinte finale

    Criptografia este un domeniu vast, cu multe de explorat și am zgâriat doar suprafața acoperind elementele de bază ale criptografiei.

    Am acoperit criptografia, principiile acesteia, tipurile de criptografie, funcțiile hash, provocările, tendințele viitoare și aplicațiile practice.

    Cu toate acestea, mai sunt multe de descoperit.

    În continuare, Cloud Cryptography: un ghid introductiv și Google Cloud Case Study.