powinien być tajny. Drugi zwany kluczem publicznym może być powszechnie znany. Jeśli coś zostanie zaszyfrowane przy pomocy klucza prywatnego, to może być odszyfrowane tylko przy pomocy odpowiadającego mu klucza publicznego. Podobnie - jeśli coś zostanie zaszyfrowane przy pomocy klucza publicznego, to może być odszyfrowane tylko przy pomocy odpowiadającego mu klucza prywatnego. Jednak odgadnięcie klucza prywatnego, jeśli znany jest publiczny jest „praktycznie niemożliwe" w sensownym czasie (przy użyciu współczesnych komputerów).
Skąd wziąć parę kluczy? Zajmiemy się tym w punkcie „Klucze publiczne i prywatne". Na razie przyjmijmy, że każdy może wygenerować w pewien sposób parę: klucz publiczny i odpowiadający mu klucz prywatny.
Jeśli zatem chcemy coś (dane, plik) przekazać innej osobie w wersji zaszyfrowanej, to powinniśmy zaszyfrować to kluczem publicznym tej osoby. Ponieważ nikt poza tą osobą nie zna odpowiadającego klucza prywatnego, nikt przesyłki nie odszyfruje (przynajmniej przy użyciu współczesnych komputerów).
Szyfrowanie z kluczem publicznym i prywatnym jest jednak wielokrotnie kosztowniejsze czasowo od szyfrowania z kluczem symetrycznym (przy zachowaniu podobnego stopnia odporności na złamanie szyfru).
Stosowane są algorytmy np. RSA (Rivest, Shamin, Adelman), Diffie-Hellman.
M.in. ze względu na duży koszt czasowy algorytmów z kluczem publicznym są one często stosowane do wymiany (uzgodnienia) kluczy symetrycznych. Przy transmisji dużych porcji danych między komputerami klucze symetryczne powinny być zmieniane (uzgadniane) co pewien czas.
Skrót (hash)
Szyfrowanie dużych porcji danych może być kosztowne i czasem niepożądane. W podpisach cyfrowych (patrz niżej) tworzy się tzw. skrót wiadomości (danych) za pomocą funkcji haszującej (hash function). Skrót (hash, digest) jest zazwyczaj 128 (MD5) lub 160 bitowy (SHA-1). Powszechnie używane algorytmy haszujące to: SHA-1 (Secure Hash Algorithm), MD5 (obecnie już nie polecany).
Cechą charakterystyczną funkcji haszującej jest to, że jeśli w oryginalnej wiadomości (pliku) zmieniony zostanie chociaż jeden bit, to skrót będzie zupełnie inny niż ten, który został utworzony przed zmianą. Algorytmy haszujące są deterministyczne, tzn. dla niezmieniającej się wiadomości (pliku) za każdym razem zostanie utworzony identyczny skrót. Jednak na podstawie skrótu odtworzenie oryginalnej wiadomości (pliku) jest prawie niemożliwe (z wyjątkiem pewnych specjalnych, nietypowych przypadków).
Podpis cyfrowy
Zaszyfrowanie kluczem prywatnym daje gwarancję (a właściwie „bardzo duże prawdopodobieństwo, graniczące z pewnością"), że zaszyfrowana wiadomość pochodzi z odpowiedniego źródła (o ile rzeczywiście znamy jego prawdziwy klucz publiczny a klucz prywatny nie został skradziony).