__ _____ |__| ______/ ______ _ __ ___________ ____ | |/ \ __\\ \/ \/ / / _ \_ __ \/ ___\ | | Y Y | | \ / ( <_> | | \/ /_/ > /\__| |__|_| |__| \/\_/ /\ \____/|__| \___ / \______| \/ \/ /_____/
USING GPG [0] ________________________________________________________________________________ GPG (GNU Privacy Guard) is a free implementation of the OpenPGP standard that allows you to encrypt and sign your data and communications. [0.0] Index ________________________________________________________________________________ - Create a key pair [1.0] - Key Management [2.0] - Encryption and Decryption [3.0] - Signing and Verification [4.0] - References [5.0] [1.0] Create a key pair ________________________________________________________________________________ Generate a key pair by typing in a terminal: +------------------------------------------------------------------------------+ | | | $ gpg --full-gen-key | | | | # Follow the prompts: | | # Select key type (e.g., ECC to sign and encrypt) | | # Choose key size (Curve 25519) | | # Set expiration date (0 = no expiration, or set any date) | | # Enter a name and email | | # Create a secure passphrase. | | | +------------------------------------------------------------------------------+ [2.0] Key Management ________________________________________________________________________________ List your keys: +------------------------------------------------------------------------------+ | | | # List public keys | | $ gpg --list-keys | | | | # List private keys | | $ gpg --list-secret-keys | | | +------------------------------------------------------------------------------+ Export your public key: +------------------------------------------------------------------------------+ | | | $ gpg --export --armor --output public-key.asc user-id | | | +------------------------------------------------------------------------------+ Import someone else's public key: +------------------------------------------------------------------------------+ | | | $ gpg --import their-public-key.asc | | | +------------------------------------------------------------------------------+ [3.0] Encryption and Decryption ________________________________________________________________________________ Encrypt a file for someone: +------------------------------------------------------------------------------+ | | | # Encrypt for recipient | | $ gpg --encrypt --armor --recipient their@email.com file.txt | | | | # This creates file.txt.asc | | | +------------------------------------------------------------------------------+ Encrypt a message from stdin: +------------------------------------------------------------------------------+ | | | $ echo "Secret message" | gpg --encrypt --armor --recipient their@email.com| | | +------------------------------------------------------------------------------+ Decrypt a file: +------------------------------------------------------------------------------+ | | | $ gpg --decrypt file.txt.asc | | | | # Or decrypt to a new file | | $ gpg --decrypt file.txt.asc > decrypted.txt | | | +------------------------------------------------------------------------------+ [4.0] Signing and Verification ________________________________________________________________________________ Sign a file: +------------------------------------------------------------------------------+ | | | # Create detached signature | | $ gpg --detach-sign --armor file.txt | | | | # This creates file.txt.asc signature | | | +------------------------------------------------------------------------------+ Sign and encrypt in one command: +------------------------------------------------------------------------------+ | | | $ gpg --sign --encrypt --armor --recipient their@email.com file.txt | | | +------------------------------------------------------------------------------+ Verify a signature: +------------------------------------------------------------------------------+ | | | $ gpg --verify file.txt.asc file.txt | | | +------------------------------------------------------------------------------+ Create a clearsigned message: +------------------------------------------------------------------------------+ | | | $ gpg --clearsign message.txt | | | | # Creates message.txt.asc with readable text and signature | | | +------------------------------------------------------------------------------+ [5.0] References ________________________________________________________________________________ [0] https://left4code.neocities.org/blogs/apr-19-2025 [1] https://wiki.archlinux.org/title/GnuPG [2] https://www.gnupg.org/gph/en/manual.html