X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=en%2Findex.html;h=8ec8a7c48fca9913be41bca4122c82ebb674c31a;hb=4ac42711bb9f6dc8995b49814e2f73a951a08133;hp=3bd8e07e6fddfcf0b391e3634d56cdd047dcf42c;hpb=e6bd00f28078c1d6dbb7906d06101016bcf80a1b;p=enc.git diff --git a/en/index.html b/en/index.html index 3bd8e07e..8ec8a7c4 100644 --- a/en/index.html +++ b/en/index.html @@ -1,657 +1,1209 @@ - - - - - Email Self-Defense - a guide to fighting surveillance with GnuPG encryption - - - - - - - - - - - - - - - -
-
- -
-

#1 Get the pieces

-

This guide relies on software which is freely licensed; it's completely transparent and anyone can copy it or make their own version. This makes it safer from surveillance than proprietary software (like Windows). Learn more about free software at fsf.org.

- -

Most GNU/Linux operating systems come with GnuPG installed on them, so you don't have to download it. Before configuring GnuPG though, you'll need the IceDove desktop email program installed on your computer. Most GNU/Linux distributions have IceDove installed already, though it may be under the alternate name "Thunderbird." Email programs are another way to access the same email accounts you can access in a browser (like Gmail), but provide extra features.

-

If you already have an email program, you can skip to Step 1.b.

-
- - -
- -
-

Step 1.a Set up your email program with your email account

-

Open your email program and follow the wizard (step-by-step walkthrough) that sets it up with your email account.

-

Look for the letters SSL, TLS, or STARTTLS to the right of the servers when you're setting up your account. If you don't see them, you will still be able to use encryption, but this means that the people running your email system are running behind the industry standard in protecting your security and privacy. We recommend that you send them a friendly email asking them to enable SSL, TLS, or STARTTLS for your email server. They will know what you're talking about, so it's worth making the request even if you aren't an expert on these security systems.

- - -
-

Troubleshooting

-
-
The wizard doesn't launch
-
You can launch the wizard yourself, but the menu option for doing so is named differently in each email program. The button to launch it will be in the program's main menu, under "New" or something similar, titled something like "Add account" or "New/Existing email account."
-
The wizard can't find my account or isn't downloading my mail
-
Before searching the Web, we recommend you start by asking other people who use your email system, to figure out the correct settings.
- - -
-
- -
-
- - -
- -
-

Step 1.b Install the Enigmail plugin for your email program

-

In your email program's menu, select Add-ons (it may be in the Tools section). Make sure Extensions is selected on the left. Do you see Enigmail? If so, skip this step.

-

If not, search "Enigmail" with the search bar in the upper right. You can take it from here. Restart your email program when you're done.

- -
-

Troubleshooting

-
- -
I can't find the menu.
-
In many new email programs, the main menu is represented by an image of three stacked horizontal bars.
-
My email looks weird
-
Enigmail doesn't tend to play nice with HTML, which is used to format emails, so it may disable your HTML formatting automatically. To send an HTML-formatted email without encryption or a signature, hold down the Shift key when you select compose. You can then write an email as if Enigmail wasn't there.
- - - -
-
-
-
- -
-
- - -
-
- -
-

#2 Make your keys

-

To use the GnuPG system, you'll need a public key and a private key (known together as a keypair). Each is a long string of randomly generated numbers and letters that are unique to you. Your public and private keys are linked together by a special mathematical function.

- -

Your public key isn't like a physical key, because it's stored in the open in an online directory called a keyserver. People download it and use it, along with GnuPG, to encrypt emails they send to you. You can think of the keyserver as a phonebook; people who want to send you encrypted email can look up your public key.

- -

Your private key is more like a physical key, because you keep it to yourself (on your computer). You use GnuPG and your private key together to descramble encrypted emails other people send to you. You should never share you private key with anyone, under any circumstances.

-

In addition to encryption and decryption, you can also use these keys to sign messages and check the authenticity of other people's signatures. We'll discuss this more in the next section.

-
- - -
- -
-

Step 2.a Make a keypair

-

The Enigmail Setup wizard may start automatically. If it doesn't, select Enigmail → Setup Wizard from your email program's menu. You don't need to read the text in the window that pops up unless you'd like to, but it's good to read the text on the later screens of the wizard. Click Next with the default options selected, except in these instances, which are listed in the order they appear:

-
    -
  • On the screen titled "Encryption," select "Encrypt all of my messages by default, because privacy is critical to me."
  • -
  • On the screen titled "Signing," select "Don't sign my messages by default."
  • -
  • On the screen titled "Key Selection," select "I want to create a new key pair for signing and encrypting my email."
  • -
  • On the screen titled "Create Key," pick a strong password! We recommend the Diceware method, which creates passwords which are both strong and memorable. To use the Diceware method, you will need dice and this list of words. Do not substitute computer dice for physical dice. Notice that each word on the word list corresponds to a unique five-digit number. Roll one die five times, or five dice once, then string the numbers on the dice dice together to create a five-digit number, and then look up the corresponding word.
  • -
  • Repeat this process until you have at least six words, separating each with a space and keeping them all lowercase. You'll end up with a password like "dog help people drive match ice." Don't rearrange or discard the words, because doing so makes the process much less secure.
  • -
  • Diceware passwords are hard to remember until you've typed them in a handful of times. Write down your password and keep it with you at all times until you've got it memorized. Then, destroy the piece of paper.
  • -
  • If you don't have dice, pick a password which is at least twelve characters long, and includes at least one lower case and upper case letter and at least one number or punctuation symbol. Never pick a password you've used elsewhere. Don't use any recognizable patterns, such as birthdays, telephone numbers, pets' names, song lyrics, quotes from books, and so on. Don't forget your password, or all of this work will be wasted!
  • + + + +Email Self-Defense - a guide to fighting surveillance with GnuPG +encryption + + + + + + + + + + + + + + +
- - - - -
-
-

Step 2.b Upload your public key to a keyserver

-

In your email program's menu, select Enigmail → Key Management.

-

Right click on your key and select Upload Public Keys to Keyserver. Use the default keyserver in the popup.

-

Now someone who wants to send you an encrypted message can download your public key from the Internet. There are multiple keyservers that you can select from the menu when you upload, but they are all copies of each other, so it doesn't matter which one you use. However, it sometimes takes a few hours for them to match each other when a new key is uploaded.

- -
-

Troubleshooting

-
-
The progress bar never finishes
-
Close the upload popup, make sure you are connected to the Internet, and try again. If that doesn't work, try again, selecting a different keyserver.
-
My key doesnt appear in the list
-
Try checking "Display All Keys by Default."
-
More documentation
-
If you're having trouble with our instructions or just want to learn more, check out Enigmail's documentation.
- - - - -
-
- - -
-

Advanced

-
-
Uploading a key from the command line
-
You can also upload your keys to a keyserver through the command line. The sks Web site maintains a list of highly interconnected keyservers. You can also directly export your key as a file on your computer.
- -
-
-
-
- - -
-
-

GnuPG, OpenPGP, what?

-

In general, the terms GnuPG, GPG, GNU Privacy Guard, OpenPGP and PGP are used interchangeably. Technically, OpenPGP (Pretty Good Privacy) is the encryption standard, and GNU Privacy Guard (often shortened to GPG or GnuPG) is the program that implements the standard. Enigmail is a plug-in program for your email program that provides an interface for GnuPG.

-
-
- - -
-
- - -
-
- -
-

#3 Try it out!

-

Now you'll try a test correspondence with a computer program named Edward, who knows how to use encryption. Except where noted, these are the same steps you'd follow when corresponding with a real, live person.

- - -
- - -
- -
-

Step 3.a Send Edward your public key

-

This is a special step that you won't have to do when corresponding with real people. In your email program's menu, go to Enigmail → Key Management. You should see your key in the list that pops up. Right click on your key and select Send Public Keys by Email. This will create a new draft message, as if you had just hit the Write button.

- -

Address the message to edward-en@fsf.org. Put at least one word (whatever you want) in the subject and body of the email. Don't send yet.

- -

The lock icon in the top left should be yellow, meaning encryption is -turned on. We want this first special message to be unencrypted, so -click the icon once to turn it off. The lock should become grey, with a -blue dot on it (to alert you that the setting has been changed from the -default). Once encryption is off, hit Send.

- -

It may take two or three minutes for Edward to respond. In the meantime, you might want to skip ahead and check out the Use it Well section of this guide. Once he's responded, head to the next step. From here on, you'll be doing just the same thing as when corresponding with a real person.

- -

When you open Edward's reply, Enigmail may prompt you for your password before using your private key to decrypt it.

-
-
- - -
-
-

Step 3.b Send a test encrypted email

-

Write a new email in your email program, addressed to edward-en@fsf.org. Make the subject "Encryption test" or something similar and write something in the body.

-

The lock icon in the top left of the window should be yellow, meaning encryption is on. This will be your default from now on.

-

Next to the lock, you'll notice an icon of a pencil. We'll get to this in a moment.

-

Click Send. Enigmail will pop up a window that says "Recipients not valid, not trusted or not found."

- -

To encrypt an email to Edward, you need his public key, so now you'll have Enigmail download it from a keyserver. Click Download Missing Keys and use the default in the pop-up that asks you to choose a keyserver. Once it finds keys, check the first one (Key ID starting with C), then select ok. Select ok in the next pop-up.

- -

Now you are back at the "Recipients not valid, not trusted or not found" screen. Check the box in front of Edward's key and click Send.

- -

Since you encrypted this email with Edward's public key, Edward's private key is required to decrypt it. Edward is the only one with his private key, so no one except him can decrypt it.

- -
-

Troubleshooting

-
-
Enigmail can't find Edward's key
-
Close the pop-ups that have appeared since you clicked Send. Make sure you are connected to the Internet and try again. If that doesn't work, repeat the process, choosing a different keyserver when it asks you to pick one.
-
Unscrambled messages in the Sent folder
-
Even though you can't decrypt messages encrypted to someone else's key, your email program will automatically save a copy encrypted to your public key, which you'll be able to view from the Sent folder like a normal email. This is normal, and it doesn't mean that your email was not sent encrypted.
-
More resources
-
If you're still having trouble with our instructions or just want to learn more, check out Enigmail's wiki.
- - -
-
- - - -
-

Advanced

-
-
Encrypt messages from the command line
-
You can also encrypt and decrypt messages and files from the command line, if that's your preference. The option --armor makes the encrypted output appear in the regular character set.
-
-
- - -
-
- - -
-
-

Important: Security tips

-

Even if you encrypt your email, the subject line is not encrypted, so don't put private information there. The sending and receiving addresses aren't encrypted either, so a surveillance system can still figure out who you're communicating with. Also, surveillance agents will know that you're using GnuPG, even if they can't figure out what you're saying. When you send attachments, Enigmail will give you the choice to encrypt them or not, independent of the actual email.

-
-
- - - -
-
-

Step 3.c Receive a response

-

When Edward receives your email, he will use his private key to decrypt it, then use your public key (which you sent him in Step 3.A) to encrypt his reply to you.

- -

It may take two or three minutes for Edward to respond. In the meantime, you might want to skip ahead and check out the Use it Well section of this guide.

-

When you receive Edward's email and open it, Enigmail will automatically detect that it is encrypted with your public key, and then it will use your private key to decrypt it.

-

Notice the bar that Enigmail shows you above the message, with information about the status of Edward's key.

-
-
- - -
-
-

Step 3.d Send a test signed email to a friend

-

GnuPG includes a way for you to sign messages and files, verifying that they came from you and that they weren't tampered with along the way. These signatures are stronger than their pen-and-paper cousins -- they're impossible to forge, because they're impossible to create without your private key (another reason to keep your private key safe).

- -

You can sign messages to anyone, so it's a great way to make people aware that you use GnuPG and that they can communicate with you securely. If they don't have GnuPG, they will be able to read your message and see your signature. If they do have GnuPG, they'll also be able to verify that your signature is authentic.

-

To sign an email to a friend, click the pencil icon next to the lock icon so that it turns gold. If you sign a message, Enigmail will ask you for your password before it sends the message, because it needs to unlock your private key for signing.

- -

When the pencil is gold but the lock is grey, the email will be signed but not encrypted. When the pencil is grey and the lock is gold, the email will be encrypted but not signed. When they're both gold, the email will be signed and encrypted.

-
-
-
-
- - - -
-
- -
-

#4 Learn the Web of Trust

-

Email encryption is a powerful technology, but it has a weakness; it requires a way to verify that a person's public key is actually theirs. Otherwise, there would be no way to stop an attacker from making an email address with your friend's name, creating keys to go with it and impersonating your friend. That's why the free software programmers that developed email encryption created keysigning and the Web of Trust.

- -

When you sign someone's key, you are publicly saying that you've verified that it belongs to them and not an impostor. Signing keys and messages is the same type mathematical operation, but they carry very different implications. It's a good practice to generally sign your email, but if you casually sign people's keys, you may accidently end up vouching for the identity of an imposter!

- -

People who use your public key can see who has signed it. Once you've used GnuPG for a long time, you may have hundreds of signatures. The Web of Trust is a constellation of GnuPG users, connected to each other by chains of trust expressed through signatures. The more signatures of people you trust a key has, the more trustworthy that key is.

- - - -
- - -
- -
-

Step 4.a Sign a key

-

In your email program's menu, go to Enigmail → Key Management.

-

Right click on Edward's public key and select Sign Key from the context menu.

-

In the window that pops up, select "I will not answer" and click ok.

-

Now you should be back at the Key Management menu. Select Keyserver → Upload Public Keys and hit ok.

-

You've just effectively said "I trust that Edward's public key actually belongs to Edward." This doesn't mean much because Edward isn't a real person, but it's good practice.

- - - - -
-
- - -
-
-

Identifying keys: Fingerprints and IDs

-

People's public keys are usually identified by their key fingerprint, which is a string of digits like F357AA1A5B1FA42CFD9FE52A9FF2194CC09A61E8 (for Edward's key). You can see the fingerprint for your public key, and other public keys saved on your computer, by going to Enigmail → Key Management in your email program's menu, then right clicking on the key and choosing Key Properties. It's good practice to share your fingerprint wherever you share your email address, so that people can double-check that they have the correct public key when they download yours from a keyserver.

- -

You may also see public keys referred to by their key ID, which is simply the last eight digits of the fingerprint, like C09A61E8 for Edward. The key ID is visible directly from the Key Management window. This key ID is like a person's first name (it is a useful shorthand but may not be unique to a given key), whereas the fingerprint actually identifies the key uniquely without the possibility of confusion. If you only have the key ID, you can still look up the key (as well as its fingerprint), like you did in Step 3, but if multiple options appear, you'll need the fingerprint of the person to whom you are trying to communicate to verify which one to use.

- -
-
- - -
-
-

Important: check people's identification before signing their keys

-

Before signing a real person's key, always make sure it actually belongs to them, and that they are who they say they are. Ask them to show you their ID (unless you trust them very highly) and their public key fingerprint -- not just the shorter public key ID, which could refer to another key as well. In Enigmail, answer honestly in the window that pops up and asks "How carefully have you verified that the key you are about to sign actually belongs to the person(s) named above?".

- - -
-

Advanced

-
-
Master the Web of Trust
-
Unfortunately, trust does not spread between users the way many people think. One of best ways to strengthen the GnuPG community is to properly understand the web of trust and to carefully sign as many people's keys as circumstances permit.
-
Set ownertrust
-
If you trust someone enough to validate other people's keys, you can assign them an ownertrust level through Enigmails's key management window. Right click on the other person's key, go to the "Select Owner Trust" menu option, select the trustlevel and click OK. Only do this once you've read and understand "Master the Web of Trust" above.
-
-
-
- -
- - -
-
- - -
-
- -
-

#5 Use it well

-

Everyone uses GnuPG a little differently, but it's important to follow some basic practices to keep your email secure. Not following them, you risk the privacy of the people you communicate with, as well as your own, and damage the Web of Trust.

-
- - -
- -
-

When should I encrypt?

- -

The more you can encrypt your messages, the better. If you only encrypt emails occasionally, each encrypted message could raise a red flag for surveillance systems. If all or most of your email is encrypted, people doing surveillance won't know where to start.

- -

That's not to say that only encrypting some of your email isn't helpful -- it's a great start and it makes bulk surveillance more difficult.

- -
-
- - -
- -
-

Be wary of invalid keys

-

GnuPG makes email safer, but it's still important to watch out for invalid keys, which might have fallen into the wrong hands. Email encrypted with invalid keys might be readable by surveillance programs.

-

In your email program, go back to the second email that Edward sent you. Because Edward encrypted it with your public key, it will have a message from Enigmail at the top, which most likely says "Enigmail: Part of this message encrypted."

-

When using GnuPG, make a habit of glancing at that bar. The program will warn you there if you get an email encrypted with a key that can't be trusted.

-
-
- - -
-
-

Copy your revocation certificate to somewhere safe

-

Remember when you created your keys and saved the revocation certificate that GnuPG made? It's time to copy that certificate onto the safest digital storage that you have -- the ideal thing is a flash drive, disk, or hard drive stored in a safe place in your home.

-

If your private key ever gets lost or stolen, you'll need this certificate file to let people know that you are no longer using that keypair.

-
-
- - -
-
-

Important: act swiftly if someone gets your private key

-

If you lose your private key or someone else gets ahold of it (say, by stealing or cracking your computer), it's important to revoke it immediately before someone else uses it to read your encrypted email or forge your signature. This guide doesn't cover how to revoke a key, but you can follow the instructions on the GnuPG site. After you're done revoking, send an email to everyone with whom you usually use your key to make sure they know.

-
-
- - - - - -
- - - - - -
-
-

Webmail and GnuPG

-

When you use a web browser to access your email, you're using webmail, an email program stored on a distant website. Unlike webmail, your desktop email program runs on your own computer. Although webmail can't decrypt encrypted email, it will still display it in its encrypted form. If you primarily use webmail, you'll know to open your email client when you receive a scrambled email.

-
-
- - - - - -
+ + + +
+ +

+

+ +
+ +

We fight for computer users' rights, and promote the development of free (as +in freedom) software. Resisting bulk surveillance is very important to us.

+ +

Please donate to support Email Self-Defense. We need to keep +improving it, and making more materials, for the benefit of people around +the world taking the first step towards protecting their privacy.

+ +
+ +

+ +
+ + +
+ +

+Bulk surveillance violates our fundamental rights and makes free speech +risky. This guide will teach you a basic surveillance self-defense skill: email +encryption. Once you've finished, you'll be able to send and receive emails +that are scrambled to make sure a surveillance agent or thief intercepting +your email can't read them. All you need is a computer with an Internet +connection, an email account, and about forty minutes.

+ +

Even if you have nothing to hide, using encryption helps protect the privacy +of people you communicate with, and makes life difficult for bulk surveillance +systems. If you do have something important to hide, you're in good company; +these are the same tools that whistleblowers use to protect their identities +while shining light on human rights abuses, corruption, and other crimes.

+ +

In addition to using encryption, standing up +to surveillance requires fighting politically for a reduction +in the amount of data collected on us, but the essential first step is +to protect yourself and make surveillance of your communication as difficult +as possible. This guide helps you do that. It is designed for beginners, but +if you already know the basics of GnuPG or are an experienced free software +user, you'll enjoy the advanced tips and the guide +to teaching your friends.

+ +
+ + + +
+ + +
+ +

#1 Get the pieces

+ +

This guide relies on software which is freely licensed; +it's completely transparent and anyone can copy it or make their +own version. This makes it safer from surveillance than proprietary +software (like Windows or macOS). Learn more about free software at fsf.org.

+ +

Most GNU/Linux operating systems come with GnuPG installed on them, so if you're running one of these systems, you don't have to download it. If you're running macOS or Windows, steps to download GnuPG are below. Before configuring your encryption setup with this guide, though, you'll need a desktop email program installed on your computer. Many GNU/Linux distributions have one installed already, such as Icedove, which may be under the alternate name "Thunderbird." Programs like these are another way to access the same email accounts you can access in a browser (like Gmail), but provide extra features.

+ +

If you already have an email program, you can skip to Step 2.

+ +
+ + +
+ +
+ +

Step 1.a Set up your email program with your email account

+ +

Open your email program and follow the wizard (step-by-step walkthrough) +that sets it up with your email account. This usually starts from "Account Settings" → "Add Mail Account". You should get the email server settings from your systems administrator or the help section of your email account.

+
+ + +
+ +

Troubleshooting

+ +
+
The wizard doesn't launch
+
You can launch the wizard yourself, but the menu option for doing so is +named differently in each email program. The button to launch it will be in +the program's main menu, under "New" or something similar, titled something +like "Add account" or "New/Existing email account."
+ +
The wizard can't find my account or isn't downloading my mail
+
Before searching the Web, we recommend you start by asking other people +who use your email system, to figure out the correct settings.
+ +
I can't find the menu
+
In many new email programs, the main menu is represented by an image of +three stacked horizontal bars.
+ + + +
+ +
+
+
+ + +
+
+ +

Step 1.b Get your terminal ready and install GnuPG

+ +

If you are using a GNU/Linux machine, you should already have GnuPG installed, and you can skip to Step 2.

+

If you are using a macOS or Windows machine, however, you need to first install the GnuPG program. Select your operating system below and follow the steps. For the rest of the steps in this guide, the steps are the same for all operating systems.

+ + +
+ +

MacOS

+ +
+
Use a third-party package manager to install GnuPG
+
Your macOS comes with a program called "Terminal" pre-installed, which we'll use to set up your encryption with GnuPG, using the command line. However, the default macOS package manager makes it difficult to install GnuPG and other pieces of free software (like Emacs, GIMP, or Inkscape).
+To make things easier, we recommend setting up the third-party package manager "Homebrew" to install GnuPG. Copy the link on the home page of Homebrew and paste it in Terminal. Click "Enter" and wait for it to finalize.
+When it is done, install the program by entering the following code in Terminal:
+brew install gnupg gnupg2. After installation is done, you can follow the steps of the rest of this guide.
+
+ +
+ + +
+ +

Windows

+ +
+
Get GnuPG by downloading GPG4Win
+

GPG4Win is a email and file encryption software package that includes GnuPG. Download and install the latest version, choosing default options whenever asked. After it's installed, you can close any windows that it creates.

+ +

To follow the rest of the steps in this guide, you'll use the program called "PowerShell", which is a program you'll see elsewhere referred to as a "terminal." This allows you to operate your computer using the command line.

+
+
+ +
+
+
+ + +
+
+ +

GnuPG, OpenPGP, what?

+ +

In general, the terms GnuPG, GPG, GNU Privacy Guard, OpenPGP and PGP +are used interchangeably. Technically, OpenPGP (Pretty Good Privacy) is the +encryption standard, and GNU Privacy Guard (often shortened to GPG or GnuPG) +is the program that implements the standard. Most email programs provide an interface for GnuPG. There is also a newer version of GnuPG, called GnuPG2.

+ +
+
+ +
+ + +
+ + +
+ +

#2 Make your keys

+

A robot with a head shaped like a key holding a private and a public key

+ +

To use the GnuPG system, you'll need a public key and a private key (known +together as a keypair). Each is a long string of randomly generated numbers +and letters that are unique to you. Your public and private keys are linked +together by a special mathematical function.

+ +

Your public key isn't like a physical key, because it's stored in the open +in an online directory called a keyserver. People download it and use it, +along with GnuPG, to encrypt emails they send to you. You can think of the +keyserver as a phonebook; people who want to send you encrypted email can +look up your public key.

+ +

Your private key is more like a physical key, because you keep it to +yourself (on your computer). You use GnuPG and your private key together to +descramble encrypted emails other people send to you. You should never share your private key with anyone, under any +circumstances.

+ +

In addition to encryption and decryption, you can also use these keys to +sign messages and check the authenticity of other people's signatures. We'll +discuss this more in the next section.

+ +
+ + +
+ +
+ +

Step 2.a Make a keypair

+
Make your keypair
+

Open a terminal using ctrl + alt + t (on GNU/linux), or find it in your applications, and use the following code to create your keypair:

+ +

We will use the command line in a terminal to create a keypair using the GnuPG program. A terminal should be installed on your GNU/Linux operating system, if you are using a macOS or Windows OS system, use the programs "Terminal" (macOS) or "PowerShell" (Windows) that were also used in section 1.

+ +

# gpg --full-generate-key to start the process.

+

# To answer what kind of key you would like to create, select the default option 1 RSA and RSA.

+

# Enter the following keysize: 4096 for a strong key.

+

# Choose the expiration date, we suggest 2y (2 years).

+

Follow the prompts to continue setting up with your personal details.

+ +
+
Set your passphrase
+

On the screen titled "Passphrase," pick a strong password! You can +do it manually, or you can use the Diceware method. Doing it manually +is faster but not as secure. Using Diceware takes longer and requires +dice, but creates a password that is much harder for attackers to figure +out. To use it, read the section "Make a secure passphrase with Diceware" in +this article by Micah Lee.

+ + +

If you'd like to pick a passphrase manually, come up with something +you can remember which is at least twelve characters long, and includes +at least one lower case and upper case letter and at least one number or +punctuation symbol. Never pick a password you've used elsewhere. Don't use +any recognizable patterns, such as birthdays, telephone numbers, pets' names, +song lyrics, quotes from books, and so on.

+ +
+ + +
+ +

Troubleshooting

+
+
GnuPG is not installed
+
+GPG is not installed. You can check if this is the case with the command gpg --version. +If GnuPG is not installed, it would bring up the following result on most GNU/Linux operating systems, or something like it: +Command 'gpg' not found, but can be installed with: + sudo apt install gnupg. Follow that command and install the program.
+ +
I took too long to create my passphrase
+
That's okay. It's important to think about your passphrase. When you're ready, just follow the steps from the beginning again to create your key.
+ +
How can I see my key?
+
+Use the following command to see all keys gpg --list-keys. Yours should be listed in there, and later, so will Edward's (section 3). If you want to see only your key, you can use gpg --list-key [your@email]. +You can also use gpg --list-secret-key to see your own private key.
+ +
More resources
+
For more information about this process, you can also refer to The GNU Privacy +Handbook. Make sure you stick with "RSA and RSA" (the default), +because it's newer and more secure than the algorithms the documentation +recommends. Also make sure your key is at least 4096 bits if you +want to be secure.
+ + + +
+ +
+ + +
+ +

Advanced

+
+
Advanced key pairs
+
When GnuPG creates a new keypair, it compartmentalizes +the encryption function from the signing function through subkeys. If you use +subkeys carefully, you can keep your GnuPG identity more +secure and recover from a compromised key much more quickly. Alex Cabal +and the Debian wiki +provide good guides for setting up a secure subkey configuration.
+
+ +
+
+
+ + +
+ +
+ +

Step 2.b Some important steps following creation

+ +
Upload your key to a keyserver
+

We will upload your key to a keyserver, so if someone wants to send you an encrypted message, they can download your public key from the Internet. There are multiple keyservers +that you can select from the menu when you upload, but they are all copies +of each other, so it doesn't matter which one you use. However, it sometimes +takes a few hours for them to match each other when a new key is uploaded.

+

# Copy your keyID gnupg --list-key [your@email] will list your public ("pub") key information, including your keyID, which is a unique list of numbers and letters. Copy this keyID, so you can use it in the following command.

+

# Upload your key to a server: gpg --send-key [keyID]

+ +
+ +
Export your key to a file
+

Use the following command to export your secret key so you can import it into your email client at the next step. To avoid getting your key compromised, store this in a safe place, and make sure that if it is transferred, it is done so in a trusted way. Exporting your keys can be done with the following commands:

+ +

+$ gpg --export-secret-keys -a [keyid] > my_secret_key.asc
+$ gpg --export -a [keyid] > my_public_key.asc +

+ +
+ +
Generate a revocation certificate
+

Just in case you lose your key, or it gets compromised, you want to generate a certificate and choose to save it in a safe place on your computer for now (please refer to step 6.C for how to best store your revocation cerficate safely). This step is essential for your email self-defense, as you'll learn more about in Section 5.

+ +

# Copy your keyID gnupg --list-key [your@email] will list your public ("pub") key information, including your keyID, which is a unique list of numbers and letters. Copy this keyID, so you can use it in the following command.

+

# Generate a revocation certificate: gpg --gen-revoke --output revoke.asc [keyID]

+

# It will prompt you to give a reason for revocation, we recommend to use 1 "key has been compromised"

+

# You don't have to fill in a reason, but you can, then press enter for an empty line, and confirm your selection.

+ +
+ + +
+ +

Troubleshooting

+ +
+
My key doesn't seem to be working or I get a "permission denied."
+

Like every other file or folder, gpg keys are subject to permissions. If these are not set correctly, your system may not be accepting your keys. You can follow the next steps to check, and update to the right permissions.

+ +

# Check your permissions: ls -l ~/.gnupg/*

+

# Set permissions to read, write, execute for only yourself, no others. These are the recommended permissions for your folder.
+You can use the code chmod 700 ~/.gnupg

+

# Set permissions to read and write for yourself only, no others. These are the recommended permissions for the keys inside your folder.
+You can use the code: chmod 600 ~/.gnupg/*

+ +

If you have (for any reason) created your own folders inside ~/.gnupg, you must also additionally apply execute permissions to that folder. Folders require execution privileges to be opened. For more information on permissions, you can check out this detailed information guide.

+
+ + +
+ +
+ + +
+ +

Advanced

+ +
+
More about keyservers
+
You can find some more keyserver information in this manual. The sks Web site +maintains a list of highly interconnected keyservers. You can also directly export +your key as a file on your computer.
+ +
Transferring your keys
+
+

Use the following commands to transfer your keys. To avoid getting your key compromised, store it in a safe place, and make sure that if it is transferred, it is done so in a trusted way. Importing and exporting a key can be done with the following commands:

+ +

+$ gpg --export-secret-keys -a keyid > my_private_key.asc
+$ gpg --export -a keyid > my_public_key.asc
+$ gpg --import my_private_key.asc
+$ gpg --import my_public_key.asc +

+ +

Ensure that the keyID printed is the correct one, and if so, then go ahead and add ultimate trust for it:

+ +

+$ gpg --edit-key [your@email] +

+ +

Because this is your key, you should choose ultimate. You shouldn't trust anyone else's key ultimately.

+ +

Refer to troubleshoot in step 2.B for more information on permissions. When transferring keys, your permissions may get mixed, and errors may be prompted. These are easily avoided when your folders and files have the right permissions

+
+
+ +
+
+
+
+ + +
+ + +
+ +

#3 Set up email encryption

+

The Icedove (or Thunderbird) email program has PGP functionality integrated, which makes it pretty easy to work with. We'll take you through the steps of integrating and using your key in these email clients.

+ +
+ + +
+ +
+ +

Step 3.a Set up your email with encryption

+ +

Once you have set up your email with encryption, you can start contributing to encrypted traffic on the Internet. First we'll get your email client to import your secret key, and we will also learn how to get other people's public keys from servers so you can send and receive encrypted email.

+ +

# Open your email client and use "Tools" → OpenPGP Manager

+

# Under "File" → Import Secret Key(s) From File

+

# Select the file you saved under the name [my_secret_key.asc] in step step 3.b when you exported your key

+

# Unlock with your passphrase

+

# You will receive a "OpenPGP keys successfully imported" window to confirm success

+

# Go to "Edit" (in Icedove) or "Tools" (in Thunderbird) → "Account settings" → "End-To-End Encryption," and make sure your key is imported and select Treat this key as a Personal Key.

+ +
+ + +
+
+

Troubleshooting

+
+
I'm not sure the import worked correctly
+
+Look for "Account settings" → "End-To-End Encryption" (Under "Edit" (in Icedove) or "Tools" (in Thunderbird)). Here you can see if your personal key associated with this email is found. If it is not, you can try again via the Add key option. Make sure you have the correct, active, secret key file. +
+ + + +
+ +
+
+
+
+ + +
+ + +
+ +

#4 Try it out!

+

Illustration of a person in a house with a cat connected to a server

+

Now you'll try a test correspondence with an FSF computer program named Edward, +who knows how to use encryption. Except where noted, these are the same +steps you'd follow when corresponding with a real, live person.

+ + +
+ + +
+ +
+ +

Step 4.a Send Edward your public key

+ +

This is a special step that you won't have to do when corresponding +with real people. In your email program's menu, go to "Tools" → "OpenPGP Key +Manager." You should see your key in the list that pops up. Right click +on your key and select Send Public Keys by Email. This will create a new draft message, as if you had just hit the "Write" button, but in the attachment you will find your public keyfile.

+ +

Address the message to edward-en@fsf.org. Put at least one word +(whatever you want) in the subject and body of the email. Don't send yet.

+ +

We want Edward to be able to open the email with your keyfile, so we want this first special message to be unencrypted. Make sure encryption is turned off by using the dropdown menu "Security" and select Do Not Encrypt. Once encryption is off, hit Send.

+ +

It may take two or three minutes for Edward to +respond. In the meantime, you might want to skip ahead and check out the Use it Well section of this guide. Once you have received a response, +head to the next step. From here on, you'll be doing just the same thing as +when corresponding with a real person.

+ +

When you open Edward's reply, GnuPG may prompt you for your passphrase +before using your private key to decrypt it.

+ +
+
+ + +
+ + +
+ +

Step 4.b Send a test encrypted email

+
Get Edward's key
+

To encrypt an email to Edward, you need its public key, so now you'll have +to download it from a keyserver. You can do this in two different ways:

+

Option 1. In the email answer you received from Edward as a response to your first email, Edward's public key was included. On the right of the email, just above the writing area, you will find an "OpenPGP" button that has a lock and a little wheel next to it. Click that, and select Discover next to the text: "This message was sent with a key that you don't have yet." A popup with Edward's key details will follow.

+ +

Option 2. Open your OpenPGP manager and under "Keyserver" choose Discover Keys Online. Here, fill in Edward's email address, and import Edward's key.

+ +

The option Accepted (unverified) will add this key to your key manager, and now it can be used to send encrypted emails and to verify digital signatures from Edward.

+ +

In the popup window confirming if you want to import Edward's key, you'll see many different emails that are all associated with its key. This is correct; you can safely import the key.

+ +

Since you encrypted this email with Edward's public key, +Edward's private key is required to decrypt it. Edward is the only one with +its private key, so no one except Edward can decrypt it.

+ +
+
Send Edward an encrypted email
+ +

Write a new email in your email program, addressed to edward-en@fsf.org. Make the subject +"Encryption test" or something similar and write something in the body.

+ +

This time, make sure encryption is turned on by using the dropdown menu "Security" and select Require Encryption. Once encryption is on, hit Send.

+ +
+ + +
+ +

Troubleshooting

+ +
+
"Recipients not valid, not trusted or not found"
+
You may be trying to send an encrypted email to someone when you do not have their public key yet. Make sure you follow the steps above to import the key to your key manager. Open OpenPGP Key Manager to make sure the recipient is listed there.
+ +
Unable to send message
+
You could get the following message when trying to send your encrypted email: "Unable to send this message with end-to-end encryption, because there are problems with the keys of the following recipients: edward-en@fsf.org." This usually means you imported the key with the "unaccepted (unverified) option." Go to the "key properties" of this key by right clicking on the key in the OpenPGP Key Manager, and select the option Yes, but I have not verified that this is the correct key in the "Acceptance" option at the bottom of this window. Resend the email.
+ +
I can't find Edward's key
+
Close the pop-ups that have appeared since you clicked Send. Make sure +you are connected to the Internet and try again. If that doesn't work, repeat +the process, choosing a different keyserver when it asks you to pick one.
+ +
Unscrambled messages in the Sent folder
+
Even though you can't decrypt messages encrypted to someone else's key, +your email program will automatically save a copy encrypted to your public key, +which you'll be able to view from the Sent folder like a normal email. This +is normal, and it doesn't mean that your email was not sent encrypted.
+ + + +
+ +
+ + +
+ +

Advanced

+ +
+
Encrypt messages from the command line
+
You can also encrypt and decrypt messages and files from the command line, +if that's your preference. The option --armor makes the encrypted output +appear in the regular character set.
+
+ +
+
+
+ + +
+
+ +

Important: Security tips

+ +

Even if you encrypt your email, the subject line is not encrypted, so +don't put private information there. The sending and receiving addresses +aren't encrypted either, so a surveillance system can still figure out who +you're communicating with. Also, surveillance agents will know that you're +using GnuPG, even if they can't figure out what you're saying. When you +send attachments, you can choose to encrypt them or not, +independent of the actual email.

+ +

For greater security against potential attacks, you can turn off +HTML. Instead, you can render the message body as plain text. In order +to do this in Icedove or Thunderbird, go to View > Message Body As > Plain +Text.

+ +
+
+ + +
+ + +
+ +

Step 4.c Receive a response

+ +

When Edward receives your email, it will use its private key to decrypt +it, then reply to you.

+ +

It may take two or three minutes for Edward to +respond. In the meantime, you might want to skip ahead and check out the Use it Well section of this guide.

+ +

Edward will send you an encrypted email back saying your email was received and decrypted. Your email client will automatically decrypt Edward's message.

+ +

The OpenPGP button in the email will show a little green checkmark over the lock symbol to show the message is encrypted, and a little orange warning sign which means that you have accepted the key, but not verified it. When you have not yet accepted the key, you will see a little question mark there. Clicking the prompts in this button will lead you to key properties as well.

+ +
+
+ + +
+
+ +

Step 4.d Send a signed test email

+ +

GnuPG includes a way for you to sign messages and files, verifying that +they came from you and that they weren't tampered with along the way. These +signatures are stronger than their pen-and-paper cousins -- they're impossible +to forge, because they're impossible to create without your private key +(another reason to keep your private key safe).

+ +

You can sign messages to anyone, so it's a great way to make people +aware that you use GnuPG and that they can communicate with you securely. If +they don't have GnuPG, they will be able to read your message and see your +signature. If they do have GnuPG, they'll also be able to verify that your +signature is authentic.

+ +

To sign an email to Edward, compose any message to the email address and click the +pencil icon next to the lock icon so that it turns gold. If you sign a +message, GnuPG may ask you for your password before it sends the message, +because it needs to unlock your private key for signing.

+ +

In "Account Settings" → "End-To-End-Encryption" you can opt to add digital signature by default.

+ +
+
+ + +
+
+ +

Step 4.e Receive a response

+ +

When Edward receives your email, he will use your public key (which +you sent him in Step 3.A) to verify the message +you sent has not been tampered with and to encrypt a reply to you.

+ +

It may take two or three minutes for Edward to +respond. In the meantime, you might want to skip ahead and check out the Use it Well section of this guide.

+ +

Edward's reply will arrive encrypted, because he prefers to use encryption +whenever possible. If everything goes according to plan, it should say +"Your signature was verified." If your test signed email was also encrypted, +he will mention that first.

+ +

When you receive Edward's email and open it, your email client will +automatically detect that it is encrypted with your public key, and +then it will use your private key to decrypt it.

+ +
+
+
+ + +
+ + +
+ +

#5 Learn about the Web of Trust

+

Illustration of keys all interconnected with a web of lines

+ +

Email encryption is a powerful technology, but it has a weakness: +it requires a way to verify that a person's public key is actually +theirs. Otherwise, there would be no way to stop an attacker from making +an email address with your friend's name, creating keys to go with it, and +impersonating your friend. That's why the free software programmers that +developed email encryption created keysigning and the Web of Trust.

+ +

When you sign someone's key, you are publicly saying that you've verified +that it belongs to them and not someone else.

+ +

Signing keys and signing messages use the same type of mathematical +operation, but they carry very different implications. It's a good practice +to generally sign your email, but if you casually sign people's keys, you +may accidently end up vouching for the identity of an imposter.

+ +

People who use your public key can see who has signed it. Once you've +used GnuPG for a long time, your key may have hundreds of signatures. You +can consider a key to be more trustworthy if it has many signatures from +people that you trust. The Web of Trust is a constellation of GnuPG users, +connected to each other by chains of trust expressed through signatures.

+ +
+ + +
+ +
+ +

Step 5.a Sign a key

+ +

In your email program's menu, go to OpenPGP Key Manager and select Key properties by right clicking on Edward's key.

+ +

Under "Your Acceptance," you can select Yes, I've verified in person this key has the correct fingerprint".

+ +

You've just effectively said "I trust that Edward's public +key actually belongs to Edward." This doesn't mean much because Edward isn't +a real person, but it's good practice, and for real people it is important. You can read more about signing a person's key in the check IDs before signing section.

+ + +
+
+ + +
+
+ +

Identifying keys: Fingerprints and IDs

+ +

People's public keys are usually identified by their key fingerprint, +which is a string of digits like F357AA1A5B1FA42CFD9FE52A9FF2194CC09A61E8 +(for Edward's key). You can see the fingerprint for your public key, and +other public keys saved on your computer, by going to OpenPGP Key +Management in your email program's menu, then right clicking on the key +and choosing Key Properties. It's good practice to share your fingerprint +wherever you share your email address, so that people can double-check that +they have the correct public key when they download yours from a keyserver.

+ +

You may also see public keys referred to by a shorter +keyID. This keyID is visible directly from the Key Management +window. These eight character keyIDs were previously used for +identification, which used to be safe, but is no longer reliable. You +need to check the full fingerprint as part of verifying you have the +correct key for the person you are trying to contact. Spoofing, in +which someone intentionally generates a key with a fingerprint whose +final eight characters are the same as another, is unfortunately +common.

+ +
+
+ + +
+
+ +

Important: What to consider when signing keys

+ +

Before signing a person's key, you need to be confident that it actually +belongs to them, and that they are who they say they are. Ideally, this +confidence comes from having interactions and conversations with them over +time, and witnessing interactions between them and others. Whenever signing +a key, ask to see the full public key fingerprint, and not just the shorter +keyID. If you feel it's important to sign the key of someone you've just +met, also ask them to show you their government identification, and make +sure the name on the ID matches the name on the public key.

+ + +
+ +

Advanced

+ +
+
Master the Web of Trust
+
Unfortunately, trust does not spread between users the way many people +think. One of the best ways to strengthen the GnuPG community is to deeply understand the Web of +Trust and to carefully sign as many people's keys as circumstances permit.
+
+ +
+
+
+
+ + +
+ + +
+ +

#6 Use it well

+ +

Everyone uses GnuPG a little differently, but it's important to follow +some basic practices to keep your email secure. Not following them, you +risk the privacy of the people you communicate with, as well as your own, +and damage the Web of Trust.

+ +
+ + +
+ +
+ +

When should I encrypt? When should I sign?

+ +

The more you can encrypt your messages, the better. If you only encrypt +emails occasionally, each encrypted message could raise a red flag for +surveillance systems. If all or most of your email is encrypted, people +doing surveillance won't know where to start. That's not to say that only +encrypting some of your email isn't helpful -- it's a great start and it +makes bulk surveillance more difficult.

+ +

Unless you don't want to reveal your own identity (which requires other +protective measures), there's no reason not to sign every message, whether or +not you are encrypting. In addition to allowing those with GnuPG to verify +that the message came from you, signing is a non-intrusive way to remind +everyone that you use GnuPG and show support for secure communication. If you +often send signed messages to people that aren't familiar with GnuPG, it's +nice to also include a link to this guide in your standard email signature +(the text kind, not the cryptographic kind).

+ +
+
+ + +
+ +
+ +

Be wary of invalid keys

+ +

GnuPG makes email safer, but it's still important to watch out for invalid +keys, which might have fallen into the wrong hands. Email encrypted with +invalid keys might be readable by surveillance programs.

+ +

In your email program, go back to the first encrypted email that Edward +sent you. Because Edward encrypted it with your public key, it will have a +green checkmark a at the top "OpenPGP" button.

+ +

When using GnuPG, make a habit of glancing at that button. The program +will warn you there if you get an email signed with a key that can't +be trusted.

+ +
+
+ + +
+
+ +

Copy your revocation certificate to somewhere safe

+ +

Remember when you created your keys and saved the revocation certificate +that GnuPG made? It's time to copy that certificate onto the safest storage that you have -- a flash drive, disk, or hard drive stored in a safe place in your home could work, not on a device you carry with you regularly. The safest way we know is actually to print the revocation certificate and store it in a safe place.

+ +

If your private key ever gets lost or stolen, you'll need this certificate +file to let people know that you are no longer using that keypair.

+ +
+
+ + +
+
+ +

IMPORTANT: ACT SWIFTLY if someone gets your private key

+ +

If you lose your private key or someone else gets a hold +of it (say, by stealing or cracking your computer), it's +important to revoke it immediately before someone else uses +it to read your encrypted email or forge your signature. This +guide doesn't cover how to revoke a key, but you can follow these instructions. +After you're done revoking, make a new key and send an email to everyone +with whom you usually use your key to make sure they know, including a copy +of your new key.

+ +
+
+ + +
+
+ +

Webmail and GnuPG

+ +

When you use a web browser to access your email, you're using webmail, +an email program stored on a distant website. Unlike webmail, your desktop +email program runs on your own computer. Although webmail can't decrypt +encrypted email, it will still display it in its encrypted form. If you +primarily use webmail, you'll know to open your email client when you receive +a scrambled email.

+ +
+
+ + +
+
+ +

Make your public key part of your online identity

+ +

First add your public key fingerprint to your email signature, then +compose an email to at least five of your friends, telling them you just +set up GnuPG and mentioning your public key fingerprint. Link to this guide +and ask them to join you. Don't forget that there's also an awesome infographic to share.

+ +

Start writing your public key fingerprint anywhere someone +would see your email address: your social media profiles, blog, Website, +or business card. (At the Free Software Foundation, we put ours on our +staff page.) We need to get our +culture to the point that we feel like something is missing when we see an +email address without a public key fingerprint.

+ +
+
+
+ + +
+
+ -
- -
- - + - - - - - - - - - - - - - - +for /* Guide Sections Background */ then add #faq to the desired color +
+ +
+ +
+
My key expired
+
Answer coming soon.
+ +
Who can read encrypted messages? Who can read signed ones?
+
Answer coming soon.
+ +
My email program is opening at times I don't want it to open/is now my +default program and I don't want it to be.
+
Answer coming soon.
+
+ +
+
+
--> + + + + + + + + + + + + + +