Samej podpisywanej wiadomości (danych) nie musi się szyfrować. Generowany jest jej skrót (z użyciem funkcji haszującej) i ten skrót szyfrowany jest z wykorzystaniem klucza prywatnego osoby podpisującej. Zaszyfrowany skrót stanowi podpis cyfrowy. Niezaszyfrowana wiadomość może być przesłana jawnie razem z zaszyfrowanym skrótem (czyli podpisem cyfrowym).
Odbiorca wykonuje dwie czynności. Po pierwsze odszyfrowuje skrót używając klucza publicznego nadawcy (klucz ten jest powszechnie znany, a w każdym razie dostępny). Po drugie, odbiorca tworzy skrót wiadomości używając tej samej funkcji haszującej. Jeśli wyniki obu operacji są identyczne, to znaczy, że wiadomość na pewno („prawie na pewno") podpisał określony nadawca (bo prawidłowy skrót dało się odszyfrować za pomocą klucza publicznego nadawcy), a ponadto nikt po tej wiadomości nie zmienił już po podpisaniu (gdyż w takim wypadku jej skrót utworzony przez odbiorcę byłby zupełnie inny niż ten przesłany w wersji zaszyfrowanej przez nadawcę).
Oczywiście po podpisaniu dodatkowo możemy wiadomość (plik) zaszyfrować, ale to nie należy już do samego podpisu. Jeśli wiadomość (plik, przesyłane dane) jest duża, to najlepiej szyfrować go okresowo zmienianym kluczem symetrycznym, przy czym samo uzgodnienie kluczy jest realizowane przy pomocy szyfrowania z kluczem publicznym i prywatnym.
Klucze publiczne i prywatne, infrastruktura kluczy publicznych (Public Key Infrastructure - PKI)
Skąd można wziąć klucz prywatny i publiczny? Klucze mogą być generowane na komputerze lokalnym przy pomocy odpowiedniego oprogramowania i powinny być podpisane przez jakieś centrum certyfikacyjne. Centrum certyfikacyjne (inaczej: urząd certyfikacji, ang. CA -Certification Authority) wydaje tzw. certyfikaty cyfrowe.
Certyfikat zawiera m.in.:
Identyfikator osoby/firmy/obiektu
Identyfikator Centrum certyfikacyjnego (CA), który wydał certyfikat Numer identyfikacyjny certyfikatu
Cel stosowania (np. podpisywanie bezpiecznych stron WWW albo podpisywanie listów elektronicznych)
Wartość klucza publicznego
Okres ważności
Podpis cyfrowy wydawcy (CA)
Jest kilka standardów certyfikatów: X.509 (główny standard), PGP, GPG (system darmowy).
Jeśli ufamy danemu wydawcy (CA), to ufamy, że zawarty w certyfikacie klucz publiczny (np. pewnej osoby, serwera WWW lub adresu pocztowego) jest rzeczywiście prawdziwy. W systemach operacyjnych oraz różnych programach (np. przeglądarkach internetowych) jest wpisana lista zaufanych tzw. głównych urzędów certyfikacji oraz lista pośrednich urzędów certyfikacji, których certyfikaty są podpisane przez główne urzędy. Poprzez panel sterowania (w opcjach internetowych) można przeglądać i zarządzać listą zaufanych wydawców i dodawać do tej listy certyfikaty swoich zaufanych urzędów certyfikacji.
7