GnuPG je nástroj pro chráněnou komunikaci. Lze s ním šifrovat dokumenty, autentizovat texty podpisem a také šifrovat elektronickou poštu. GnuPG je založeno na použití kryptografie veřejného klíče. V tomto systému má každý uživatel vlastní pár klíčů - veřejný a neveřejný = tajný. Uživatelův tajný klíč nesmí být nikdy nijak zveřejněn, veřejný klíč může uživatel dát komukoli, s kým chce vést kódovanou komunikaci. Uživatel zašifruje dokument pomocí adresátova veřejného klíče, zašle jej a pouze adresát pomocí svého tajného klíče dokument rozšifruje.
Návod naleznete na The GNU Privacy Handbook Pro ty, kteří příručku nechtějí číst: v shellu spusťte
gpg --gen-key
za typ klíče zvolte 1
(1) DSA and ElGamal (default)
jako velikost klíče zvolte 1024
What keysize do you want? (1024)
vypršení platnosti zvolte na nikdy
Key is valid for? (0)
Dále musíte zadat své osobní údaje:
You need a User-ID to identify your key; the software constructs the user id from Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" Real name:
Celé jméno a příjmení (Enter), komentář ke klíči (Enter) a emailovou adresu (Enter)
Dále musíte vložit co nejheslovatější heslo ke svému tajnému klíči.
You need a Passphrase to protect your private key. Enter passphrase:
Klíče máte vytvořeny. Veškeré zadávané údaje si pečlivě uschovejte, nejlépe mimo počítač.
Ihned po vytvoření páru klíčů musíte provest příkaz
gpg --output revoke.asc --gen-revoke mykey
Zeptá se na jakoukoli specifikaci klíče, zadejte třeba emailovou adresu. Poté se vytvoří ve vašem domovském adresáři soubor revoke.asc, který pečlivě uschovejte, nejlépe vypalte na CD a smažte z vašeho adresáře. V případě, že váš klíč bude kompromitován, zveřejníte tento certifikát o zrušení, aby ostatní věděli, že váš klíč je neplatný.
Abyste mohli šifrovaně komunikovat s ostatními uživateli, musíte jim svůj veřejný klíč poskytnout. Aktuální dostupné klíče zjistíte příkazem
gpg --list-keys
Svůj vlastní veřejný klíč můžete exportovat příkazem
gpg --armor --output mujklic.gpg
který vytvoří soubor mujklic.gpg v ASCII formátu, který můžete zveřejnit na svém webu nebo poslat někomu emailem.
Pokud vám někdo pošle svůj veřejný klíč, můžete ho přidat do svého seznamu příkazem
gpg --import nekdoznamy.gpg
Importovaný cizí veřejný klíč můžete také verifikovat osobně, více na The GNU Privacy Handbook
Libovolné dokumenty můžete šifrovat a dešifrovat pomocí
gpg --output zafifrovany_doc.gpg --encrypt co_sifrovat_doc gpg --output desifrovany_doc --decrypt zasifrovany.gpg
a dále distribuovat emailem nebo na webu.
Šifrované dokumenty můžete posílat přímo pomocí parametrů programu
gpg --output zasifrovany_doc.gpg --encrypt --recipient nekdoznamy@natur.cuni.cz co_sifrovat_doc
Nebo si můžete přečíst návod, jak integrovat podporu GnuPG do poštovního programu pine. Používání GUI poštovních klientů jsem popsal v textu o šifrování.