4 <meta http-equiv=
"content-type" content=
"text/html; charset=utf-8" />
5 <title>Email Self-Defense - a guide to fighting surveillance with GnuPG
7 <meta name=
"keywords" content=
"GnuPG, GPG, openpgp, surveillance, privacy,
8 email, security, GnuPG2, encryption" />
9 <meta name=
"description" content=
"Email surveillance violates our fundamental
10 rights and makes free speech risky. This guide will teach you email
11 self-defense in 40 minutes with GnuPG." />
12 <meta name=
"viewport" content=
"width=device-width, initial-scale=1" />
13 <link rel=
"stylesheet" href=
"../static/css/main.css" />
14 <link rel=
"shortcut icon"
15 href=
"../static/img/favicon.ico" />
17 <body><iframe title=
"FSF Fundraiser Banner" src=
"//static.fsf.org/nosvn/banners/202311fundraiser/" scrolling=
"no" style=
"width: 100%; height: 150px; display: block; margin: 0; border: 0 none; overflow: hidden;"></iframe>
19 <!--<div style="text-align: center; padding: 2.5px; background-color: #a94442; color:#fcf8e3;"><p>Due to Enigmail's PGP functionality being migrated into Icedove and Thunderbird, steps 2 and 3 of the guide are currently out of date.</p><p> Thank you for your patience while we're working on a new round of updates.</p></div>-->
21 <!-- PLACE FUNDRAISER MODAL WINDOW HERE -->
23 <!-- Begin fsf-modal-window-elem campaign element -->
24 <link type=
"text/css" rel=
"stylesheet" href=
"//static.fsf.org/nosvn/fonts/fa/css/font-awesome.min.css">
25 <!-- Absolute link. -->
27 #fsf-modal-window-elem-container div {
28 -webkit-box-sizing: border-box;
29 -moz-box-sizing: border-box;
30 box-sizing: border-box;
33 @media screen and (min-width:
700px) {
34 #fsf-modal-window-elem-outer-v-center {
41 #fsf-modal-window-elem-inner-v-center {
43 vertical-align: middle;
46 #fsf-modal-window-elem {
52 #fsf-modal-window-elem-right-column {
56 color: #
002047; /* Text */
59 #fsf-modal-window-elem-left-column {
65 #fsf-modal-window-elem-text {
70 @media screen and (max-width:
699px) {
71 #fsf-modal-window-elem {
72 -ms-box-orient: horizontal;
77 display: -webkit-flex;
79 -webkit-flex-flow: row wrap;
83 #fsf-modal-window-elem {
91 #fsf-modal-window-elem-right-column {
96 #fsf-modal-window-elem-left-column {
101 #fsf-modal-window-elem-text {
106 @media screen and (max-width:
360px) {
108 font-size:
25px !important;
112 #fsf-modal-window-elem-container {
120 background-color: rgba(
0,
0,
0,
0.8);
124 #fsf-modal-window-elem a, a:active, a:focus {
127 color: #
002047; /* Text */
130 #fsf-modal-window-elem {
135 /*border-color: #
8DA399;*/ /* Border */
136 border-color: #
002047; /* Border */
138 box-shadow:
0px
0px
10px #
111111;
139 /*background-color: #
008080;*/ /* Background */
140 background-color: #
80ffff; /* Background */
143 #fsf-modal-window-elem-header {
147 #fsf-modal-window-elem-header h2 {
148 font-family: sans-serif,
"Helvetica",Arial;
151 color: #
002047; /* Text */
152 padding-bottom:
20px;
158 #fsf-modal-window-elem-close-button {
164 color: #
002047; /* Text */
168 #fsf-modal-window-elem-close-button:hover,
169 #fsf-modal-window-elem-text a:hover,
170 #fsf-modal-window-elem-text a:focus,
171 #fsf-modal-window-elem-text a:active {
175 #fsf-modal-window-elem-right-column {
177 -webkit-user-select: none;
178 -moz-user-select: none;
179 -ms-user-select: none;
183 #fsf-modal-window-elem-buttons div {
185 line-height:
53.333px;
191 #fsf-modal-window-elem-buttons a {
196 color: #
002047; /* Text */
197 text-decoration: none;
198 font-family: sans-serif,
"Helvetica",Arial;
202 #fsf-modal-window-elem-maybe-later {
207 #fsf-modal-window-elem-maybe-later a {
208 /* color: #
367c93; */
209 color: #
002047; /* Text */
211 text-decoration: none;
214 font-family: sans-serif,
"Helvetica",Arial;
218 #fsf-modal-window-elem-text a {
219 color: #
002047; /* Text */
221 text-decoration: none;
224 #fsf-modal-window-elem-text p {
225 font-family: sans-serif,
"Helvetica",Arial;
228 margin:
0px
0px
10px
0px;
230 color: #
002047; /* Text */
234 <div id=
"fsf-modal-window-elem-container" style=
"display: none;">
235 <div id=
"fsf-modal-window-elem-outer-v-center">
236 <div id=
"fsf-modal-window-elem-inner-v-center">
237 <div id=
"fsf-modal-window-elem">
238 <div id=
"fsf-modal-window-elem-header">
239 <div id=
"fsf-modal-window-elem-close-button" onclick=
"//fsfModalWindowElemDontShowForAWhile();">
240 <i class=
"fa fa-close">​</i>
242 <h2>Free software, free society, free education!
</h2>
244 <div id=
"fsf-modal-window-elem-left-column">
245 <div id=
"fsf-modal-window-elem-text">
249 We can only learn in freedom if the software we use is free. Your donation helps us bring free software to learning environments around the world. What better way is there to learn about free software than by using it? Free software in education is vital for a free society. Together, we can build a future in which everyone will be able to learn in freedom and will know their rights as a user.
255 <b>Invest in a free future by donating to the FSF today
</b> and help us reach our goal of collecting $
375,
000 USD by December
31.
259 <p><span id=
"fsf-modal-window-text-link"><a href=
"https://www.fsf.org/appeal?mtm_campaign=fall23&mtm_source=modal">Read more
</a> |
<a href=
"https://my.fsf.org/donate?mtm_campaign=fall23&mtm_source=modal">Donate
</a></span></p>
263 <div id=
"fsf-modal-window-elem-right-column">
264 <!-- Keep these styles inline because they are copied to the appeal page. -->
265 <div id=
"fsf-modal-window-elem-buttons" style=
"border-radius: 20px;box-shadow: 5px 0 5px -6px #002047, -5px 0 5px -6px #002047;">
266 <div class=
"join" style=
"background-color:#cc5500; border-top-right-radius: 20px; border-top-left-radius: 20px;">
267 <a style=
"text-shadow: 0px 0px 4px #ffe6b4;" href=
"https://my.fsf.org/join?mtm_campaign=fall23&mtm_source=modal" onclick=
"//fsfModalWindowElemFollowedLink();"><i class=
"fa fa-check-circle"> </i>Join
</a>
270 <div class=
"renew" style=
"background-color:#800000;">
271 <a style=
"color: #FFFEFC;" href=
"https://my.fsf.org/renew?mtm_campaign=fall23&mtm_source=modal" onclick=
"//fsfModalWindowElemFollowedLink();"><i class=
"fa fa-refresh"> </i>Renew
</a>
274 <div class=
"donate" style=
"background-color:#e19329; border-bottom-right-radius: 20px; border-bottom-left-radius: 20px; margin-bottom: 2px">
275 <a style=
"text-shadow: 0px 0px 4px #ffe6b4;" href=
"https://my.fsf.org/donate?mtm_campaign=fall23&mtm_source=modal" onclick=
"//fsfModalWindowElemFollowedLink();"><i class=
"fa fa-money"> </i>Donate
</a>
283 // @license magnet:?xt=urn:btih:
1f739d935676111cfff4b4693e3816e664797050&dn=gpl-
3.0.txt GPL-
3.0
285 // Licensed GPL-
3.0-or-later by Andrew Engelbrecht.
287 var startTime, endTime, switchTextTime;
289 startTime = new Date('
2023-
11-
08T04:
00:
00Z');
290 switchTextTime = new Date('
2023-
01-
01T04:
00:
00Z');
291 // endTime is unused.
292 // endTime = new Date('
2023-
01-
19T04:
00:
00Z');
294 // Possibly switch the text that is displayed in the modal window, depending
295 // upon the current date.
296 function fsfModalWindowElemMaybeSwitchText () {
301 if (now.getTime() < switchTextTime.getTime()) {
302 return; // Do not switch the text
306 document.getElementById(
"fsf-modal-window-elem-text").innerHTML =' \
308 <p>We can only learn in freedom if the software we use is free. Your donation helps us bring free software to learning environments around the world. What better way is there to learn about free software than by using it? Free software in education is vital for a free society. Together, we can build a future in which everyone will be able to learn in freedom and will know their rights as a user.<\/p
> \
310 <p><b>Invest in a free future by donating to the FSF today<\/b
> and help us reach our goal of collecting \$
375,
000 USD by January
19.<\/p
> \
312 <p><span id=
"fsf-modal-window-text-link"><a href=
"https://www.fsf.org/appeal?mtm_campaign=fall23&mtm_source=modal">Read more<\/a
> |
<a href=
"https://my.fsf.org/donate?mtm_campaign=fall23&mtm_source=modal">Donate<\/a
><\/span
><\/p
>';
315 // Show fsf-modal-window-elem if it has not been previously closed by the user,
316 // nor recently hit
"maybe later", and the campaign is still happening.
317 function fsfModalWindowElemMaybeShow () {
319 var pattern, noShowFsfModalWindowElementP, now;
321 // See if cookie says not to show element
322 pattern = /showFsf202311FundraiserModalWindowElementP\s*=\s*false/;
323 noShowFsfModalWindowElementP = pattern.test(document.cookie);
325 // Uncomment here to enable modal window hiding
326 if (!noShowFsfModalWindowElementP) {
327 setTimeout(function () {
328 // display the element
329 document.getElementById(
"fsf-modal-window-elem-container").style.
display=
"block";
334 // Call this first to set the proper text.
335 fsfModalWindowElemMaybeSwitchText();
336 // Check if appeal is the url.
337 if (window.location.href.indexOf(
"appeal") == -
1) {
338 // Call this right away to avoid flicker.
339 fsfModalWindowElemMaybeShow();
342 // Get the time `plusDays` in the future.
343 // This can be a fraction.
344 function daysInFuture (plusDays) {
348 future = new Date(now.getTime() + Math.floor(
1000 *
60 *
60 *
24 * plusDays));
349 return future.toGMTString();
352 // Hide the fsf-modal-window-elem
353 function fsfModalWindowElemHide () {
354 document.getElementById(
"fsf-modal-window-elem-container").style.
display=
"none";
357 // Optionally hide elem and set a cookie to keep the fsf-modal-window-elem hidden for the next `forDays`.
358 function fsfModalWindowElemDontShowForDays (forDays, hideNow) {
359 if (hideNow === true) {
360 fsfModalWindowElemHide();
362 document.cookie =
"showFsf202311FundraiserModalWindowElementP=false; path=/; SameSite=Strict; Secure; expires=" + daysInFuture(forDays);
365 // Hide the element for one week after closing it.
366 function fsfModalWindowElemDontShowForAWhile () {
367 fsfModalWindowElemDontShowForDays(
7, true);
370 // Keep the element visible for now, but do not show it for two weeks.
371 function fsfModalWindowElemFollowedLink () {
372 fsfModalWindowElemDontShowForDays(
14, false);
375 // Check if visiting appeal page.
376 if (window.location.href.indexOf(
"appeal")
> -
1) {
377 fsfModalWindowElemDontShowForAWhile();
380 // Close popup if user clicks trasparent part
381 document.getElementById(
"fsf-modal-window-elem-container").addEventListener(
"click", function(event){
382 fsfModalWindowElemDontShowForAWhile();
385 // Do not close popup if clicking non-trasparent part (with the text and buttons)
386 document.getElementById(
"fsf-modal-window-elem").addEventListener(
"click", function(event){
387 event.stopPropagation();
390 // Close popup if user clicks X icon.
391 document.getElementById(
"fsf-modal-window-elem-close-button").addEventListener(
"click", function(event){
392 fsfModalWindowElemDontShowForAWhile();
395 // Disable popup if user clicks one of the main buttons.
396 document.getElementById(
"fsf-modal-window-elem-buttons").addEventListener(
"click", function(event){
397 fsfModalWindowElemFollowedLink();
400 // Disable popup if user clicks one of the
"Read more" link.
401 document.getElementById(
"fsf-modal-window-text-link").addEventListener(
"click", function(event){
402 fsfModalWindowElemFollowedLink();
405 // Close popup if user presses escape key.
406 window.addEventListener(
"keydown", function (event) {
409 fsfModalWindowElemDontShowForAWhile();
418 <!-- End fsf-modal-window-elem campaign element -->
420 <!-- ~~~~~~~~~ GnuPG Header and introduction text ~~~~~~~~~ -->
421 <header class=
"row" id=
"header"><div>
424 <h1>Email Self-Defense
</h1>
426 <!-- Language list for browsers that do not have JS enabled -->
427 <ul id=
"languages" class=
"os">
428 <li><a class=
"current" href=
"/en">English - v5.0
</a></li>
429 <li><a href=
"/es">español - v5.0
</a></li>
430 <li><a href=
"/fr">français - v5.0
</a></li>
431 <li><a href=
"/tr">Türkçe - v5.0
</a></li>
432 <!--<li><a href="/cs">čeština - v4.0</a></li>
433 <li><a href="/de">Deutsch - v4.0</a></li>
434 <li><a href="/el">ελληνικά - v3.0</a></li>
435 <li><a href="/fa">فارسی - v4.0</a></li>-->
436 <li><a href=
"/it">italiano - v5.0
</a></li>
437 <!--<li><a href="/ja">日本語 - v4.0</a></li>-->
438 <li><a href=
"/pl">polski - v5.0
</a></li>
439 <!--<li><a href="/pt-br">português do Brasil - v3.0</a></li>
440 <li><a href="/ro">română - v3.0</a></li>-->
441 <li><a href=
"/ru">русский - v5.0
</a></li>
442 <li><a href=
"/sq">Shqip - v5.0
</a></li>
443 <!--<li><a href="/sv">svenska - v4.0</a></li>-->
444 <li><a href=
"/zh-hans">简体中文 - v5.0
</a></li>
445 <li><strong><a href=
"https://libreplanet.org/wiki/GPG_guide/Translation_Guide">
446 Translate!
</a></strong></li>
449 <ul id=
"menu" class=
"os">
450 <li class=
"spacer"><a href=
"index.html" class=
"current">Set up guide
</a></li>
451 <!--<li><a href="mac.html">Mac OS</a></li>-->
452 <!--<li><a href="windows.html">Windows</a></li>-->
453 <li class=
"spacer"><a href=
"workshops.html">Teach your friends
</a></li>
454 <li class=
"spacer"><a
455 href=
"http://hhldo3tnt5solzj2bwfvh7xm4slk2forpjwjyemhcfrlob5gq75gioid.onion/en"
456 target=
"_blank">This site's tor onion service
</a></li>
457 <li class=
"spacer"><a
458 href=
"https://fsf.org/share?u=https://u.fsf.org/zb&t=Email%20encryption%20for%20everyone%20via%20%40fsf">
460 <img src=
"../static/img/gnu-social.png" class=
"share-logo"
461 alt=
"[GNU Social]" />
462 <img src=
"../static/img/mastodon.png" class=
"share-logo"
463 alt=
"[Mastodon]" />
464 <img src=
"../static/img/reddit-alien.png" class=
"share-logo"
465 alt=
"[Reddit]" />
466 <img src=
"../static/img/hacker-news.png" class=
"share-logo"
467 alt=
"[Hacker News]" /></a></li>
470 <!-- ~~~~~~~~~ FSF Introduction ~~~~~~~~~ -->
473 <h3><a href=
"https://u.fsf.org/ys"><img
474 alt=
"Free Software Foundation"
475 src=
"../static/img/fsf-logo.png" />
478 <div class=
"fsf-emphasis">
480 <p>We fight for computer users' rights, and promote the development of free (as
481 in freedom) software. Resisting bulk surveillance is very important to us.
</p>
483 <p><strong>Please donate to support Email Self-Defense. We need to keep
484 improving it, and making more materials, for the benefit of people around
485 the world taking the first step towards protecting their privacy.
</strong></p>
489 <div style=
"text-align: center;">
490 <p><a href=
"https://crm.fsf.org/civicrm/contribute/transact?reset=1&id=14&mtm_campaign=email_self_defense&mtm_kwd=guide_donate"><img alt=
"Donate" src=
"../static/img/en/donate.png" /></a></p>
493 <form action=
"https://my.fsf.org/civicrm/profile/create?reset=1&gid=31" method=
"post">
494 <p>Enter your email address to receive our monthly newsletter, the
<br /><a href=
"https://www.fsf.org/free-software-supporter/">Free Software Supporter
</a></p>
496 <p><input id=
"frmEmail" type=
"text" name=
"email-Primary" size=
"18" maxlength=
"80" /></p>
497 <p><input type=
"submit" name=
"_qf_Edit_next" value=
"Subscribe me" /></p>
498 <div><input name=
"postURL" type=
"hidden" value=
"" />
499 <input type=
"hidden" name=
"group[25]" value=
"1" />
500 <input name=
"cancelURL" type=
"hidden" value=
"https://my.fsf.org/civicrm/profile?reset=1&gid=31" />
501 <input name=
"_qf_default" type=
"hidden" value=
"Edit:cancel" />
505 </div><!-- End #fsf-intro -->
507 <!-- ~~~~~~~~~ Guide Introduction ~~~~~~~~~ -->
510 <p><a id=
"infographic" href=
"infographic.html"><img
511 src=
"../static/img/en/infographic-button.png"
512 alt=
"View & share our infographic →" /></a>
513 Bulk surveillance violates our fundamental rights and makes free speech
514 risky. This guide will teach you a basic surveillance self-defense skill: email
515 encryption. Once you've finished, you'll be able to send and receive emails
516 that are scrambled to make sure a surveillance agent or thief intercepting
517 your email can't read them. All you need is a computer with an Internet
518 connection, an email account, and about forty minutes.
</p>
520 <p>Even if you have nothing to hide, using encryption helps protect the privacy
521 of people you communicate with, and makes life difficult for bulk surveillance
522 systems. If you do have something important to hide, you're in good company;
523 these are the same tools that whistleblowers use to protect their identities
524 while shining light on human rights abuses, corruption, and other crimes.
</p>
526 <p>In addition to using encryption, standing up
527 to surveillance requires fighting politically for a
<a
528 href=
"https://gnu.org/philosophy/surveillance-vs-democracy.html">reduction
529 in the amount of data collected on us
</a>, but the essential first step is
530 to protect yourself and make surveillance of your communication as difficult
531 as possible. This guide helps you do that. It is designed for beginners, but
532 if you already know the basics of GnuPG or are an experienced free software
533 user, you'll enjoy the advanced tips and the
<a href=
"workshops.html">guide
534 to teaching your friends
</a>.
</p>
536 </div><!-- End .intro -->
537 </div></header><!-- End #header -->
539 <!-- ~~~~~~~~~ Section 1: Get the pieces ~~~~~~~~~ -->
540 <section class=
"row" id=
"section1"><div>
542 <!-- ~~~~~~~~~ section introduction: interspersed text ~~~~~~~~~ -->
543 <div class=
"section-intro">
545 <h2><em>#
1</em> Get the pieces
</h2>
547 <p class=
"notes">This guide relies on software which is
<a
548 href=
"https://www.gnu.org/philosophy/free-sw.html">freely licensed
</a>;
549 it's completely transparent and anyone can copy it or make their
550 own version. This makes it safer from surveillance than proprietary
551 software (like Windows or macOS). Learn more about free software at
<a
552 href=
"https://u.fsf.org/ys">fsf.org
</a>.
</p>
554 <p>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.
</p>
556 </div><!-- End .section-intro -->
558 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
559 <div id=
"step-1a" class=
"step">
560 <div class=
"sidebar">
562 <p class=
"large"><img
563 src=
"../static/img/en/screenshots/step1a-install-wizard.png"
564 alt=
"Step 1.A: Install Wizard" /></p>
566 </div><!-- /.sidebar -->
569 <h3><em>Step
1.a
</em> Set up your email program with your email account
</h3>
571 <p>Open your email program and follow the wizard (step-by-step walkthrough)
572 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.
</p>
575 <!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
576 <div class=
"troubleshooting">
578 <h4>Troubleshooting
</h4>
581 <dt>The wizard doesn't launch
</dt>
582 <dd>You can launch the wizard yourself, but the menu option for doing so is
583 named differently in each email program. The button to launch it will be in
584 the program's main menu, under
"New" or something similar, titled something
585 like
"Add account" or
"New/Existing email account."</dd>
587 <dt>The wizard can't find my account or isn't downloading my mail
</dt>
588 <dd>Before searching the Web, we recommend you start by asking other people
589 who use your email system, to figure out the correct settings.
</dd>
591 <dt>I can't find the menu
</dt>
592 <dd>In many new email programs, the main menu is represented by an image of
593 three stacked horizontal bars.
</dd>
595 <dt class=
"feedback">Don't see a solution to your problem?
</dt>
596 <dd class=
"feedback">Please let us know on the
<a
597 href=
"https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback
601 </div><!-- /.troubleshooting -->
602 </div><!-- End .main -->
603 </div><!-- End #step1-a .step -->
605 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
606 <div id=
"step-1b" class=
"step">
609 <h3><em>Step
1.b
</em> Install GnuPG
</h3>
611 <p>If you are using a GNU/Linux machine, you should already have GnuPG installed, and you can skip to
<a href=
"#section2">Section
2</a>.
</p>
613 <p>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 instructions. For the rest of this guide, the steps are the same for all operating systems.
</p>
615 <!-- ~~~~~~~~~ MACOS ~~~~~~~~~ -->
616 <div class=
"troubleshooting">
621 <dt>Use a third-party package manager to install GnuPG
</dt>
623 <p>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. For this, we will use a program called
"Terminal," which is pre-installed on macOS.
</p>
625 <p># Copy the first command on the home page of
<a href=
"https://brew.sh/">Homebrew
</a> by clicking on the clipboard icon, and paste it in Terminal. Click
"Enter" and wait for the installation to finalize.
</p>
626 <p># Then install GnuPG by entering the following code in Terminal:
<br/>
627 <code>brew install gnupg gnupg2
</code></p>
631 </div><!-- /.troubleshooting -->
633 <!-- ~~~~~~~~~ WINDOWS ~~~~~~~~~ -->
634 <div class=
"troubleshooting">
639 <dt>Get GnuPG by downloading GPG4Win
</dt>
640 <dd><p><a href=
"https://www.gpg4win.org/">GPG4Win
</a> is an 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.
</p>
644 </div><!-- /.troubleshooting -->
645 </div><!-- End .main -->
646 </div><!-- End #step1-b .step -->
648 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
649 <div id=
"terminology" class=
"step">
652 <h3>GnuPG, OpenPGP, what?
</h3>
654 <p>In general, the terms GnuPG, GPG, GNU Privacy Guard, OpenPGP and PGP
655 are used interchangeably. Technically, OpenPGP (Pretty Good Privacy) is the
656 encryption standard, and GNU Privacy Guard (often shortened to GPG or GnuPG)
657 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.
</p>
659 </div><!-- End .main -->
660 </div><!-- End #terminology.step-->
662 </div></section><!-- End #section1 -->
664 <!-- ~~~~~~~~~ Section 2: Make your keys ~~~~~~~~~ -->
665 <section id=
"section2" class=
"row"><div>
667 <!-- ~~~~~~~~~ section introduction: interspersed text ~~~~~~~~~ -->
668 <div class=
"section-intro">
670 <h2><em>#
2</em> Make your keys
</h2>
671 <p class=
"float medium"><img src=
"../static/img/en/screenshots/step2a-01-make-keypair.png" alt=
"A robot with a head shaped like a key holding a private and a public key"/></p>
673 <p>To use the GnuPG system, you'll need a public key and a private key (known
674 together as a keypair). Each is a long string of randomly generated numbers
675 and letters that are unique to you. Your public and private keys are linked
676 together by a special mathematical function.
</p>
678 <p>Your public key isn't like a physical key, because it's stored in the open
679 in an online directory called a keyserver. People download it and use it,
680 along with GnuPG, to encrypt emails they send to you. You can think of the
681 keyserver as a phonebook; people who want to send you encrypted email can
682 look up your public key.
</p>
684 <p>Your private key is more like a physical key, because you keep it to
685 yourself (on your computer). You use GnuPG and your private key together to
686 descramble encrypted emails other people send to you.
<strong>You should never share your private key with anyone, under any
687 circumstances.
</strong></p>
689 <p>In addition to encryption and decryption, you can also use these keys to
690 sign messages and check the authenticity of other people's signatures. We'll
691 discuss this more in the next section.
</p>
693 </div><!-- End .section-intro -->
695 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
696 <div id=
"step-2a" class=
"step">
697 <div class=
"sidebar">
698 <p class=
"large"><img
699 src=
"../static/img/en/screenshots/step2a-02-make-keypair.png"
700 alt=
"Step 2.A: Make your Keypair" /></p>
702 <p class=
"large"><img
703 src=
"../static/img/en/screenshots/step2a-03-make-keypair.png"
704 alt=
"Step 2.A: Set your passphrase" /></p>
706 </div><!-- /.sidebar -->
709 <h3><em>Step
2.a
</em> Make a keypair
</h3>
711 <h4>Make your keypair
</h4>
713 <p>We will use the command line in a terminal to create a keypair using the
716 <p class=
"notes">Whether on GNU/Linux, macOS or Windows, you can launch your
717 terminal (
"Terminal" in macOS,
"PowerShell" in Windows) from the Applications
718 menu (some GNU/Linux systems respond to the
<kbd>Ctrl + Alt + T
</kbd>
721 <p># Enter
<code>gpg --full-generate-key
</code> to start the process.
</p>
722 <p># To answer what kind of key you would like to create, select the default option:
<samp>1 RSA
and
RSA
</samp>.
</p>
723 <p># Enter the following keysize:
<code>4096</code> for a strong key.
</p>
724 <p># Choose the expiration date; we suggest
<code>2y
</code> (
2 years).
</p>
725 <p>Follow the prompts to continue setting up with your personal details.
</p>
726 <p class=
"notes"> Depending on your version of GPG, you may need to use
727 <code>--gen-key
</code> instead of
<code>--full-generate-key
</code>.
</p>
728 <p>You can set further options by running
<code>gpg --edit-key [your@email]
</code> in a
731 <h4>Set your passphrase
</h4>
732 <p>On the screen titled
"Passphrase," pick a strong passphrase! You can
733 do it manually, or you can use the Diceware method. Doing it manually
734 is faster but not as secure. Using Diceware takes longer and requires
735 dice, but creates a passphrase that is much harder for attackers to figure
736 out. To use it, read the section
"Make a secure passphrase with Diceware" in
<a
737 href=
"https://theintercept.com/2015/03/26/passphrases-can-memorize-attackers-cant-guess/">
738 this article
</a> by Micah Lee.
</p>
741 <p>If you'd like to pick a passphrase manually, come up with something
742 you can remember which is at least twelve characters long, and includes
743 at least one lower case and upper case letter and at least one number or
744 punctuation symbol. Never pick a passphrase you've used elsewhere. Don't use
745 any recognizable patterns, such as birthdays, telephone numbers, pets' names,
746 song lyrics, quotes from books, and so on.
</p>
748 <!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
749 <div class=
"troubleshooting">
751 <h4>Troubleshooting
</h4>
753 <dt>GnuPG is not installed
</dt>
755 You can check if this is the case with the command
<code>gpg --version
</code>.
756 If GnuPG is not installed, it will bring up the following result on most GNU/Linux operating systems, or something like it:
757 <samp>Command 'gpg' not found, but can be installed with:
758 sudo apt install gnupg
</samp>. Follow that command and install the program.
</dd>
760 <dt><i>gpg --full-generate-key
</i> command not working
</dt>
761 <dd>Some distributions use a different version of GPG. When you receive an error code that is something along the lines of:
<samp>gpg: Invalid option
"--full-generate-key"</samp>, you can try the following commands:
<br />
762 <code>sudo apt update
</code><br />
763 <code>sudo apt install gnupg2
</code><br />
764 <code>gpg2 --full-generate-key
</code><br />
765 If this resolved the issue, you need to continue to use the gpg2 identifier instead of gpg throughout the following steps of the guide.
766 <p class=
"notes"> Depending on your version of GPG, you may need to use
767 <code>--gen-key
</code> instead of
<code>--full-generate-key
</code>.
</p>
770 <dt>I took too long to create my passphrase
</dt>
771 <dd>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.
</dd>
773 <dt>How can I see my key?
</dt>
775 Use the following command to see all keys:
<code>gpg --list-keys
</code>. Yours should be listed in there, and later, so will Edward's (
<a href=
"#section3">Section
3</a>).
<br />
776 If you want to see only your key, you can use
<code>gpg --list-key [your@email]
</code>.
<br />
777 You can also use
<code>gpg --list-secret-key
</code> to see your own private key.
</dd>
779 <dt>More resources
</dt>
780 <dd>For more information about this process, you can also refer to
<a
781 href=
"https://www.gnupg.org/gph/en/manual/c14.html#AEN25">The GNU Privacy
782 Handbook
</a>. Make sure you stick with
"RSA and RSA" (the default),
783 because it's newer and more secure than the algorithms the documentation
784 recommends. Also make sure your key is at least
4096 bits if you
785 want to be secure.
</dd>
787 <dt class=
"feedback">Don't see a solution to your problem?
</dt>
788 <dd class=
"feedback">Please let us know on the
<a
789 href=
"https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback
793 </div><!-- /.troubleshooting -->
795 <!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
796 <div class=
"troubleshooting">
800 <dt>Advanced key pairs
</dt>
801 <dd>When GnuPG creates a new keypair, it compartmentalizes
802 the encryption function from the signing function through
<a
803 href=
"https://wiki.debian.org/Subkeys">subkeys
</a>. If you use
804 subkeys carefully, you can keep your GnuPG identity more
805 secure and recover from a compromised key much more quickly.
<a
806 href=
"https://alexcabal.com/creating-the-perfect-gpg-keypair/">Alex Cabal
</a>
807 and
<a href=
"https://keyring.debian.org/creating-key.html">the Debian wiki
</a>
808 provide good guides for setting up a secure subkey configuration.
</dd>
811 </div><!-- /.troubleshooting -->
812 </div><!-- End .main -->
813 </div><!-- End #step-2a .step -->
815 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
816 <div id=
"step-2b" class=
"step">
817 <div class=
"sidebar">
818 <p class=
"large"><img
819 src=
"../static/img/en/screenshots/step2b-04-upload-and-certificate.png"
820 alt=
"Step 2.B: Send to server and generate a certificate" /></p>
822 </div><!-- /.sidebar -->
825 <h3><em>Step
2.b
</em> Some important steps following creation
</h3>
827 <h4>Upload your key to a keyserver
</h4>
828 <p>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
829 that you can select from the menu when you upload, but they are mostly all copies
830 of each other. Any server will work, but it's good to remember which one you uploaded your key to originally. Also keep in mind, sometimes takes a few hours for them to match each other when a new key is uploaded.
</p>
831 <p># Copy your keyID:
<code>gpg --list-key [your@email]
</code> 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.
</p>
832 <p># Upload your key to a server:
833 <code>gpg --send-key [keyID]
</code></p>
835 <h4>Export your key to a file
</h4>
836 <p>Use the following command to export your secret key so you can import it into your email client at the next
<a href=
"#section3">step
</a>. 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:
</p>
838 $ gpg --export-secret-keys -a [keyID]
> my_secret_key.asc
<br/>
839 $ gpg --export -a [keyID]
> my_public_key.asc
842 <h4>Generate a revocation certificate
</h4>
843 <p>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
<a href=
"#step-6c">Step
6.C
</a> 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
<a href=
"#section5">Section
5</a>.
</p>
845 <p># Copy your keyID:
<code>gpg --list-key [your@email]
</code> 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.
</p>
846 <p># Generate a revocation certificate:
<code>gpg --gen-revoke --output revoke.asc [keyID]
</code></p>
847 <p># It will prompt you to give a reason for revocation, we recommend to use
<samp>1 =
key has been compromised
</samp>.
</p>
848 <p># You don't have to fill in a reason, but you can; then press
"Enter" for an empty line, and confirm your selection.
</p>
851 <!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
852 <div class=
"troubleshooting">
854 <h4>Troubleshooting
</h4>
857 <dt>Sending my key to the keyserver is not working
</dt>
858 <dd>Instead of using the general command to upload your key to the keyserver, you can use a more specific command and add the keyserver to your command
<code>gpg --keyserver keys.openpgp.org --send-key [keyID]
</code>.
</dd>
860 <dt>My key doesn't seem to be working or I get a
"permission denied."</dt>
861 <dd><p>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.
</p>
863 <p># Check your permissions:
<code>ls -l ~/.gnupg/*
</code></p>
864 <p># Set permissions to read, write, execute for only yourself, no others. These are the recommended permissions for your folder.
<br/>
865 You can use the command:
<code>chmod
700 ~/.gnupg
</code></p>
866 <p># Set permissions to read and write for yourself only, no others. These are the recommended permissions for the keys inside your folder.
<br/>
867 You can use the code:
<code>chmod
600 ~/.gnupg/*
</code></p>
869 <p class=
"notes">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
<a href=
"https://helpdeskgeek.com/linux-tips/understanding-linux-permissions-chmod-usage/">this detailed information guide
</a>.
</p>
872 <dt class=
"feedback">Don't see a solution to your problem?
</dt>
873 <dd class=
"feedback">Please let us know on the
<a
874 href=
"https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback
878 </div><!-- /.troubleshooting -->
880 <!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
881 <div class=
"troubleshooting">
886 <dt>More about keyservers
</dt>
887 <dd>You can find some more keyserver information
<a
888 href=
"https://www.gnupg.org/gph/en/manual/x457.html">in this manual
</a>. You can also
<a
889 href=
"https://www.gnupg.org/gph/en/manual/x56.html#AEN64">directly export
890 your key
</a> as a file on your computer.
</dd>
892 <dt>Transferring your keys
</dt>
894 <p>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:
</p>
897 $ gpg --export-secret-keys -a [keyID]
> my_private_key.asc
<br />
898 $ gpg --export -a [keyID]
> my_public_key.asc
<br />
899 $ gpg --import my_private_key.asc
<br />
900 $ gpg --import my_public_key.asc
903 <p>Ensure that the keyID printed is the correct one, and if so, then go ahead and add ultimate trust for it:
</p>
906 $ gpg --edit-key [your@email]
909 <p>Because this is your key, you should choose
<code>ultimate
</code>. You shouldn't trust anyone else's key ultimately.
</p>
911 <p class=
"notes"> Refer to
<a href=
"#step-2b">Troubleshooting in Step
2.B
</a> 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
</p>
915 </div><!-- /.troubleshooting -->
916 </div><!-- End .main -->
917 </div><!-- End #step-2b .step -->
918 </div></section><!-- End #section2 -->
920 <!-- ~~~~~~~~~ Section 3: Set up email encryption ~~~~~~~~~ -->
921 <section id=
"section3" class=
"row"><div>
923 <!-- ~~~~~~~~~ section introduction: interspersed text ~~~~~~~~~ -->
924 <div class=
"section-intro">
926 <h2><em>#
3</em> Set up email encryption
</h2>
927 <p class=
"notes">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.
</p>
929 </div><!-- End .section-intro -->
931 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
932 <div id=
"step-3a" class=
"step">
933 <div class=
"sidebar">
935 <p class=
"large"><img src=
"../static/img/en/screenshots/step3a-open-key-manager.png"
936 alt=
"Step 3.A: Email Menu" /></p>
938 <p class=
"large"><img src=
"../static/img/en/screenshots/step3a-import-from-file.png"
939 alt=
"Step 3.A: Import From File" /></p>
941 <p class=
"large"><img src=
"../static/img/en/screenshots/step3a-success.png"
942 alt=
"Step 3.A: Success" /></p>
944 <p class=
"large"><img src=
"../static/img/en/screenshots/step3a-troubleshoot.png"
945 alt=
"Step 3.A: Troubleshoot" /></p>
946 </div><!-- /.sidebar -->
949 <h3><em>Step
3.a
</em> Set up your email with encryption
</h3>
951 <p>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.
</p>
953 <p># Open your email client and use
"Tools" → <i>OpenPGP Key Manager
</i></p>
954 <p># Under
"File" → <i>Import Secret Key(s) From File
</i></p>
955 <p># Select the file you saved under the name [my_secret_key.asc] in
<a href=
"#step-2b">Step
2.B
</a> when you exported your key
</p>
956 <p># Unlock with your passphrase
</p>
957 <p># You will receive a
"OpenPGP keys successfully imported" window to confirm success
</p>
958 <p># Go to
"Account settings" → "End-To-End Encryption," and make sure your key is imported and select
<i>Treat this key as a Personal Key
</i>.
</p>
960 </div><!-- End .main -->
962 <!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
964 <div class=
"troubleshooting">
965 <h4>Troubleshooting
</h4>
967 <dt>I'm not sure the import worked correctly
</dt>
969 Look for
"Account settings" → "End-To-End Encryption." Here you can see if your personal key associated with this email is found. If it is not, you can try again via the
<i>Add key
</i> option. Make sure you have the correct, active, secret key file.
972 <dt class=
"feedback">Don't see a solution to your problem?
</dt>
973 <dd class=
"feedback">Please let us know on the
<a
974 href=
"https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback
978 </div><!-- /.troubleshooting -->
979 </div><!-- End .main -->
980 </div><!-- End #step3-a .step -->
981 </div></section><!-- End #section3 -->
983 <!-- ~~~~~~~~~ Section 4: Try it out ~~~~~~~~~ -->
984 <section class=
"row" id=
"section4"><div>
986 <!-- ~~~~~~~~~ section introduction: interspersed text ~~~~~~~~~ -->
987 <div class=
"section-intro">
989 <h2><em>#
4</em> Try it out!
</h2>
990 <p class=
"float small"><img src=
"../static/img/en/screenshots/section3-try-it-out.png" alt=
"Illustration of a person in a house with a cat connected to a server"/></p>
991 <p>Now you'll try a test correspondence with an FSF computer program named Edward,
992 who knows how to use encryption. Except where noted, these are the same
993 steps you'd follow when corresponding with a real, live person.
</p>
995 <!-- <p>NOTE: Edward is currently having some technical difficulties, so he
996 may take a long time to respond, or not respond at all. We're sorry about
997 this and we're working hard to fix it. Your key will still work even without
998 testing with Edward.</p> -->
1000 <div style=
"clear: both"></div>
1001 </div><!-- End .section-intro -->
1003 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1004 <div id=
"step-4a" class=
"step">
1005 <div class=
"sidebar">
1007 <p class=
"large"><img
1008 src=
"../static/img/en/screenshots/step4a-send-key-to-Edward.png"
1009 alt=
"Step 4.A Send key to Edward." /></p>
1011 </div><!-- /.sidebar -->
1014 <h3><em>Step
4.a
</em> Send Edward your public key
</h3>
1016 <p>This is a special step that you won't have to do when corresponding
1017 with real people. In your email program's menu, go to
"Tools" → "OpenPGP Key
1018 Manager." You should see your key in the list that pops up. Right click
1019 on your key and select
<i>Send Public Keys by Email
</i>. 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.
</p>
1021 <p>Address the message to
<a
1022 href=
"mailto:edward-en@fsf.org">edward-en@fsf.org
</a>. Put at least one word
1023 (whatever you want) in the subject and body of the email. Don't send yet.
</p>
1025 <p>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
<i>Do Not Encrypt
</i>. Once encryption is off, hit Send.
</p>
1027 <p class=
"notes">It may take two or three minutes for Edward to
1028 respond. In the meantime, you might want to skip ahead and check out the
<a
1029 href=
"#section6">Use it Well
</a> section of this guide. Once you have received a response,
1030 head to the next step. From here on, you'll be doing just the same thing as
1031 when corresponding with a real person.
</p>
1033 <p>When you open Edward's reply, GnuPG may prompt you for your passphrase
1034 before using your private key to decrypt it.
</p>
1036 </div><!-- End .main -->
1037 </div><!-- End #step-4a .step -->
1039 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1040 <div id=
"step-4b" class=
"step">
1041 <div class=
"sidebar">
1043 <p class=
"large"><img
1044 src=
"../static/img/en/screenshots/step4b-option1-verify-key.png"
1045 alt=
"Step 4.B Option 1. Verify key" /></p>
1047 <p class=
"large"><img
1048 src=
"../static/img/en/screenshots/step4b-option2-import-key.png"
1049 alt=
"Step 4.B Option 2. Import key" /></p>
1050 </div><!-- /.sidebar -->
1054 <h3><em>Step
4.b
</em> Send a test encrypted email
</h3>
1056 <h4>Get Edward's key
</h4>
1058 <p>To encrypt an email to Edward, you need its public key, so now you'll have
1059 to download it from a keyserver. You can do this in two different ways:
</p>
1060 <p><strong>Option
1.
</strong> 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
<i>Discover
</i> next to the text:
"This message was signed with a key that you don't yet have." A popup with Edward's key details will follow.
</p>
1062 <p><strong>Option
2.
</strong> Open your OpenPGP Key manager, and under
"Keyserver" choose
<i>Discover Keys Online
</i>. Here, fill in Edward's email address, and import Edward's key.
</p>
1064 <p>The option
<i>Accepted (unverified)
</i> 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.
</p>
1066 <p class=
"notes">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.
</p>
1068 <p class=
"notes">Since you encrypted this email with Edward's public key,
1069 Edward's private key is required to decrypt it. Edward is the only one with
1070 its private key, so no one except Edward can decrypt it.
</p>
1072 <h4>Send Edward an encrypted email
</h4>
1074 <p> Write a new email in your email program, addressed to
<a
1075 href=
"mailto:edward-en@fsf.org">edward-en@fsf.org
</a>. Make the subject
1076 "Encryption test" or something similar and write something in the body.
</p>
1078 <p>This time, make sure encryption is turned on by using the dropdown menu
"Security" and select
<i>Require Encryption
</i>. Once encryption is on, hit Send.
</p>
1081 <!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
1082 <div class=
"troubleshooting">
1084 <h4>Troubleshooting
</h4>
1087 <dt>"Recipients not valid, not trusted or not found"</dt>
1088 <dd>You could get the above error message, or something along these lines:
"Unable to send this message with end-to-end encryption, because there are problems with the keys of the following recipients: ..." In these cases, 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 the OpenPGP Key Manager to make sure the recipient is listed there.
</dd>
1090 <dt>Unable to send message
</dt>
1091 <dd>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
"Not accepted (undecided)" option. Go to the
"key properties" of this key by right clicking on the key in the OpenPGP Key Manager, and select the option
<i>Yes, but I have not verified that this is the correct key
</i> in the
"Acceptance" option at the bottom of this window. Resend the email.
</dd>
1093 <dt>I can't find Edward's key
</dt>
1094 <dd>Close the pop-ups that have appeared since you clicked Send. Make sure
1095 you are connected to the Internet and try again. If that doesn't work, you can download the key manually from
<a href=
"https://keys.openpgp.org/search?q=edward-en%40fsf.org">the keyserver
</a>, and import it by using the
<i>Import Public Key(s) from File
</i> option in the OpenPGP Key Manager.
</dd>
1097 <dt>Unscrambled messages in the Sent folder
</dt>
1098 <dd>Even though you can't decrypt messages encrypted to someone else's key,
1099 your email program will automatically save a copy encrypted to your public key,
1100 which you'll be able to view from the Sent folder like a normal email. This
1101 is normal, and it doesn't mean that your email was not sent encrypted.
</dd>
1103 <dt class=
"feedback">Don't see a solution to your problem?
</dt>
1104 <dd class=
"feedback">Please let us know on the
<a
1105 href=
"https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback
1109 </div><!-- /.troubleshooting -->
1111 <!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
1112 <div class=
"troubleshooting">
1117 <dt>Encrypt messages from the command line
</dt>
1118 <dd>You can also encrypt and decrypt messages and files from the
<a
1119 href=
"https://www.gnupg.org/gph/en/manual/x110.html">command line
</a>,
1120 if that's your preference. The option --armor makes the encrypted output
1121 appear in the regular character set.
</dd>
1124 </div><!-- /.troubleshooting -->
1125 </div><!-- End .main -->
1126 </div><!-- End #step-4b .step -->
1128 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1129 <div id=
"step-headers_unencrypted" class=
"step">
1132 <h3><em>Important:
</em> Security tips
</h3>
1134 <p>Even if you encrypt your email, the subject line is not encrypted, so
1135 don't put private information there. The sending and receiving addresses
1136 aren't encrypted either, so a surveillance system can still figure out who
1137 you're communicating with. Also, surveillance agents will know that you're
1138 using GnuPG, even if they can't figure out what you're saying. When you
1139 send attachments, you can choose to encrypt them or not,
1140 independent of the actual email.
</p>
1142 <p>For greater security against potential attacks, you can turn off
1143 HTML. Instead, you can render the message body as plain text. In order
1144 to do this in Icedove or Thunderbird, go to
"View" → "Message Body As" → <i>Plain
1147 </div><!-- End .main -->
1148 </div><!-- End #step-headers_unencrypted .step-->
1150 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1151 <div id=
"step-4c" class=
"step">
1152 <div class=
"sidebar">
1154 <p class=
"large"><img
1155 src=
"../static/img/en/screenshots/step4c-Edward-response.png"
1156 alt=
"Step 4.C Edward's response" /></p>
1158 </div><!-- /.sidebar -->
1162 <h3><em>Step
4.c
</em> Receive a response
</h3>
1164 <p>When Edward receives your email, it will use its private key to decrypt
1165 it, then reply to you.
</p>
1167 <p class=
"notes">It may take two or three minutes for Edward to
1168 respond. In the meantime, you might want to skip ahead and check out the
<a
1169 href=
"#section6">Use it Well
</a> section of this guide.
</p>
1171 <p>Edward will send you an encrypted email back saying your email was received and decrypted. Your email client will automatically decrypt Edward's message.
</p>
1173 <p class=
"notes">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.
</p>
1175 </div><!-- End .main -->
1176 </div><!-- End #step-4c .step -->
1178 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1179 <div id=
"step-4d" class=
"step">
1182 <h3><em>Step
4.d
</em> Send a signed test email
</h3>
1184 <p>GnuPG includes a way for you to sign messages and files, verifying that
1185 they came from you and that they weren't tampered with along the way. These
1186 signatures are stronger than their pen-and-paper cousins -- they're impossible
1187 to forge, because they're impossible to create without your private key
1188 (another reason to keep your private key safe).
</p>
1190 <p>You can sign messages to anyone, so it's a great way to make people
1191 aware that you use GnuPG and that they can communicate with you securely. If
1192 they don't have GnuPG, they will be able to read your message and see your
1193 signature. If they do have GnuPG, they'll also be able to verify that your
1194 signature is authentic.
</p>
1196 <p>To sign an email to Edward, compose any message to the email address and click the
1197 pencil icon next to the lock icon so that it turns gold. If you sign a
1198 message, GnuPG may ask you for your passphrase before it sends the message,
1199 because it needs to unlock your private key for signing.
</p>
1201 <p>In
"Account Settings" → "End-To-End-Encryption" you can opt to
<i>add digital signature by default
</i>.
</p>
1203 </div><!-- End .main -->
1204 </div><!-- End #step-4d .step -->
1206 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1207 <div id=
"step-4e" class=
"step">
1210 <h3><em>Step
4.e
</em> Receive a response
</h3>
1212 <p>When Edward receives your email, he will use your public key (which
1213 you sent him in
<a href=
"#step-3a">Step
3.A
</a>) to verify the message
1214 you sent has not been tampered with and to encrypt a reply to you.
</p>
1216 <p class=
"notes">It may take two or three minutes for Edward to
1217 respond. In the meantime, you might want to skip ahead and check out the
<a
1218 href=
"#section6">Use it Well
</a> section of this guide.
</p>
1220 <p>Edward's reply will arrive encrypted, because he prefers to use encryption
1221 whenever possible. If everything goes according to plan, it should say
1222 "Your signature was verified." If your test signed email was also encrypted,
1223 he will mention that first.
</p>
1225 <p>When you receive Edward's email and open it, your email client will
1226 automatically detect that it is encrypted with your public key, and
1227 then it will use your private key to decrypt it.
</p>
1229 </div><!-- End .main -->
1230 </div><!-- End #step-4e .step -->
1233 <!-- ~~~~~~~~~ Section 5: Learn About the Web of Trust ~~~~~~~~~ -->
1234 <section class=
"row" id=
"section5"><div>
1236 <!-- ~~~~~~~~~ section introduction: interspersed text ~~~~~~~~~ -->
1237 <div class=
"section-intro">
1239 <h2><em>#
5</em> Learn about the Web of Trust
</h2>
1240 <p class=
"float small"><img src=
"../static/img/en/screenshots/section5-web-of-trust.png" alt=
"Illustration of keys all interconnected with a web of lines"/></p>
1242 <p>Email encryption is a powerful technology, but it has a weakness:
1243 it requires a way to verify that a person's public key is actually
1244 theirs. Otherwise, there would be no way to stop an attacker from making
1245 an email address with your friend's name, creating keys to go with it, and
1246 impersonating your friend. That's why the free software programmers that
1247 developed email encryption created keysigning and the Web of Trust.
</p>
1249 <p>When you sign someone's key, you are publicly saying that you've verified
1250 that it belongs to them and not someone else.
</p>
1252 <p>Signing keys and signing messages use the same type of mathematical
1253 operation, but they carry very different implications. It's a good practice
1254 to generally sign your email, but if you casually sign people's keys, you
1255 may accidentally end up vouching for the identity of an imposter.
</p>
1257 <p>People who use your public key can see who has signed it. Once you've
1258 used GnuPG for a long time, your key may have hundreds of signatures. You
1259 can consider a key to be more trustworthy if it has many signatures from
1260 people that you trust. The Web of Trust is a constellation of GnuPG users,
1261 connected to each other by chains of trust expressed through signatures.
</p>
1263 </div><!-- End .section-intro -->
1265 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1266 <div id=
"step-5a" class=
"step">
1267 <div class=
"sidebar">
1269 <p class=
"large"><img
1270 src=
"../static/img/en/screenshots/step5a-key-properties.png"
1271 alt=
"Section 5: trusting a key" /></p>
1273 </div><!-- /.sidebar -->
1276 <h3><em>Step
5.a
</em> Sign a key
</h3>
1278 <p>In your email program's menu, go to OpenPGP Key Manager and select
<i>Key properties
</i> by right clicking on Edward's key.
</p>
1280 <p>Under
"Your Acceptance," you can select
<i>Yes, I've verified in person this key has the correct fingerprint
</i>.
</p>
1282 <p class=
"notes">You've just effectively said
"I trust that Edward's public
1283 key actually belongs to Edward." This doesn't mean much because Edward isn't
1284 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
<a href=
"#check-ids-before-signing">check IDs before signing
</a> section.
</p>
1286 <!--<div id="pgp-pathfinder">
1288 <form enctype="application/x-www-form-urlencoded" action="/mk_path.cgi"
1291 <p><strong>From:</strong><input type="text" value="xD41A008"
1294 <p><strong>To:</strong><input type="text" value="50BD01x4" name="TO"></p>
1296 <p class="buttons"><input type="submit" value="trust paths" name="PATHS"><input
1297 type="reset" value="reset" name=".reset"></p>
1301 </div>End #pgp-pathfinder -->
1302 </div><!-- End .main -->
1303 </div><!-- End #step-5a .step -->
1305 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1306 <div id=
"step-identify_keys" class=
"step">
1309 <h3>Identifying keys: Fingerprints and IDs
</h3>
1311 <p>People's public keys are usually identified by their key fingerprint,
1312 which is a string of digits like F357AA1A5B1FA42CFD9FE52A9FF2194CC09A61E8
1313 (for Edward's key). You can see the fingerprint for your public key, and
1314 other public keys saved on your computer, by going to OpenPGP Key
1315 Management in your email program's menu, then right clicking on the key
1316 and choosing Key Properties. It's good practice to share your fingerprint
1317 wherever you share your email address, so that people can double-check that
1318 they have the correct public key when they download yours from a keyserver.
</p>
1320 <p class=
"notes">You may also see public keys referred to by a shorter
1321 keyID. This keyID is visible directly from the Key Management
1322 window. These eight character keyIDs were previously used for
1323 identification, which used to be safe, but is no longer reliable. You
1324 need to check the full fingerprint as part of verifying you have the
1325 correct key for the person you are trying to contact. Spoofing, in
1326 which someone intentionally generates a key with a fingerprint whose
1327 final eight characters are the same as another, is unfortunately
1330 </div><!-- End .main -->
1331 </div><!-- End #step-identify_keys .step-->
1333 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1334 <div id=
"check-ids-before-signing" class=
"step">
1337 <h3><em>Important:
</em> What to consider when signing keys
</h3>
1339 <p>Before signing a person's key, you need to be confident that it actually
1340 belongs to them, and that they are who they say they are. Ideally, this
1341 confidence comes from having interactions and conversations with them over
1342 time, and witnessing interactions between them and others. Whenever signing
1343 a key, ask to see the full public key fingerprint, and not just the shorter
1344 keyID. If you feel it's important to sign the key of someone you've just
1345 met, also ask them to show you their government identification, and make
1346 sure the name on the ID matches the name on the public key.
</p>
1348 <!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
1349 <div class=
"troubleshooting">
1354 <dt>Master the Web of Trust
</dt>
1355 <dd>Unfortunately, trust does not spread between users the way
<a
1356 href=
"https://fennetic.net/irc/finney.org/~hal/web_of_trust.html">many people
1357 think
</a>. One of the best ways to strengthen the GnuPG community is to deeply
<a
1358 href=
"https://www.gnupg.org/gph/en/manual/x334.html">understand
</a> the Web of
1359 Trust and to carefully sign as many people's keys as circumstances permit.
</dd>
1362 </div><!-- /.troubleshooting -->
1363 </div><!-- End .main -->
1364 </div><!-- End #check-ids-before-signing .step-->
1365 </div></section><!-- End #section5 -->
1367 <!-- ~~~~~~~~~ Section 6: Use it well ~~~~~~~~~ -->
1368 <section id=
"section6" class=
"row"><div>
1370 <!-- ~~~~~~~~~ section introduction: interspersed text ~~~~~~~~~ -->
1371 <div class=
"section-intro">
1373 <h2><em>#
6</em> Use it well
</h2>
1375 <p>Everyone uses GnuPG a little differently, but it's important to follow
1376 some basic practices to keep your email secure. Not following them, you
1377 risk the privacy of the people you communicate with, as well as your own,
1378 and damage the Web of Trust.
</p>
1380 </div><!-- End .section-intro -->
1382 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1383 <div id=
"step-6a" class=
"step">
1384 <div class=
"sidebar">
1386 <p class=
"medium"><img
1387 src=
"../static/img/en/screenshots/section6-01-use-it-well.png"
1388 alt=
"Section 6: Use it Well (1)" /></p>
1390 </div><!-- /.sidebar -->
1393 <h3>When should I encrypt? When should I sign?
</h3>
1395 <p>The more you can encrypt your messages, the better. If you only encrypt
1396 emails occasionally, each encrypted message could raise a red flag for
1397 surveillance systems. If all or most of your email is encrypted, people
1398 doing surveillance won't know where to start. That's not to say that only
1399 encrypting some of your email isn't helpful -- it's a great start and it
1400 makes bulk surveillance more difficult.
</p>
1402 <p>Unless you don't want to reveal your own identity (which requires other
1403 protective measures), there's no reason not to sign every message, whether or
1404 not you are encrypting. In addition to allowing those with GnuPG to verify
1405 that the message came from you, signing is a non-intrusive way to remind
1406 everyone that you use GnuPG and show support for secure communication. If you
1407 often send signed messages to people that aren't familiar with GnuPG, it's
1408 nice to also include a link to this guide in your standard email signature
1409 (the text kind, not the cryptographic kind).
</p>
1411 </div><!-- End .main -->
1412 </div><!-- End #step-6a .step -->
1414 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1415 <div id=
"step-6b" class=
"step">
1416 <div class=
"sidebar">
1418 <p class=
"medium"><img
1419 src=
"../static/img/en/screenshots/section6-02-use-it-well.png"
1420 alt=
"Section 6: Use it Well (2)" /></p>
1422 </div><!-- /.sidebar -->
1425 <h3>Be wary of invalid keys
</h3>
1427 <p>GnuPG makes email safer, but it's still important to watch out for invalid
1428 keys, which might have fallen into the wrong hands. Email encrypted with
1429 invalid keys might be readable by surveillance programs.
</p>
1431 <p>In your email program, go back to the first encrypted email that Edward
1432 sent you. Because Edward encrypted it with your public key, it will have a
1433 green checkmark on the
"OpenPGP" button.
</p>
1435 <p><strong>When using GnuPG, make a habit of glancing at that button. The program
1436 will warn you there if you get an email signed with a key that can't
1437 be trusted.
</strong></p>
1439 </div><!-- End .main -->
1440 </div><!-- End #step-6b .step -->
1442 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1443 <div id=
"step-6c" class=
"step">
1446 <h3>Copy your revocation certificate to somewhere safe
</h3>
1448 <p>Remember when you created your keys and saved the revocation certificate
1449 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.
</p>
1451 <p>If your private key ever gets lost or stolen, you'll need this certificate
1452 file to let people know that you are no longer using that keypair.
</p>
1454 </div><!-- End .main -->
1455 </div><!-- End #step-6c .step -->
1457 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1458 <div id=
"step-lost_key" class=
"step">
1461 <h3><em>IMPORTANT:
</em> ACT SWIFTLY if someone gets your private key
</h3>
1463 <p>If you lose your private key or someone else gets a hold
1464 of it (say, by stealing or cracking your computer), it's
1465 important to revoke it immediately before someone else uses
1466 it to read your encrypted email or forge your signature. This
1467 guide doesn't cover how to revoke a key, but you can follow these
<a
1468 href=
"https://www.hackdiary.com/2004/01/18/revoking-a-gpg-key/">instructions
</a>.
1469 After you're done revoking, make a new key and send an email to everyone
1470 with whom you usually use your key to make sure they know, including a copy
1471 of your new key.
</p>
1473 </div><!-- End .main -->
1474 </div><!-- End #step-lost_key .step-->
1476 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1477 <div id=
"webmail-and-GnuPG" class=
"step">
1480 <h3>Webmail and GnuPG
</h3>
1482 <p>When you use a web browser to access your email, you're using webmail,
1483 an email program stored on a distant website. Unlike webmail, your desktop
1484 email program runs on your own computer. Although webmail can't decrypt
1485 encrypted email, it will still display it in its encrypted form. If you
1486 primarily use webmail, you'll know to open your email client when you receive
1487 a scrambled email.
</p>
1489 </div><!-- End .main -->
1490 </div><!-- End #webmail-and-GnuPG .step-->
1492 <!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
1493 <div id=
"step-6d" class=
"step">
1496 <h3>Make your public key part of your online identity
</h3>
1498 <p> First add your public key fingerprint to your email signature, then
1499 compose an email to at least five of your friends, telling them you just
1500 set up GnuPG and mentioning your public key fingerprint. Link to this guide
1501 and ask them to join you. Don't forget that there's also an awesome
<a
1502 href=
"infographic.html">infographic to share.
</a></p>
1504 <p class=
"notes">Start writing your public key fingerprint anywhere someone
1505 would see your email address: your social media profiles, blog, Website,
1506 or business card. (At the Free Software Foundation, we put ours on our
1507 <a href=
"https://fsf.org/about/staff">staff page
</a>.) We need to get our
1508 culture to the point that we feel like something is missing when we see an
1509 email address without a public key fingerprint.
</p>
1511 </div><!-- End .main-->
1512 </div><!-- End #step-6d .step-->
1513 </div></section><!-- End #section6 -->
1515 <!-- ~~~~~~~~~ Section 7: Next steps ~~~~~~~~~ -->
1516 <section class=
"row" id=
"section7">
1517 <div id=
"step-click_here" class=
"step">
1520 <h2><a href=
"next_steps.html">Great job! Check out the next steps.
</a></h2>
1522 </div><!-- End .main -->
1523 </div><!-- End #step-click_here .step-->
1524 </section><!-- End #section7 -->
1526 <!-- ~~~~~~~~~ FAQ ~~~~~~~~~ -->
1527 <!-- When un-commenting this section go to main.css and search
1528 for /* Guide Sections Background */ then add #faq to the desired color
1529 <section class="row" id="faq"><div>
1530 <div class="sidebar">
1538 <dt>My key expired</dt>
1539 <dd>Answer coming soon.</dd>
1541 <dt>Who can read encrypted messages? Who can read signed ones?</dt>
1542 <dd>Answer coming soon.</dd>
1544 <dt>My email program is opening at times I don't want it to open/is now my
1545 default program and I don't want it to be.</dt>
1546 <dd>Answer coming soon.</dd>
1551 </section> --><!-- End #faq -->
1553 <!-- ~~~~~~~~~ Footer ~~~~~~~~~ -->
1554 <footer class=
"row" id=
"footer"><div>
1555 <div id=
"copyright">
1557 <h4><a href=
"https://u.fsf.org/ys"><img
1558 alt=
"Free Software Foundation"
1559 src=
"../static/img/fsf-logo.png" /></a></h4>
1561 <p>Copyright
© 2014-
2023 <a
1562 href=
"https://u.fsf.org/ys">Free Software Foundation
</a>, Inc.
<a
1563 href=
"https://my.fsf.org/donate/privacypolicy.html">Privacy Policy
</a>. Please
1564 support our work by
<a href=
"https://u.fsf.org/yr">joining us as an associate
1567 <p>The images on this page are under a
<a
1568 href=
"https://creativecommons.org/licenses/by/4.0/">Creative Commons
1569 Attribution
4.0 license (or later version)
</a>, and the rest of it is under
1570 a
<a href=
"https://creativecommons.org/licenses/by-sa/4.0">Creative Commons
1571 Attribution-ShareAlike
4.0 license (or later version)
</a>. Download the
<a
1572 href=
"https://agpl.fsf.org/emailselfdefense.fsf.org/edward/CURRENT/edward.tar.gz">
1573 source code of Edward reply bot
</a> by Andrew Engelbrecht
1574 <andrew@engelbrecht.io
> and Josh Drake
<zamnedix@gnu.org
>,
1575 available under the GNU Affero General Public License.
<a
1576 href=
"https://www.gnu.org/licenses/license-list.html#OtherLicenses">Why these
1579 <p>Fonts used in the guide
& infographic:
<a
1580 href=
"https://www.google.com/fonts/specimen/Dosis">Dosis
</a> by Pablo
1581 Impallari,
<a href=
"https://www.google.com/fonts/specimen/Signika">Signika
</a>
1582 by Anna Giedry
ś,
<a
1583 href=
"https://www.google.com/fonts/specimen/Archivo+Narrow">Archivo
1584 Narrow
</a> by Omnibus-Type,
<a
1585 href=
"https://libreplanet.org/wiki/GPG_guide/Graphics_Howto#Pitfalls">PXL-
2000</a>
1586 by Florian Cramer.
</p>
1588 <p>Download the
<a href=
"emailselfdefense_source.zip">source package
</a>
1589 for this guide, including fonts, image source files and the text of Edward's
1592 <p>This site uses the Weblabels standard for labeling
<a
1593 href=
"https://www.fsf.org/campaigns/freejs">free JavaScript
</a>. View
1594 the JavaScript
<a href=
"https://weblabels.fsf.org/emailselfdefense.fsf.org/"
1595 rel=
"jslicense">source code and license information
</a>.
</p>
1597 </div><!-- /#copyright -->
1599 <p class=
"credits">Infographic and guide design by
<a rel=
"external"
1600 href=
"https://jplusplus.org"><strong>Journalism++
</strong><img
1601 src=
"../static/img/jplusplus.png"
1602 alt=
"Journalism++" /></a></p><!-- /.credits -->
1603 </div></footer><!-- End #footer -->
1606 <script type=
"text/javascript"
1607 src=
"../static/js/jquery-1.11.0.min.js"></script>
1608 <script type=
"text/javascript"
1609 src=
"../static/js/scripts.js"></script>
1611 <script type=
"text/javascript">
1612 // @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3
&dn=gpl-
2.0.txt GPL-
2.0-or-later
1613 var _paq = _paq || [];
1614 _paq.push([
"trackPageView"]);
1615 _paq.push([
"enableLinkTracking"]);
1618 var u = ((
"https:" == document.location.protocol) ?
"https" :
"http") +
"://"+
"piwik.fsf.org//";
1619 _paq.push([
"setTrackerUrl", u+
"piwik.php"]);
1620 _paq.push([
"setSiteId",
"13"]);
1621 var d=document, g=d.createElement(
"script"), s=d.getElementsByTagName(
"script")[
0]; g.
type=
"text/javascript";
1622 g.defer=true; g.async=true; g.src=u+
"piwik.js"; s.parentNode.insertBefore(g,s);
1626 <!-- End Piwik Code -->
1627 <!-- Piwik Image Tracker -->
1628 <!-- <noscript><img src="https://piwik.fsf.org//piwik.php?idsite=13&rec=1" style="border:0" alt="" /></noscript> -->