What is OpenPGP?

OpenPGP is an open standard for encrypting and signing data, most commonly used for secure email communication. It uses public-key cryptography, where each user has a pair of keys: a public key that can be shared with anyone, and a private key that must be kept secret. Messages encrypted with someone's public key can only be decrypted with their corresponding private key, ensuring that only the intended recipient can read the message.

How does public-key cryptography work?

Public-key cryptography relies on mathematical algorithms that make it computationally infeasible to derive a private key from its public counterpart. When you generate a key pair, the two keys are mathematically linked—data encrypted with the public key can only be decrypted with the private key, and vice versa. This enables two fundamental operations: encryption (ensuring only the recipient can read a message) and digital signatures (proving that a message came from you and hasn't been altered).

What are ECC and RSA?

RSA (Rivest-Shamir-Adleman) and ECC (Elliptic Curve Cryptography) are two different cryptographic algorithms used to generate key pairs:

  • RSA is the traditional algorithm, widely supported and well-understood. It requires larger key sizes (2048-4096 bits) to achieve strong security.
  • ECC is a modern algorithm that provides equivalent security with much smaller key sizes, resulting in faster operations and smaller keys. Curve25519 is particularly recommended for its security and performance characteristics.

Tool description

This OpenPGP Key Generator creates cryptographically secure PGP key pairs directly in your browser. It supports both RSA and ECC algorithms with various key sizes and curves. The tool generates three outputs: a public key for sharing, a private key for decryption and signing, and a revocation certificate for invalidating your keys if they become compromised.

Features

  • Multiple algorithm support: Choose between RSA (2048, 3072, 4096 bits) or ECC with various curves (Curve25519, NIST P-256/384/521, Brainpool)
  • Passphrase protection: Optionally encrypt your private key with a passphrase for additional security
  • Key expiration: Set an expiration date or create keys that never expire
  • User ID configuration: Add your name, email, and optional comment to identify your key
  • Revocation certificate: Automatically generates a revocation certificate for key invalidation

Use cases

  • Secure email communication: Generate keys for use with email clients that support PGP/GPG encryption like Thunderbird, Apple Mail, or Outlook with plugins
  • File encryption: Create keys to encrypt sensitive documents before sharing them over insecure channels
  • Code signing: Sign software releases and Git commits to verify authenticity and integrity
  • Password manager integration: Generate keys for password managers that support PGP encryption
  • Secure messaging: Use PGP keys with messaging applications that support end-to-end encryption