Cebulka Blog

PGP compendium - Encryption and popular PGP tools use guides (2024)

A collection of guides for the popular PGP tools: GPG4USB (Linux & Windows), GPA (Linux), Kleopatra (Linux & Windows), GPGSuite (macOS), OpenKeyChain (Android) and PGPro (iOS).

What is PGP / OpenPGP #

GnuPG (GPG, GNU Privacy Guard) is an open-source encryption software for secure End-to-End communication between two parties. It enables users to communicate securely by providing tools to encrypt and decrypt messages using the OpenPGP (Open Pretty Good Privacy) non-proprietary standard.

OpenPGP uses public key cryptography. To use OpenPGP, you must first generate a pair — public and private keys using GPG software. You can then share your public key with others, keeping your private key secret. Anyone who has the public key can use it to encrypt and verify information that only the holder of the private key can decrypt and sign.

Installation and configuration #

The basic GPG program runs from the command line but there are various front-ends such as GPG4USB, graphical interfaces for different operating systems. The portable GPG4USB program is cross-platform and easy to use but is no longer developed and has an outdated version of GPG. The GNU Privacy Assistant (GPA) tool is available on the Whonix-Workstation system. The Tails system as of version 5.0 has the Kleopatra tool, also known from the Gpg4win package for Windows systems.

Key generation #

The user generates a pair of keys, a public key and a private key. The public key is shared with others, while the private key is kept secret. Private key is stored in GPG program files, so it is recommended to encrypt the operating system.

Private key backup #

A backup copy of the private key should be encrypted with VeraCrypt or TrueCrypt and placed on external media for protection against data loss.

Importing public keys #

Import public keys of other users for encrypting messages and verifying digital signatures.

Message encryption #

The sender uses the recipient’s public key to encrypt the message. This ensures that only the intended recipient can decrypt it.

Message decryption #

The recipient uses his private key to decrypt the encrypted message. By quoting a sufficient part of it in the reply, also confirms that has access to the private key.

Signing messages #

The sender can use his private key to digitally sign the message. The signature acts as proof that the message was written by the key owner.

Verifying messages #

After receiving a signed message, the recipient can use the sender’s public key to verify the digital signature of the message. A valid signature proves that the message was sent by the sender and has not been altered. The slightest change in the original message, even by one character, will cause the verification process to fail.

Troubleshooting


Tags: