Short answer: PGP (Pretty Good Privacy) encrypts an email or file so only the person holding the matching private key can read it, and lets you sign a message so the recipient can check it really came from you. Today it means OpenPGP, an open IETF standard (RFC 9580). To use it you create a key pair, share your public key, import your contact's public key, then encrypt with their key. Thunderbird has this built in, Proton Mail does it automatically between Proton users, and on a Mac you can add it to Apple Mail with GPG Suite. It protects the message body and attachments, not who you wrote to or when.
What is PGP encryption?
Phil Zimmermann released PGP in 1991 as a way for ordinary people to encrypt email. It was a proprietary product at first; from 1997 an IETF working group turned its format into an open standard called OpenPGP, which anyone can implement without paying licence fees. The current version is RFC 9580, published in July 2024, which replaced the older RFC 4880. In July 2026 the IETF added post-quantum algorithms to OpenPGP in RFC 9980, according to OpenPGP.org.
So when people say PGP today, they usually mean OpenPGP. GnuPG (GPG) is the best-known free program that implements it, and PGP-compatible apps can read each other's messages. PGP gives you two things:
- Encryption: only the intended recipient can read the message body and attachments. Your email provider, your IT department or anyone who intercepts the message sees scrambled text.
- Signatures: the recipient can confirm who sent the message and that nobody changed it on the way.
How PGP encryption works
PGP is a hybrid system. Public key cryptography is slow, so PGP uses it only to protect a small random key, and encrypts the message itself with fast symmetric encryption. RFC 9580 describes the sequence like this:
- Your app generates a random session key, used for this one message only.
- It encrypts the message with that session key (AES under current implementations).
- It encrypts the session key with each recipient's public key and attaches it to the message.
- The recipient's app uses their private key to unlock the session key, then uses the session key to decrypt the message.
Signing runs the other way. You sign with your private key, and anyone with your public key can verify the signature. Apps normally do both at once: encrypt with the recipient's public key, sign with your private key.
Public key vs private key
| Public key | Private (secret) key | |
|---|---|---|
| Who has it | Anyone. You share it freely. | Only you. Never share it. |
| Used to | Encrypt messages to you, and verify your signatures | Decrypt messages sent to you, and sign your messages |
| If it leaks | Nothing bad happens; that's the point | Someone else can read your mail and sign as you |
| If you lose it | Export it again from your private key | Mail encrypted to you can't be decrypted by anyone, ever |
Mozilla's guide puts the last row bluntly: lose your secret key and your encrypted messages are not recoverable by anyone. Back it up, protected by a strong passphrase, somewhere other than your main computer.
Checking that a key is really theirs
Anyone can create a key with anyone's name and email address on it. If an attacker slips you a fake key for your contact, they can read what you send. The fix is the key's fingerprint, a string of about 40 characters. Read it out to each other on a call or in person and confirm it matches. OpenPGP also supports a "web of trust", where people sign keys they've verified, though Thunderbird, for one, doesn't use it and asks you to accept each key yourself.
How to encrypt with PGP: the basic steps
Whatever app you use, the workflow is the same:
- Create your key pair (or import one you already have) and protect it with a passphrase.
- Share your public key. Attach it to an email, publish it on a keyserver such as keys.openpgp.org, or put it on your website.
- Get your contact's public key the same way, and check its fingerprint with them.
- Write the message and turn on encryption (and signing). The app encrypts it with their public key.
- The recipient opens it and their app decrypts it with their private key.
If you want to encrypt a file rather than an email, the free GnuPG command-line tool does it in a few commands (the address is a placeholder):
gpg --full-generate-key
gpg --armor --export you@example.com > mykey.asc
gpg --import their-key.asc
gpg --encrypt --sign --armor --recipient them@example.com report.pdf
gpg --decrypt report.pdf.asc > report.pdfThe first line creates your key pair, the second exports your public key to share, the third imports your contact's key, the fourth creates an encrypted and signed report.pdf.asc only they can open, and the last is what they run to decrypt it. Kleopatra (Windows) and GPG Keychain (Mac) put the same functions behind buttons.
How to use PGP with email
Thunderbird (Windows, Mac, Linux)
Thunderbird has had OpenPGP built in since version 78, so the old Enigmail add-on is no longer needed. According to Mozilla's support page:
- Open the menu, choose Account Settings, select your account, then End-to-End Encryption.
- Click Add Key, then either Create a New OpenPGP Key or Import an existing PGP key.
- Select the key you want to use for that account.
- When you write a message, open the Security button's menu and turn on encryption. Thunderbird turns on signing too, and attaches your public key so the other person can reply encrypted.
To find a contact's key, click their address in a message and choose Discover Key, which searches keys.openpgp.org and the WKD protocol. Thunderbird won't encrypt automatically; you decide per message. It does encrypt the subject line by default, which many other PGP setups don't.
Apple Mail with GPG Suite (Mac)
Apple Mail has no PGP support of its own. GPG Suite from GPGTools adds it: GPG Keychain manages keys, and the GPG Mail extension adds encrypt and sign buttons to Mail. Install GPG Suite, then in Mail choose Mail > Settings > Extensions and select GPG Mail. Two things to know first. GPG Mail is paid (a yearly support plan from version 8, with a 30-day trial), and as of October 2026 GPG Mail 8 for macOS 27 Golden Gate is still in beta, with some features missing while GPGTools waits on Apple. The free parts of GPG Suite still encrypt files and text through the Services menu.
Proton Mail
Proton Mail is built on PGP, so you don't manage keys at all: mail between Proton users is end-to-end encrypted automatically. For people outside Proton, you can send a password-protected email, or exchange public keys with a contact who uses PGP elsewhere and Proton will encrypt to them. The catch is that you need a Proton address.
iPhone and iPad
The iPhone Mail app doesn't support PGP either. Our guide to using PGP on iPhone and iPad covers the apps that do and how to move your key across.
What PGP doesn't protect
PGP is strong for what it covers, but it's easy to assume it covers more. Mozilla lists these limits:
- Metadata stays visible: sender and recipient names and addresses, the time sent, and which servers handled the message.
- The subject line may be readable too, depending on the app. Thunderbird hides it; many others don't.
- Both sides need PGP set up. If your contact doesn't have a key, you can't send them PGP mail.
- Search can't see inside encrypted message bodies.
- Forwarding breaks it. If your recipient forwards your message unencrypted, it's no longer protected.
- Every device you read mail on needs a copy of your private key.
Then there's the client itself. In 2018 researchers published EFAIL, attacks that tricked some email apps into leaking decrypted text through remote images in HTML mail. The standard has since been tightened, and the practical advice is to keep your app updated and not let it load remote content in decrypted messages.
PGP in Canary Mail
Disclosure: we make Canary Mail. If you'd rather not juggle a separate key tool, Canary Mail's Pro+ plan ($100 a year) includes PGP. It's OpenPGP compatible, so recipients don't need Canary, and it works with Gmail, Outlook, iCloud and other accounts. You import your own keys, or on a team an admin can approve and upload public keys for everyone. When you turn on encryption in compose, Canary uses the recipient's PGP key if it has one; if they don't use PGP, it can send through SecureSend instead, a secure link with identity verification and an expiry date. Canary runs on Mac, iPhone, iPad, Windows and Android, and comes with a 7-day trial.
Not sure whether you need PGP at all? Our explainers on PGP vs SecureSend and encrypted vs private email help you decide.
Frequently asked questions
Is PGP still safe?
Yes, when it's used with current software. OpenPGP was updated in 2024 (RFC 9580), which made modern algorithms such as Ed25519, X25519 and AES mandatory and deprecated old ones, and post-quantum options followed in 2026. The weak points are usually elsewhere: a lost or stolen private key, an unverified public key, or an outdated email app.
What encryption does PGP use?
Two kinds. The message is encrypted with a one-time symmetric session key (AES), and that session key is encrypted with the recipient's public key (X25519 or, in older keys, RSA). Signatures use algorithms such as Ed25519 with SHA-2 hashes.
What is the best free PGP encryption software?
GnuPG is the free standard on every platform, with Kleopatra (Gpg4win) as a Windows front end and GPG Keychain on Mac. For email, Thunderbird is free and has OpenPGP built in. Proton Mail's free plan encrypts automatically between Proton users.
How do I open a PGP encrypted file?
You need the private key that matches the public key it was encrypted to. Import that key into GnuPG, Kleopatra or GPG Keychain, then run gpg --decrypt on the file or double-click it in the graphical app and enter your passphrase.
What are the disadvantages of PGP?
Both people need keys, setup takes effort, metadata and often the subject line stay visible, encrypted mail can't be searched, and losing your private key means losing access to everything encrypted to it.
Is PGP the same as GPG?
Not quite. PGP was the original program; OpenPGP is the open standard based on it; GPG (GnuPG) is a free program that implements OpenPGP. Keys and messages made with one work with the others.
Sources
- IETF: RFC 9580, OpenPGP (July 2024)
- OpenPGP.org: About OpenPGP
- Mozilla: OpenPGP in Thunderbird, HOWTO and FAQ
- Mozilla: Introduction to end-to-end encryption in Thunderbird
- GPGTools: GPG Suite and GPG Mail
- GnuPG manual: key management commands
- Proton: How to use PGP with Proton Mail
- EFAIL research site
- Canary Mail: Security features