From 7ce8314f86087b822201d6eb8f47a7a031baf6c4 Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Thu, 19 Mar 2026 09:59:38 -0700 Subject: [PATCH] offline - Restructed the gpg documentation to flow naturally from a new user's perspective. Creating a key comes last in the flow. --- .../Desktop/offline/crypto/gpg-cheatsheet.md | 80 ++++++++++++++++--- 1 file changed, 67 insertions(+), 13 deletions(-) diff --git a/overlay/etc/skel/Desktop/offline/crypto/gpg-cheatsheet.md b/overlay/etc/skel/Desktop/offline/crypto/gpg-cheatsheet.md index 3d4e51c..4de6557 100644 --- a/overlay/etc/skel/Desktop/offline/crypto/gpg-cheatsheet.md +++ b/overlay/etc/skel/Desktop/offline/crypto/gpg-cheatsheet.md @@ -12,6 +12,7 @@ This is an in-progress cheatsheet for performing basic cryptographic functions using GNU Privacy Guard (gpg), including encrypting, decrypting, and verifying files in an offline environment. + ## Add Key Import a public key into your keyring. @@ -25,14 +26,28 @@ Import a public key into your keyring. gpg --import KEYFILE 3. Verify the key fingerprint. Your trusted source should provide you - with the fingerprint. + with the fingerprint. From the example above, the fingerprint is the + value starting with `77F8`. gpg --fingerprint 4. Optionally, edit the key and set the trust level. See the "Set Trust Level" section. -## List Keys +5. For an off-grid use case, where you trust the key, you can sign it + youself to mark the key valid on your machine. + + gpg --lsign-key FINGERPRINT + +Here's an example from EmComm Tools Community R6 that imports the AmRRON +public key. + +``` +$ gpg --import ~/Desktop/offline/nets/amrron/AmRRON_Actual_ECC_PUBLIC.asc +``` + + +## List Public Keys List the current public keys on your system. @@ -40,8 +55,10 @@ List the current public keys on your system. gpg --list-keys ``` +Use the following to interpret the keys listed: + - `pub` - Primary key - - Your identity (root of trust) + - Your identity - Used for signing and certifying other keys - `sub` - Subkey - Used for specific operations (usually encryption) @@ -51,6 +68,53 @@ gpg --list-keys - `[E]` - Encrypt - `unknown|full|ultimate` - See "Set Trust Levels" +Here's an example showing the AmRRON public key. + +``` +$ gpg --list-keys +/home/ham/.gnupg/pubring.kbx +------------------------------- +pub ed25519 2023-05-25 [SC] + 77F888F3524F00C75FF9F91A8D518D7A50612239 +uid [ unknown] AmRRON Actual (ECC) +sub cv25519 2023-05-25 [E] +``` + + +## Verify Signature + +There are two common types of signed files: + +### 1. Inline (clearsigned) message + +A single file that contains both the message and the signature. For +example, the AmRRON Intelligence Brief (AIB) uses an inline message. + + gpg --verify COMBINEDFILE + + +### 2. Detached signature + +A file and a separate signature file. + + gpg --verify SIGNATUREFILE FILE + +Here's an example from EmComm Tools Community R6 that verifies that the +AIB distributed by AmRRON on the nationwide net on March, 16, 2026 was +created by AmRRON. + +``` +$ gpg --verify ~/Desktop/offline/nets/amrron/NATL-RR-260316-1330Z-AIB-sig.k2s +gpg: Signature made Mon 16 Mar 2026 06:22:46 AM MST +gpg: using EDDSA key 77F888F3524F00C75FF9F91A8D518D7A50612239 +gpg: checking the trustdb +gpg: marginals needed: 3 completes needed: 1 trust model: pgp +gpg: depth: 0 valid: 1 signed: 1 trust: 0-, 0q, 0n, 0m, 0f, 1u +gpg: depth: 1 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 1f, 0u +gpg: Good signature from "AmRRON Actual (ECC) " [full] +``` + +## List Private Keys List the current private keys on your system. @@ -76,16 +140,6 @@ gpg -e -r RECIPIENT file.txt gpg -d file.txt.gpg ``` -## Verify Signature - -``` -gpg --verify file.sig file.txt -``` - -``` -gpg --verify file.asc -``` - ## Set Trust Levels Here are common trust levels for basic use: