Criptare Asimetrică
Criptarea asimetrică presupune folosirea unei perechi de chei: una pentru encriptie, cealaltă pentru decriptie. Ambii participanți la trafic au câte o pereche de chei. Cheia de encriptie este o cheie publică, absolut oricine o poate cunoaște și o poate folosi pentru a encripta un mesaj. Cheie de decriptie este o cheie privată (secretă), cunoscută doar de proprietarul ei, acesta putând să o folosească pentru a decripta mesaje encriptate cu cheia să publică.
Astfel, pentru orice pereche de chei (P, S) și orice mesaj M, trebuie să se respecte următoarea egalitate:
- D(E(M, P), S) = M
În unele sisteme de criptare asimetrică, este posibilă și encriptarea cu cheie secretă, decriptarea cu cheie publică:
- D(E(M, S), P) = M
Presupunem că Alice vrea să-i trimită lui Bob mesajul M:
- Alice obține cheia publică PB a lui Bob (e.g. o cere explicit printr-un mesaj)\
- Alice calculează un cifru C = E(M, PB)\
- Alice trimite C către Bob.\
- Bob primește C și aplică algoritmul de decriptie pe cifrul primit și pe cheia să secretă pentru a recupera mesajul original M = D(C, SB)
Deoarece Bob e singură persoană care cunoaște SB, este singurul care poate decripta C. Nici măcar Alice nu mai poate recupera mesajul original din C. Similar, dacă Bob dorește să trimită un răspuns, el trebuie să obțînă cheia publică a lui Alice.

Un algoritm de criptare asimetrică larg utilizat este RSA.
Notă:
Pentru sistemele de criptare asimetrică, există problema: cum putem fi siguri că cheia publică primită chiar aparține cui credem că aparține? (un atacator ar putea folosi un atac Man-in-the-Middle pentru a ne livra propria să cheie).