Algoritmii criptografici sunt secvențe de procese, sau reguli, utilizate pentru a cifra și descifra mesajele într-un sistem criptografic. În termeni simpli, sunt procese care protejează datele, asigurându-se că persoanele nedorite nu le pot accesa. Acești algoritmi au o mare varietate de utilizări, inclusiv asigurarea tranzacțiilor financiare securizate și autentificate.
Majoritatea algoritmilor de criptare implică utilizarea criptării, care permite celor două părți să comunice, împiedicând în același timp terții neautorizați să înțeleagă acele comunicări. Criptarea transformă textul simplu care poate fi citit de om în ceva de necitit, cunoscut și sub numele de text cifrat. Datele criptate sunt apoi decriptate pentru a le restaura, făcându-le ușor de înțeles pentru partea vizată. Atât criptarea, cât și decriptarea funcționează pe baza algoritmilor.
Există multe tipuri diferite de algoritmi criptografici, deși majoritatea se încadrează într-una dintre cele două clasificări – simetrice și asimetrice. Unele sisteme, totuși, folosesc un hibrid al ambelor clasificări. Algoritmii simetrici, cunoscuți și ca algoritmi cu cheie simetrică sau cheie partajată, funcționează prin utilizarea unei chei cunoscute doar de cele două părți autorizate. În timp ce acestea pot fi implementate sub formă de cifruri bloc sau cifruri de flux, aceeași cheie este utilizată atât pentru criptarea, cât și pentru decriptarea mesajului. Standardul de criptare a datelor (DES) și standardul avansat de criptare (AES) sunt cele mai populare exemple de algoritmi de criptare simetrică.
Algoritmii de criptare asimetrică se bazează pe o pereche de chei – o cheie publică și o cheie privată. Cheia publică poate fi dezvăluită, dar, pentru a proteja datele, cheia privată trebuie ascunsă. În plus, criptarea și decriptarea datelor trebuie să fie efectuate de cheile private și publice asociate. De exemplu, datele criptate de cheia privată trebuie decriptate de cheia publică și invers. RSA este unul dintre cele mai comune exemple ale acestui algoritm.
Algoritmii simetrici sunt de obicei mult mai rapizi decât algoritmii asimetrici. Acest lucru este în mare măsură legat de faptul că este necesară o singură cheie. Dezavantajul sistemelor de cheie partajată este însă că ambele părți cunosc cheia secretă. În plus, deoarece algoritmul utilizat este domeniul public, este de fapt cheia care controlează accesul la date. Din aceste motive, cheile trebuie protejate și schimbate relativ frecvent pentru a asigura securitatea.
În timp ce algoritmii criptografici sunt utilizați pentru a oferi securitate, aceștia nu sunt 100% siguri. Sistemul suboptimal poate fi infiltrat și, ca urmare, informațiile sensibile pot fi compromise. Prin urmare, testarea riguroasă a algoritmilor, în special în raport cu standardele stabilite și punctele slabe identificate, este vitală pentru a asigura cea mai mare securitate.