PGP Setup

This document is for people new to using PGP, or Pretty Good Privacy. Neo Tokyo requires PGP to log in, so if you don't know how to use it, please learn it right now -- it's painless, we promise.

What is PGP?

PGP is a way to ensure only you and the person you are sending information to can read your message. It consists of a "key pair", which consists of a private key and its corresponding public key. The private key decrypts messages and files that are encrypted with the public key.

Never give anyone your private key. Only give people your public key.

How PGP Works

When you want to send someone an encrypted message, you use their public key to encrypt your message. Then you copy and paste the encrypted message into an email and send it to them. When they want to read the message, they use their private key to decrypt the message. With this system, only they can read your message after you encrypted it with their public key.

The same works in reverse. When someone wants to send you a message, they use your public key to encrypt it and then email it to you. Once you receive the encrypted message, you use your private key to decrypt it.

Examples

How To Get Started Using PGP

In order to use PGP, you need a PGP app installed on your system.

If you are on linux, use yum or aptitude to install gpg from the repository.

yum install gpg

or

sudo apt-get install gpg

(yes, gpg is not a typo -- it stands for Gnu Privacy Guard and is just an app that performs PGP encryption.)

If you are on Windows, we suggest you uninstall Windows and switch to Linux due to the number of security problems and limitations of the Windows operating system. We suggest Ubuntu if you are new to linux. Ubuntu is free and very well supported online. For optimal security, we suggest installing Tails on a USB stick. However, if you insist on using Windows, you can install gpg4win.

On Mac, your homebrew repository should have gpg.

brew install gpg

If you don't have Homebrew installed, you may get an error about the 'brew' command not found.

To install Homebrew:
1. Open the “Terminal” application, found in /Applications/Utilities/
2. Enter the following command into a single line of the terminal:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Then try installing gpg with the brew command above.

Basic GPG Commands

Here are a few basic commands to use PGP encryption.

Create a new key pair:

gpg --generate-key

Export your public key:

gpg --armor --export your@email.com > yourname.pub

Import someone else's public key:

gpg --import theirpublickey.asc

List keys currently in your keyring:

gpg --list-keys

Encrypt a file:

gpg -aes -r their@email.com message.txt

Decrypt a file that was encrypted with your public key:

gpg --decrypt message.txt


There are many more gpg commands for managing your encryption with PGP, but this is a basic start for newbies.