GPG is a common, open-source PGP implementation.

Generating a keypair

The following commands will create a new key and revocation certificate. You’ll need to keep your revocation certificate secure so that you can invalidate your key if it is ever compromised.

$ gpg --gen-key
$ gpg --gen-revoke --armor --output=<filename>.asc <email>

Importing a Public Key

In order to communicate with someone else, you’ll need to know their public key. There are a few ways to import this.

Import from a file

$ gpg --import <filename>

Import from a key server

$ gpg --keyserver --search-keys <email>
$ gpg --keyserver --recv-keys <fingerprint>