GnuPG je PGP softver izdan pod GNU GPL licencom i postoji u verzijama za sve zastupljenije platforme (Windows, Unix, MacOS X, …). Program i pripadajuća dokumentacija se mogu skinuti sa stranica: http://gnupg.org/ . GnuPG programski paket se koristi iz naredbene linije, ali postoje razni dodaci koji omogućuju korištenje preko grafičkog sučelja ili integraciju s e-mail, IM i ostalim klijentskim programima.
Za kreiranje para ključeva (privatnog i javnog) potrebno je pokrenuti sljedeću naredbu:
gpg --gen-key
Nakon toga je potrebno odabrati algoritam, preporučeno DSA/ElGamal jer se najčešće koristi i nije patentiran. Iduće pitanje je vezano za veličinu ključa. Kod odabira veličine treba se voditi pravilom da veći ključ znači i veću sigurnost, dok s druge strane uzrokuje slabije performanse. 2048 bita je standardna veličina za DSA algoritam. Iduće pitanje se odnosi na podatke o vlasniku ključa: ime i prezime, e-mail adresu i komentar. Posljednje pitanje se odnosi na unos tajne lozinke (passphrasea, budući da su razmaci dozvoljeni). Lozinka povećava sigurnost tajnog ključa i treba biti što dulja i kompleksnija.
Izvoz ključa obavlja se naredbom:
gpg -a --export [UID]
gdje je UID oznaka vlasnika ključa (ime ili e-mail adresa). Opcija -a služi za izvoz ključa u ASCII obliku umjesto binarnog.
Uvoz ključa obavlja se naredbom:
gpg --import [Filename]
gdje je Filename ime datoteke u kojoj se nalazi ključ. Ako se izostavi, program će ključ čitati sa standardnog ulaza.
Enkripcija se obavlja naredbom:
gpg -e [Filename]
gdje je Filename ime datoteke koju želimo kriptirati. Nakon toga će program tražiti da unesemo primatelje. Osim kriptiranja poruku je moguće i potpisati s opcijom -s:
gpg -s -e [Filename]
Za dekriptiranje je potrebno pokrenuti naredbu:
gpg [-d] [-o FIlename] [Data]
Opcija -o se navodi za ispisivanje rezultata u datoteku Filename umjesto na standardni izlaz. Data je datoteka koju želimo dekriptirati.