<div id="copyright">
<h4><a href="https://u.fsf.org/ys"><img alt="Free Software Foundation" src="//static.fsf.org/nosvn/enc-dev0/img/fsf-logo.png" /></a></h4>
<p>Copyright © 2014 <a href="https://u.fsf.org/ys">Free Software Foundation</a>, Inc. <a href="https://my.fsf.org/donate/privacypolicy.html">Privacy Policy</a>. <a href="https://u.fsf.org/yr">Join.</a></p>
- <p><em>Version 2.1. <a href="http://agpl.fsf.org/emailselfdefense.fsf.org/edward/CURRENT/edward.tar.gz">Source code of Edward reply bot by Josh Drake <zamnedix@gnu.org> available under the GNU General Public License.</a></em></p>
+ <p><em>Version 3.0. <a href="http://agpl.fsf.org/emailselfdefense.fsf.org/edward/CURRENT/edward.tar.gz">Source code of Edward reply bot by Josh Drake <zamnedix@gnu.org> available under the GNU General Public License.</a></em></p>
<p>The images on this page are under a <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 license (or later version)</a>, and the rest of it is under a <a href="https://creativecommons.org/licenses/by-sa/4.0">Creative Commons Attribution-ShareAlike 4.0 license (or later version)</a>. — <a href="http://www.gnu.org/licenses/license-list.html#OtherLicenses">Why these licenses?</a></p>
<p>Download the source package for <a href="emailselfdefense_source.zip">this guide</a>. Fonts used in the guide & infographic: <a href="https://www.google.com/fonts/specimen/Dosis">Dosis</a> by Pablo Impallari, <a href="http://www.google.com/fonts/specimen/Signika">Signika</a> by Anna Giedryś <a href="http://www.google.com/fonts/specimen/Archivo+Narrow">Archivo Narrow</a> by Omnibus-Type, <a href="http://www.thegopherarchive.com/gopher-files-hacks-pxl2000-119351.htm">PXL-2000</a> by Florian Cramer.</p>
<p>
<p>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.</p>
<p>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.</p>
+
+<p class="notes">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 — not even you — can decrypt it.</p>
<!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
<div class="troubleshooting">
<h4>Troubleshooting</h4>
<div id="step-3c" class="step">
<div class="main">
<h3><em>Step 3.c</em> Receive a response</h3>
- <p>When Edward receives your email, he will use his private key to decrypt it, then use your public key (which you sent him in <a href="#step-3a">Step 3.A</a> to encrypt his reply to you.</p>
- <p class="notes">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 — not even you — can decrypt it.</p>
+ <p>When Edward receives your email, he will use his private key to decrypt it, then use your public key (which you sent him in <a href="#step-3a">Step 3.A</a>) to encrypt his reply to you.</p>
+
<p class="notes">It may take two or three minutes for Edward to respond. In the meantime, you might want to skip ahead and check out the <a href="#section5">Use it Well</a> section of this guide.</p>
<p>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.</p>
<p>Notice the bar that Enigmail shows you above the message, with information about the status of Edward's key.</p>
<div id="copyright">
<h4><a href="https://u.fsf.org/ys"><img alt="Free Software Foundation" src="//static.fsf.org/nosvn/enc-dev0/img/fsf-logo.png" /></a></h4>
<p>Copyright © 2014 <a href="https://u.fsf.org/ys">Free Software Foundation</a>, Inc. <a href="https://my.fsf.org/donate/privacypolicy.html">Privacy Policy</a>. <a href="https://u.fsf.org/yr">Join.</a></p>
- <p><em>Version 2.1. <a href="http://agpl.fsf.org/emailselfdefense.fsf.org/edward/CURRENT/edward.tar.gz">Source code of Edward reply bot by Josh Drake <zamnedix@gnu.org> available under the GNU General Public License.</a></em></p>
+ <p><em>Version 3.0. <a href="http://agpl.fsf.org/emailselfdefense.fsf.org/edward/CURRENT/edward.tar.gz">Source code of Edward reply bot by Josh Drake <zamnedix@gnu.org> available under the GNU General Public License.</a></em></p>
<p>The images on this page are under a <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 license (or later version)</a>, and the rest of it is under a <a href="https://creativecommons.org/licenses/by-sa/4.0">Creative Commons Attribution-ShareAlike 4.0 license (or later version)</a>. — <a href="http://www.gnu.org/licenses/license-list.html#OtherLicenses">Why these licenses?</a></p>
<p>Download the source packages for <a href="https://fixme.com">this guide</a> and for <a href="https://static.fsf.org/nosvn/enc-dev0/gnupg-infographic.zip">the infographic</a>. Fonts used in the guide & infographic: <a href="https://www.google.com/fonts/specimen/Dosis">Dosis</a> by Pablo Impallari, <a href="http://www.google.com/fonts/specimen/Signika">Signika</a> by Anna Giedryś <a href="http://www.google.com/fonts/specimen/Archivo+Narrow">Archivo Narrow</a> by Omnibus-Type, <a href="http://www.thegopherarchive.com/gopher-files-hacks-pxl2000-119351.htm">PXL-2000</a> by Florian Cramer.</p>
<p>
<h2><em>#1</em> Get the pieces</h2>
<p class="notes">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 Mac OS). To defend your freedom as well as protect yourself from surveillance, we recommend you switch to a free software operating system like GNU/Linux. Learn more about free software at <a href="https://u.fsf.org/ys">fsf.org</a>.</p>
<p>To get started, you'll need a desktop email program installed on your computer. This guide works with free software versions of the Thunderbird email program, and with Thunderbird itself. Email programs are another way to access the same email accounts you can access in a browser (like Gmail), but provide extra features.</p>
- <p>If you already have one of these, you can skip to <a href="#step-1b">Step 1.b</a>.</p>
+ <p>If you already have an email program, you can skip to <a href="#step-1b">Step 1.b</a>.</p>
</div><!-- End .section-intro -->
<!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
<p><img src="//static.fsf.org/nosvn/enc-dev0/img/en/screenshots/step1a-install-wizard.png" alt="Step 1.A: Install Wizard" /></p>
</div><!-- /.sidebar -->
<div class="main">
- <h3><em>Step 1.a</em> Setup your email program with your email account (if it isn't already)</h3>
- <p>Open your email program and follow the wizard that sets it up with your email account.</p>
+ <h3><em>Step 1.a</em> Setup your email program with your email account</h3>
+ <p>Open your email program and follow the wizard (step-by-step walkthrough) that sets it up with your email account.</p>
<!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
<div class="troubleshooting">
<h4>Troubleshooting</h4>
<dl>
- <dt>What's a wizard?</dt>
- <dd>A wizard is a series of windows that pop up to make it easy to get something done on a computer, like installing a program. You click through it, selecting options as you go.</dd>
- <dt>My email program can't find my account or isn't downloading my mail</dt>
+ <dt>The wizard doesn't launch</dt>
+ <dd>You can launch the wizard yourself, but the menu option for doing so is named differently in each email programs. 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."</dd>
+ <dt>The wizard can't find my account or isn't downloading my mail</dt>
<dd>Before searching the Web, we recommend you start by asking other people who use your email system, to figure out the correct settings.</dd>
<dt class="feedback">Don't see a solution to your problem?</dt>
<dd class="feedback">Please let us know on the <a href="https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback page</a>.</dd>
</div><!-- End .main -->
</div><!-- End #step1-a .step -->
-
<!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
<div id="step-1b" class="step">
</div><!-- /.sidebar -->
<div class="main">
<h3><em>Step 2.a</em> Make a keypair</h3>
- <p>In your email program's menu, select OpenPGP → Setup Wizard. 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.</p>
- <p>On the second screen, titled "Signing," select "No, I want to create per-recipient rules for emails that need to be signed."</p>
- <p>Use the default options until you reach the screen titled "Create Key".</p>
- <p>On the screen titled "Create Key," pick a strong password! Your password should be at least 12 characters and include at least one lower case and upper case letter and at least one number or punctuation symbol. Don't forget the password, or all this work will be wasted!</p>
+ <p>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:</p>
+<ul>
+ <li>On the second screen, titled "Encryption," select "Encrypt all of my messages by default, because privacy is critical to me."</li>
+ <li>On the third screen, titled "Signing," select "Don't sign my messages by default."</li>
+ <li>On the fourth screen, titled "Key Selection," select "I want to create a new key pair for signing and encryption my email."</li>
+ <li>On the screen titled "Create Key," pick a strong password! Your password should be at least 12 characters and include at least one lower case and upper case letter and at least one number or punctuation symbol. Don't forget the password, or all this work will be wasted!</li>
+</ul>
<p class="notes">The program will take a little while to finish the next step, the "Key Creation" screen. While you wait, do something else with your computer, like watching a movie or browsing the Web. The more you use the computer at this point, the faster the key creation will go.</p>
- <p>When the OpenPGP Confirm screen pops up, select Generate Certificate and choose to save it in a safe place on your computer (we recommend making a folder called "Revocation Certificate" in your home folder and keeping it there). You'll learn more about the revocation certificate in <a href="#section5">Section 5</a>. The setup wizard will ask you to move it onto an external device, but that isn't necessary at this moment.</p>
+ <p>When the "Key Generation Completed" screen pops up, select Generate Certificate and choose to save it in a safe place on your computer (we recommend making a folder called "Revocation Certificate" in your home folder and keeping it there). You'll learn more about the revocation certificate in <a href="#section5">Section 5</a>.</p>
<!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
<div class="troubleshooting">
<h4>Troubleshooting</h4>
<dl>
- <dt>I can't find the OpenPGP menu.</dt>
- <dd>In many new email programs, the main menu is represented by an image of three stacked horizontal bars. OpenPGP may be inside a section called Tools.</dd>
-
+ <dt>I can't find the Enigmail menu.</dt>
+ <dd>In many new email programs, the main menu is represented by an image of three stacked horizontal bars. Enigmail may be inside a section called Tools.</dd>
<dt class="feedback">Don't see a solution to your problem?</dt>
<dd class="feedback">Please let us know on the <a href="https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback page</a>.</dd>
<div id="step-2b" class="step">
<div class="main">
<h3><em>Step 2.b</em> Upload your public key to a keyserver</h3>
- <p>In your email program's menu, select OpenPGP → Key Management.</p>
+ <p>In your email program's menu, select Enigmail → Key Management.</p>
<p>Right click on your key and select Upload Public Keys to Keyserver. Use the default keyserver in the popup.</p>
<p class="notes">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.</p>
<!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
<div class="troubleshooting">
<h4>Troubleshooting</h4>
<dl>
- <dt>The progress bar never finishes.hes</dt>
+ <dt>The progress bar never finishes.</dt>
<dd>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.</dd>
<dt>My key doesnt appear in the list</dt>
- <dd>Try checking Show Default Keys.</dd>
+ <dd>Try checking "Display All Keys by Default."</dd>
<dt class="feedback">Don't see a solution to your problem?</dt>
<dd class="feedback">Please let us know on the <a href="https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback page</a>.</dd>
</dl>
</div><!-- /.troubleshooting -->
-
-
-
</div><!-- End .main -->
</div><!-- End #step-2b .step -->
<div id="terminology" class="step">
<div class="main">
<h3>GnuPG, OpenPGP, what?</h3>
- <p>You're using a program called GnuPG, but the menu in your email program is called OpenPGP. Confusing, right? In general, the terms GnuPG, GPG, GNU Privacy Guard, OpenPGP and PGP are used interchangeably, though they all have slightly different meanings.</p>
+ <p>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.</p>
</div><!-- End .main -->
</div><!-- End #terminology.step-->
+
+
</div>
</section><!-- End #section2 -->
</div><!-- /.sidebar -->
<div class="main">
<h3><em>Step 3.a</em> Send Edward your public key</h3>
- <p>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 OpenPGP → 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.</p>
+ <p>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.</p>
-<p>Address the message to edward-en@fsf.org. Put at least one word (whatever you want) in the subject and body of the email, then hit send.</p>
+<p>Address the message to edward-en@fsf.org. Put at least one word (whatever you want) in the subject and body of the email. Then hit send.</p>
+
+<p>There should be an icon of a yellow key in the bottom right of the composition window. This means that encryption is on, however, we want this first special message to Edward to be unencrypted. Click the key icon once to turn encryption off. The key 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.</p>
<p class="notes">It may take two or three minutes for Edward to respond. In the meantime, you might want to skip ahead and check out the <a href="#section5">Use it Well</a> 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.</p>
+
+<p>When you open Edward's reply, Enigmail may prompt you for your password before using your private key to decrypt it.</p>
</div><!-- End .main -->
</div><!-- End #step-3a .step -->
<div id="step-3b" class="step">
<div class="main">
<h3><em>Step 3.b</em> Send a test encrypted email</h3>
- <p>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. Don't send it yet.</p>
- <p>Click the icon of the key in the bottom right of the composition window (it should turn yellow). This tells Enigmail to encrypt the email.</p>
+ <p>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.</p>
+ <p>They key in the bottom right of the window should be yellow, meaning encryption is on. This will be your default from now on.</p>
<p class="notes">Next to the key, you'll notice an icon of a pencil. Clicking this tells Enigmail to add a special, unique signature to your message, generated using your private key. This is a separate feature from encryption, and you don't have to use it for this guide.</p>
<p>Click Send. Enigmail will pop up a window that says "Recipients not valid, not trusted or not found."</p>
<p>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.</p>
- <p>Now you are back at the "Recipients not valid, not trusted or not found" screen. Select Edward's key from the list and click Ok. If the message doesn't send automatically, you can hit send now.</p>
+ <p>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.</p>
+
+<p class="notes">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 — not even you — can decrypt it.</p>
<!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
<div class="troubleshooting">
<h4>Troubleshooting</h4>
<dl>
<dt>Enigmail can't find Edward's key</dt>
- <dd>Close the pop-ups that have appeared since you clicked. 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.</dd>
+ <dd>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.</dd>
<dt class="feedback">Don't see a solution to your problem?</dt>
<dd class="feedback">Please let us know on the <a href="https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback page</a>.</dd>
</dl>
<div class="main">
<h3><em>Important:</em> Security tips</h3>
<p>Even if you encrypted 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 they could be read by a surveillance system. When you send attachments, Enigmail will give you an option of whether you want to encrypt them.</p>
-<p>It's also good practice to click the key icon in your email composition window <strong>before</strong> you start to write. Otherwise, your email client could save an unencrypted draft on the mail server, potentially exposing it to snooping.</p>
+
</div><!-- End .main -->
</div><!-- End #step-headers_unencrypted .step-->
<div id="step-3c" class="step">
<div class="main">
<h3><em>Step 3.c</em> Receive a response</h3>
- <p>When Edward receives your email, he will use his private key to decrypt it, then fetch your public key from a keyserver and use it to encrypt a response to you.</p>
- <p class="notes">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 — not even you — can decrypt it.</p>
+ <p>When Edward receives your email, he will use his private key to decrypt it, then use your public key (which you sent him in <a href="#step-3a">Step 3.A</a>) to encrypt his reply to you.</p>
+
<p class="notes">It may take two or three minutes for Edward to respond. In the meantime, you might want to skip ahead and check out the <a href="#section5">Use it Well</a> section of this guide.</p>
<p>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.</p>
<p>Notice the bar that Enigmail shows you above the message, with information about the status of Edward's key.</p>
</section><!-- End #section3 -->
-
<!-- ~~~~~~~~~ Section 4: Learn the Web of Trust ~~~~~~~~~ -->
<section class="row" id="section4">
<div>
<p>When you sign someone's key, you are publicly saying that you trust that it does belong to them and not an impostor. People who use your public key can see the number of signatures it has. Once you've used GnuPG for a long time, you may have hundreds of signatures. The Web of Trust is the constellation of all GnuPG users, connected to each other by chains of trust expressed through signatures, forming a giant network. The more signatures a key has, and the more signatures its signers' keys have, the more trustworthy that key is.</p>
-<p>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.</p>
+<p>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.</p>
-<p class="notes">You may also see public keys referred to by their key ID, which is simply the last 8 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 are trying to communicate to verify which one to use.</p>
+<p class="notes">You may also see public keys referred to by their key ID, which is simply the last 8 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 are trying to communicate to verify which one to use.</p>
</div><!-- End .section-intro -->
</div><!-- /.sidebar -->
<div class="main">
<h3><em>Step 4.a</em> Sign a key</h3>
- <p>In your email program's menu, go to OpenPGP → Key Management.</p>
+ <p>In your email program's menu, go to Enigmail → Key Management.</p>
<p>Right click on Edward's public key and select Sign Key from the context menu.</p>
<p>In the window that pops up, select "I will not answer" and click ok.</p>
- <p>In your email program's menu, go to OpenPGP → Key Management → Keyserver → Upload Public Keys and hit ok.</p>
+ <p>Now you should be back at the Key Management menu. Select Keyserver → Upload Public Keys and hit ok.</p>
<p class="notes">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.</p>
<div class="main">
<h3><em>Important:</em> Be wary of invalid keys</h3>
<p>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.</p>
- <p>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 OpenPGP at the top, which most likely says "OpenPGP: Part of this message encrypted."</p>
+ <p>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."</p>
<p><b>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.</b></p>
</div><!-- End .main -->
</div><!-- End #step-5b .step -->
<p class="notes">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 <a href="https://fsf.org/about/staff">staff page</a>.) 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.</p>
</div><!-- End .main
- </div><!-- End #step-5d .step-->
+ </div> End #step-5d .step-->
</div>
</section><!-- End #section5 -->
+
+
<!-- ~~~~~~~~~ Section 6: Next steps ~~~~~~~~~ -->
<section class="row" id="section6">
<div id="step-click_here" class="step">
<div id="copyright">
<h4><a href="https://u.fsf.org/ys"><img alt="Free Software Foundation" src="//static.fsf.org/nosvn/enc-dev0/img/fsf-logo.png" /></a></h4>
<p>Copyright © 2014 <a href="https://u.fsf.org/ys">Free Software Foundation</a>, Inc. <a href="https://my.fsf.org/donate/privacypolicy.html">Privacy Policy</a>. <a href="https://u.fsf.org/yr">Join.</a></p>
- <p><em>Version 2.1. <a href="http://agpl.fsf.org/emailselfdefense.fsf.org/edward/CURRENT/edward.tar.gz">Source code of Edward reply bot by Josh Drake <zamnedix@gnu.org> available under the GNU General Public License.</a></em></p>
+ <p><em>Version 3.0. <a href="http://agpl.fsf.org/emailselfdefense.fsf.org/edward/CURRENT/edward.tar.gz">Source code of Edward reply bot by Josh Drake <zamnedix@gnu.org> available under the GNU General Public License.</a></em></p>
<p>The images on this page are under a <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 license (or later version)</a>, and the rest of it is under a <a href="https://creativecommons.org/licenses/by-sa/4.0">Creative Commons Attribution-ShareAlike 4.0 license (or later version)</a>. — <a href="http://www.gnu.org/licenses/license-list.html#OtherLicenses">Why these licenses?</a></p>
<p>Download the source package for <a href="emailselfdefense_source.zip">this guide</a>. Fonts used in the guide & infographic: <a href="https://www.google.com/fonts/specimen/Dosis">Dosis</a> by Pablo Impallari, <a href="http://www.google.com/fonts/specimen/Signika">Signika</a> by Anna Giedryś, <a href="http://www.google.com/fonts/specimen/Archivo+Narrow">Archivo Narrow</a> by Omnibus-Type, <a href="http://www.thegopherarchive.com/gopher-files-hacks-pxl2000-119351.htm">PXL-2000</a> by Florian Cramer.</p>
<p>
<div id="copyright">
<h4><a href="https://u.fsf.org/ys"><img alt="Free Software Foundation" src="//static.fsf.org/nosvn/enc-dev0/img/fsf-logo.png" /></a></h4>
<p>Copyright © 2014 <a href="https://u.fsf.org/ys">Free Software Foundation</a>, Inc. <a href="https://my.fsf.org/donate/privacypolicy.html">Privacy Policy</a>. <a href="https://u.fsf.org/yr">Join.</a></p>
- <p><em>Version 2.1. <a href="http://agpl.fsf.org/emailselfdefense.fsf.org/edward/CURRENT/edward.tar.gz">Source code of Edward reply bot by Josh Drake <zamnedix@gnu.org> available under the GNU General Public License.</a></em></p>
+ <p><em>Version 3.0. <a href="http://agpl.fsf.org/emailselfdefense.fsf.org/edward/CURRENT/edward.tar.gz">Source code of Edward reply bot by Josh Drake <zamnedix@gnu.org> available under the GNU General Public License.</a></em></p>
<p>The images on this page are under a <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 license (or later version)</a>, and the rest of it is under a <a href="https://creativecommons.org/licenses/by-sa/4.0">Creative Commons Attribution-ShareAlike 4.0 license (or later version)</a>. — <a href="http://www.gnu.org/licenses/license-list.html#OtherLicenses">Why these licenses?</a></p>
<p>Download the source package for <a href="emailselfdefense_source.zip">this guide</a>. Fonts used in the guide & infographic: <a href="https://www.google.com/fonts/specimen/Dosis">Dosis</a> by Pablo Impallari, <a href="http://www.google.com/fonts/specimen/Signika">Signika</a> by Anna Giedryś <a href="http://www.google.com/fonts/specimen/Archivo+Narrow">Archivo Narrow</a> by Omnibus-Type, <a href="http://www.thegopherarchive.com/gopher-files-hacks-pxl2000-119351.htm">PXL-2000</a> by Florian Cramer.</p>
<p>
<h2><em>#1</em> Get the pieces</h2>
<p class="notes">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). To defend your freedom as well as protect yourself from surveillance, we recommend you switch to a free software operating system like GNU/Linux. Learn more about free software at <a href="https://u.fsf.org/ys">fsf.org</a>.</p>
<p>To get started, you'll need a desktop email program installed on your computer. This guide works with free software versions of the Thunderbird email program, and with Thunderbird itself. Email programs are another way to access the same email accounts you can access in a browser (like Gmail), but provide extra features.</p>
- <p>If you already have one of these, you can skip to <a href="#step-1b">Step 1.b</a>.</p>
+ <p>If you already have an email program, you can skip to <a href="#step-1b">Step 1.b</a>.</p>
</div><!-- End .section-intro -->
<!-- ~~~~~~~~~ a div for each step ~~~~~~~~~ -->
<p><img src="//static.fsf.org/nosvn/enc-dev0/img/en/screenshots/step1a-install-wizard.png" alt="Step 1.A: Install Wizard" /></p>
</div><!-- /.sidebar -->
<div class="main">
- <h3><em>Step 1.a</em> Setup your email program with your email account (if it isn't already)</h3>
- <p>Open your email program and follow the wizard that sets it up with your email account.</p>
+ <h3><em>Step 1.a</em> Setup your email program with your email account</h3>
+ <p>Open your email program and follow the wizard (step-by-step walkthrough) that sets it up with your email account.</p>
<!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
<div class="troubleshooting">
<h4>Troubleshooting</h4>
<dl>
- <dt>What's a wizard?</dt>
- <dd>A wizard is a series of windows that pop up to make it easy to get something done on a computer, like installing a program. You click through it, selecting options as you go.</dd>
- <dt>My email program can't find my account or isn't downloading my mail</dt>
+ <dt>The wizard doesn't launch</dt>
+ <dd>You can launch the wizard yourself, but the menu option for doing so is named differently in each email programs. 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."</dd>
+ <dt>The wizard can't find my account or isn't downloading my mail</dt>
<dd>Before searching the Web, we recommend you start by asking other people who use your email system, to figure out the correct settings.</dd>
<dt class="feedback">Don't see a solution to your problem?</dt>
<dd class="feedback">Please let us know on the <a href="https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback page</a>.</dd>
</div><!-- /.sidebar -->
<div class="main">
<h3><em>Step 2.a</em> Make a keypair</h3>
- <p>In your email program's menu, select OpenPGP → Setup Wizard. 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.</p>
- <p>On the second screen, titled "Signing," select "No, I want to create per-recipient rules for emails that need to be signed."</p>
- <p>Use the default options until you reach the screen titled "Create Key".</p>
- <p>On the screen titled "Create Key," pick a strong password! Your password should be at least 12 characters and include at least one lower case and upper case letter and at least one number or punctuation symbol. Don't forget the password, or all this work will be wasted!</p>
+ <p>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:</p>
+<ul>
+ <li>On the second screen, titled "Encryption," select "Encrypt all of my messages by default, because privacy is critical to me."</li>
+ <li>On the third screen, titled "Signing," select "Don't sign my messages by default."</li>
+ <li>On the fourth screen, titled "Key Selection," select "I want to create a new key pair for signing and encryption my email."</li>
+ <li>On the screen titled "Create Key," pick a strong password! Your password should be at least 12 characters and include at least one lower case and upper case letter and at least one number or punctuation symbol. Don't forget the password, or all this work will be wasted!</li>
+</ul>
<p class="notes">The program will take a little while to finish the next step, the "Key Creation" screen. While you wait, do something else with your computer, like watching a movie or browsing the Web. The more you use the computer at this point, the faster the key creation will go.</p>
- <p>When the OpenPGP Confirm screen pops up, select Generate Certificate and choose to save it in a safe place on your computer (we recommend making a folder called "Revocation Certificate" in your home folder and keeping it there). You'll learn more about the revocation certificate in <a href="#section5">Section 5</a>. The setup wizard will ask you to move it onto an external device, but that isn't necessary at this moment.</p>
+ <p>When the "Key Generation Completed" screen pops up, select Generate Certificate and choose to save it in a safe place on your computer (we recommend making a folder called "Revocation Certificate" in your home folder and keeping it there). You'll learn more about the revocation certificate in <a href="#section5">Section 5</a>.</p>
<!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
<div class="troubleshooting">
<h4>Troubleshooting</h4>
<dl>
- <dt>I can't find the OpenPGP menu.</dt>
- <dd>In many new email programs, the main menu is represented by an image of three stacked horizontal bars. OpenPGP may be inside a section called Tools.</dd>
+ <dt>I can't find the Enigmail menu.</dt>
+ <dd>In many new email programs, the main menu is represented by an image of three stacked horizontal bars. Enigmail may be inside a section called Tools.</dd>
<dt class="feedback">Don't see a solution to your problem?</dt>
<dd class="feedback">Please let us know on the <a href="https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback page</a>.</dd>
<div id="step-2b" class="step">
<div class="main">
<h3><em>Step 2.b</em> Upload your public key to a keyserver</h3>
- <p>In your email program's menu, select OpenPGP → Key Management.</p>
+ <p>In your email program's menu, select Enigmail → Key Management.</p>
<p>Right click on your key and select Upload Public Keys to Keyserver. Use the default keyserver in the popup.</p>
<p class="notes">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.</p>
<!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
<dt>The progress bar never finishes.</dt>
<dd>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.</dd>
<dt>My key doesnt appear in the list</dt>
- <dd>Try checking Show Default Keys.</dd>
+ <dd>Try checking "Display All Keys by Default."</dd>
<dt class="feedback">Don't see a solution to your problem?</dt>
<dd class="feedback">Please let us know on the <a href="https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback page</a>.</dd>
</dl>
</div><!-- /.troubleshooting -->
-
-
-
</div><!-- End .main -->
</div><!-- End #step-2b .step -->
<div id="terminology" class="step">
<div class="main">
<h3>GnuPG, OpenPGP, what?</h3>
- <p>You're using a program called GnuPG, but the menu in your email program is called OpenPGP. Confusing, right? In general, the terms GnuPG, GPG, GNU Privacy Guard, OpenPGP and PGP are used interchangeably, though they all have slightly different meanings.</p>
+ <p>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.</p>
</div><!-- End .main -->
</div><!-- End #terminology.step-->
+
+
</div>
</section><!-- End #section2 -->
</div><!-- /.sidebar -->
<div class="main">
<h3><em>Step 3.a</em> Send Edward your public key</h3>
- <p>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 OpenPGP → 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.</p>
+ <p>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.</p>
+
+<p>Address the message to edward-en@fsf.org. Put at least one word (whatever you want) in the subject and body of the email. Then hit send.</p>
-<p>Address the message to edward-en@fsf.org. Put at least one word (whatever you want) in the subject and body of the email, then hit send.</p>
+<p>There should be an icon of a yellow key in the bottom right of the composition window. This means that encryption is on, however, we want this first special message to Edward to be unencrypted. Click the key icon once to turn encryption off. The key 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.</p>
<p class="notes">It may take two or three minutes for Edward to respond. In the meantime, you might want to skip ahead and check out the <a href="#section5">Use it Well</a> 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.</p>
+
+<p>When you open Edward's reply, Enigmail may prompt you for your password before using your private key to decrypt it.</p>
</div><!-- End .main -->
</div><!-- End #step-3a .step -->
<div id="step-3b" class="step">
<div class="main">
<h3><em>Step 3.b</em> Send a test encrypted email</h3>
- <p>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. Don't send it yet.</p>
- <p>Click the icon of the key in the bottom right of the composition window (it should turn yellow). This tells Enigmail to encrypt the email.</p>
+ <p>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.</p>
+ <p>They key in the bottom right of the window should be yellow, meaning encryption is on. This will be your default from now on.</p>
<p class="notes">Next to the key, you'll notice an icon of a pencil. Clicking this tells Enigmail to add a special, unique signature to your message, generated using your private key. This is a separate feature from encryption, and you don't have to use it for this guide.</p>
<p>Click Send. Enigmail will pop up a window that says "Recipients not valid, not trusted or not found."</p>
<p>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.</p>
- <p>Now you are back at the "Recipients not valid, not trusted or not found" screen. Select Edward's key from the list and click Ok. If the message doesn't send automatically, you can hit send now.</p>
+ <p>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.</p>
+
+<p class="notes">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 — not even you — can decrypt it.</p>
<!-- ~~~~~~~~~ Troubleshooting ~~~~~~~~~ -->
<div class="troubleshooting">
<h4>Troubleshooting</h4>
<dl>
<dt>Enigmail can't find Edward's key</dt>
- <dd>Close the pop-ups that have appeared since you clicked. 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.</dd>
+ <dd>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.</dd>
<dt class="feedback">Don't see a solution to your problem?</dt>
<dd class="feedback">Please let us know on the <a href="https://libreplanet.org/wiki/GPG_guide/Public_Review">feedback page</a>.</dd>
</dl>
<div class="main">
<h3><em>Important:</em> Security tips</h3>
<p>Even if you encrypted 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 they could be read by a surveillance system. When you send attachments, Enigmail will give you an option of whether you want to encrypt them.</p>
-<p>It's also good practice to click the key icon in your email composition window <strong>before</strong> you start to write. Otherwise, your email client could save an unencrypted draft on the mail server, potentially exposing it to snooping.</p>
+
</div><!-- End .main -->
</div><!-- End #step-headers_unencrypted .step-->
<div id="step-3c" class="step">
<div class="main">
<h3><em>Step 3.c</em> Receive a response</h3>
- <p>When Edward receives your email, he will use his private key to decrypt it, then fetch your public key from a keyserver and use it to encrypt a response to you.</p>
- <p class="notes">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 — not even you — can decrypt it.</p>
+ <p>When Edward receives your email, he will use his private key to decrypt it, then use your public key (which you sent him in <a href="#step-3a">Step 3.A</a>) to encrypt his reply to you.</p>
+
<p class="notes">It may take two or three minutes for Edward to respond. In the meantime, you might want to skip ahead and check out the <a href="#section5">Use it Well</a> section of this guide.</p>
<p>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.</p>
<p>Notice the bar that Enigmail shows you above the message, with information about the status of Edward's key.</p>
</section><!-- End #section3 -->
-
<!-- ~~~~~~~~~ Section 4: Learn the Web of Trust ~~~~~~~~~ -->
<section class="row" id="section4">
<div>
<p>When you sign someone's key, you are publicly saying that you trust that it does belong to them and not an impostor. People who use your public key can see the number of signatures it has. Once you've used GnuPG for a long time, you may have hundreds of signatures. The Web of Trust is the constellation of all GnuPG users, connected to each other by chains of trust expressed through signatures, forming a giant network. The more signatures a key has, and the more signatures its signers' keys have, the more trustworthy that key is.</p>
-<p>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.</p>
+<p>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.</p>
-<p class="notes">You may also see public keys referred to by their key ID, which is simply the last 8 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 are trying to communicate to verify which one to use.</p>
+<p class="notes">You may also see public keys referred to by their key ID, which is simply the last 8 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 are trying to communicate to verify which one to use.</p>
</div><!-- End .section-intro -->
</div><!-- /.sidebar -->
<div class="main">
<h3><em>Step 4.a</em> Sign a key</h3>
- <p>In your email program's menu, go to OpenPGP → Key Management.</p>
+ <p>In your email program's menu, go to Enigmail → Key Management.</p>
<p>Right click on Edward's public key and select Sign Key from the context menu.</p>
<p>In the window that pops up, select "I will not answer" and click ok.</p>
- <p>In your email program's menu, go to OpenPGP → Key Management → Keyserver → Upload Public Keys and hit ok.</p>
+ <p>Now you should be back at the Key Management menu. Select Keyserver → Upload Public Keys and hit ok.</p>
<p class="notes">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.</p>
<div class="main">
<h3><em>Important:</em> Be wary of invalid keys</h3>
<p>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.</p>
- <p>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 OpenPGP at the top, which most likely says "OpenPGP: Part of this message encrypted."</p>
+ <p>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."</p>
<p><b>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.</b></p>
</div><!-- End .main -->
</div><!-- End #step-5b .step -->
<p class="notes">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 <a href="https://fsf.org/about/staff">staff page</a>.) 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.</p>
</div><!-- End .main
- </div><!-- End #step-5d .step-->
+ </div> End #step-5d .step-->
</div>
</section><!-- End #section5 -->
+
+
<!-- ~~~~~~~~~ Section 6: Next steps ~~~~~~~~~ -->
<section class="row" id="section6">
<div id="step-click_here" class="step">
<footer class="row" id="footer">
<div>
<div id="copyright">
- <h4><a href="https://u.fsf.org/ys"><img alt="Free Software Foundation" src="//static.fsf.org/nosvn/enc-dev0/img/fsf-logo.png"/></a></h4>
+ <h4><a href="https://u.fsf.org/ys"><img alt="Free Software Foundation" src="//static.fsf.org/nosvn/enc-dev0/img/fsf-logo.png" /></a></h4>
<p>Copyright © 2014 <a href="https://u.fsf.org/ys">Free Software Foundation</a>, Inc. <a href="https://my.fsf.org/donate/privacypolicy.html">Privacy Policy</a>. <a href="https://u.fsf.org/yr">Join.</a></p>
- <p><em>Version 2.1. <a href="http://agpl.fsf.org/emailselfdefense.fsf.org/edward/CURRENT/edward.tar.gz">Source code of Edward reply bot by Josh Drake <zamnedix@gnu.org> available under the GNU General Public License.</a></em></p>
+ <p><em>Version 3.0. <a href="http://agpl.fsf.org/emailselfdefense.fsf.org/edward/CURRENT/edward.tar.gz">Source code of Edward reply bot by Josh Drake <zamnedix@gnu.org> available under the GNU General Public License.</a></em></p>
<p>The images on this page are under a <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 license (or later version)</a>, and the rest of it is under a <a href="https://creativecommons.org/licenses/by-sa/4.0">Creative Commons Attribution-ShareAlike 4.0 license (or later version)</a>. — <a href="http://www.gnu.org/licenses/license-list.html#OtherLicenses">Why these licenses?</a></p>
<p>Download the source package for <a href="emailselfdefense_source.zip">this guide</a>. Fonts used in the guide & infographic: <a href="https://www.google.com/fonts/specimen/Dosis">Dosis</a> by Pablo Impallari, <a href="http://www.google.com/fonts/specimen/Signika">Signika</a> by Anna Giedryś, <a href="http://www.google.com/fonts/specimen/Archivo+Narrow">Archivo Narrow</a> by Omnibus-Type, <a href="http://www.thegopherarchive.com/gopher-files-hacks-pxl2000-119351.htm">PXL-2000</a> by Florian Cramer.</p>
<p>