Tutorial: Encrypted Email with Thunderbird and Enigmail Author: Shashank Areguli Published: Ed (August 9, 2014) There are three issues of security that needs to dealt with on the internet, concerning information. They are privacy, integrity and authentication. When you send a message to someone you want it to be private and you don't want it to be tampered with. Also, there needs to be a way to be certain of the identification of the sender or the receiver, to ensure authenticity of the message. Encrypting your message is the best way to keep your message private and maintain integrity; There are many encryption methodologies. One of them is a public key cryptography. When using a public key cryptography both parties have a pair of keys. One of them is a private key. And another one is a public key. The private key is kept secret and the public key is published so that everyone knows it. Messages encrypted by the public key can only be opened by the private key holder. Messages encrypted (known as signed) by a private key can be verified by the public key, ensuring authenticity. This method is widely used in electronic communication as PGP (Pretty Good Privacy). It's a encryption and decryption program for e-mail transmission and was released as a free program in 1991 by Phil Zimmermann. PGP uses a combination of methods along with public key cryptography. OpenPGP is the standard created by Internet Engineering Task Force for PGP and it is widely used. The GnuPG (GNU Privacy Guard) is another program that allows you to implement the PGP standard to encrypt and decrypt files and to be used in communication. Packages Required Enigmail is an extension for Mozilla Thunderbird email client and is used to encrypt, sign and verify your emails. It manages all the tasks for you using gnupg. gnupg is probably already installed by default on your system. If you are using a GNOME based distribution, the front-end Seahorse is probably also installed on your system. gnupg is a command-line program. There are also other graphical tools available other than Seahorse if you want to try an alternative. Seahorse is the Password and Keys package and can be found in System or Utilities categories in your application menu of choice. You can generate keys using any of them or you can do it while setting up Enigmail. To use Enigmail, only gnupg is required. You can download Thunderbird from their website or get it in your distribution's package manager. Installing Enigmail Since Enigmail is an extension you can just search for it in the add-on manager and install it. Or you
can download it on Enigmail's website. Enigmail is also available in repositories of both Ubuntu and Fedora. Now you have gnupg, Mozilla Thunderbird and Enigmail installed, you are ready. Enigmail Setup The Enigmail setup wizard is easy to set up and very descriptive. Simply go to Enigmail option in Thunderbird and start the Setup Wizard.
I do not want to encrypt all my emails so I am going to choose Auto Encryption option. It will auto-optimize the mail client to work with Enigmail. You can choose No if you want.
Here you get an option if you already have keys or have used gnupg or Seahorse to generate keys, you can choose them. I want to create a new pair of keys. Choose a Passphrase for your Private key. Based on the preferences, it is either managed by keyring or it will ask it every time you encrypt. You can change your Passphrase using key management option or in Password and Keys (Seahorse).
It will show you a summary of you preferences. Now do some work on your computer. Let it use environmental (digital) noise to generate pseudorandom numbers. Once you are done, it will ask you to export a key for revoking your private key, if you did choose to keep it secret.
You can manage keys in either any GnuPG front-end or directly inside Enigmail itself. You can publish it onto a key server to distribute your Public key. Now whenever you are writing a email, you will see the option to encrypt or sign at bottom right corner. By default, it will be as you configured in the wizard or preferences. You have to exchange your keys with others to send them encrypted mails and you have to import their keys to decrypt their mails, either via email or keyserver or any other media.
You can import keys from a file from the Key Management menu. When you receive an email Enigmail will decrypt and/or verify it for you. OpenPGP is a trusted standard and is widely used. Unless the private key is compromised it is technically impossible to read the message. Distributing the key using a key server is a good idea but it might give out information about you that you may not want public. Just a reminder, in case you wanted to keep it private.