GnuPG (GPG) is a complete and free implementation of the OpenPGP standard. It allows you to encrypt and sign your data and communications.
The default GPG configuration is compatible but not necessarily optimized for maximum security. Our configuration (config/gpg/gpg.conf) enforces stronger algorithms.
- Strong Ciphers: Prioritizes AES256 and AES192.
- Strong Digests: Prioritizes SHA512.
- Information Leaks: Disables emitting software versions and comments in signatures.
- Key Format: Enforces usage of long Key IDs to prevent collision attacks.
The install gpg command installs GPG and applies the hardened configuration to ~/.gnupg/gpg.conf.
This configuration is optimized for high security:
- AES256/SHA512 enforced.
- Short Key IDs disabled to prevent collision attacks.
- Banner limits to reduce fingerprinting.
For the highest level of security, we recommend using a hardware token like a YubiKey.
- YubiKey Guide (drduh): Comprehensive guide to securely generating and storing GPG keys on a YubiKey.
# Generate a new key
gpg --full-generate-key
# Encrypt a file
gpg --recipient [name] --encrypt [filename]
# Decrypt a file
gpg --decrypt [filename]