Intr-un sistem de criptare cu cheie publica si cheie privata, cheia publica este utilizata pentru criptarea datelor trimise, in timp ce cheia privata este utilizata de proprietarul cheii pentru decriptarea lor. Acest lucru face posibila comunicarea securizata intre doua parti fara a fi nevoie de o cheie comuna sau de transmitere a cheilor de criptare intre parti. Exemple de algoritmi foarte utilizati in aceste sisteme sunt RSA si DSA.