Stiinta care studiaza algoritmica din spatele procesului de criptare si decriptare a informatiilor poarta denumirea de criptologie si se bazeaza pe notiuni matematice complexe. Principiul codificarii este acela ca algoritmul care va prelucra un set de date / informatii va ajunge la un rezultat unic pentru informatia originala, nici-un alt set de date nu va avea acest rezultat final. In informatica, criptarea datelor este folosita oriunde este necesara securitatea transmiterii de informatii confidentiale de la un calculator la altul sau stocarea datelor folosind o parola. Domeniile de aplicabilitate sunt variate, de la institutii guvernamentale si private (bancile) pana la datele personale ale utilizatorilor.
Pentru marirea securitati, in cadrul procesului de criptare au aparut informatii schimbatoare dar care se bazeaza pe acelasi algoritm - numite chei. Cu alte cuvinte, algoritmul este acelasi insa va folosi o cheie de criptare diferita, ceea ce va avea ca rezultat o codificare cu un model de criptare precizat de cheia de criptare. Exista doua tipuri de criptare: simetrica si asimetrica. Criptarea simetrica va folosi o aceasi cheie atat pentru criptarea dar si pentru decriptarea datelor - cine are cheia poate codifica si decodifica informatii in acelasi timp. Al doilea tip este mai complex decat primul pentru ca foloseste doua chei, una publica - de criptare, si alta privata - de decriptare. Dupa cum ii spune si numele, cheia publica, este vizibila oricui si este folosita pentru a codifica datele. Decodificarea datelor va necesita o cheia privata care ii corespune cheii publice in mod unic - daca se cunoaste datele codificate si cheia publica cu care s-a facut codificarea nu se va putea decodifica datele. Uzual, cheile publice sunt stocate vizibil si pot fi distribuite public in timp ce cheile private sunt generate prin intermediul unei parole.