PGP (pretty good privacy – cakiem niezła prywatność) jest dostępny w implementacji Gnu pod nazwą gpg.
Instalacja:
Linux: sudo apt install gpg, nakładka graficzna: sudo apt install kleopatra
Windows: Gpg4win, zawiera w sobie nakładkę kleopatra, dostępną niezależnie ze strony OpenPGP.
Program gpg można używać z poziomu polecenia terminala. Pozwala on szyfrować/odszyfrowywać/podpisywać/weryfikować pliki.
W PGP występuje kilka scenariuszy użycia.
generowanie własnych kluczy,
podpisywanie plików, wymaga dostępu do własnego klucza prywatnego,
odszyfrowywanie plików, zaszyfrowanych za pomocą własnego klucza publiczego udostępnionego innym,
instalacja cudzych kluczy publicznych, niezbędnych do szyfrowania i weryfikacji podpisu,
szyfrowanie lub weryfikacja podpisu, wymaga znajomości cudzego klucza publicznego.
Wszystkie operacje PGP można wykonać używając terminala tekstowego. I tak:
generowanie kluczy: gpg --full-generate-key albo w wersji uproszczonej gpg --gen-key
podpisywanie pliku: gpg -s [nazwa pliku],
wersja produkująca podpis odrębnie od pliku (przydatna szczególnie przy podpisywaniu plików binarnych, których struktura nie powinna ulec zmianie): gpg -s -b [nazwa pliku],
wersja gpg --clear-sign pozostawia tekst czytelny dla człowieka, jedynie podpis musi być weryfikowany programem,pliki generowane przez GPG są domyślnie w postaci binarnej. Jeśli mają być w postaci tekstowej, trzeba użyć opcji -a, eksportowanie własnego klucza publicznego: gpg --export [dane klucza]> [nazwa pliku], opcja -a dla postaci tekstowej,
odszyfrowywanie pliku: gpg [nazwa pliku],
instalacja cudzych kluczy publicznych: gpg --import [nazwa pliku],
szyfrowanie: gpg -e [nazwa pliku],
weryfikacja podpisu: gpg [nazwa pliku],
sprawdzenie posiadanych kluczy: gpg --list-keys,
usunięcie klucza prywatnego: gpg --delete-secret-key name.