PGP practice thread

If you’d like to use this thread to practice encryption/decryption of PGP messages, feel free to shoot me your PGP-encrypted message and I’ll reply an ACK if everything went all right, else let you know if something failed in the process.

Do try to use a paste service to keep replies short! Any paste service of your choice will do; the simpler, the merrier for the OP! :wink:

For tutorials, I could point to a couple, but feel free to peruse any and all resources you stumble upon after a regular lookup on the search engine of your preference.

Clients: Kleopatra on desktop; OpenKeyChain on Android (F-Droid would work just fine!)

[//] - OpenKeyChain tutorial.
[//] - Kleopatra (GUI) tutorial. soon^™
[//] - PGP general information & CLI tutorial (for MacOS); GNU/Linux CLI cheatsheet.

Note: I do not have one for Kleopatra at hand; if you do, please share it so I can edit OP for whoever takes up the offer.

PGP public key. Also available at rottenhouse.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Let's have some pri(FUN)vacy, shall we?
-----BEGIN PGP SIGNATURE-----

iQI+BAEBCAAoIRxyb3R0ZW53aGVlbCA8aGlAcm90dGVud2hlZWwuY29tPgUCZyRo
8gAKCRAfrXhmnehd6Ak6D/9DltbqTXV4nW5MdaFR3laPk5KhGMfh8BsCsJQ6bURZ
hNP+piDZQrM778OJw83T31VPdiIGP1SkWZb7vETlNPew9FM5qVDQfRhyZNFMG0Am
RiE7kTbpIVhebxPoxkolwTMwEA697qR3tRj51F1x0qUj1PKx+Nsxhe1EskSXK+Vl
DPaKBfi5H7g0gIwLKRD2k+pxNEPJRK6eby91JN9iI+Eg8Yo8SveYNOmhKgi2zSVP
UM55bQad0kvj9s4ZjtJJjcsD86t4VItcMwEd35OOvPYtvebamIloRCeJKkPItTp3
E3Qs/sPq5ytfiSm2kGN2vgM4oO/v/vUJbFkzGIw3V/fSkxCDZrwKVNHYccSc/2Rp
b08dU+wpZ2TJidjo3eAJc5bqJccx6Y4prYTqJkJf7x0NmF52sOad0wtGS8aXvR3E
xh32u/DTOhD+o4HBORkTzWexaS2PdO3x2y2Mg+xVdeimXWXT8tPwaAn7jgQInvuF
hgZCIm6eTUDwvmKa0VgxVcu0fQvVTLimk2kU3oT3d/1GTyDsK5wBgb+HQxZxBd+C
hQhzaWslcS2JQCiNicrR6vTkVtlEqYuNA8/pq1s2bSvUUfh7tog8VmZk6oRj/xQq
lXwc05+Apju5sQHJvKv1PmR/RVw6nC8V1+GWEPgmvxkuZ2L9JHbDwDdNzJqYg5CF
WQ==
=T3Rt
-----END PGP SIGNATURE-----
3 Likes

Hey! This is a fun thread!

I wanted to use this occasion to share the (relatively) new “Stateless OpenPGP CLI (SOP)” https://datatracker.ietf.org/doc/draft-dkg-openpgp-stateless-cli/ approach to OpenPGP.

SOP is a specification for a simple CLI interface for OpenPGP operations. It is implemented based on very many OpenPGP libraries, including GopenPGP, OpenPGP.JS, PGPainless, rPGP, Sequoia.

The goal of SOP is to have simple tools that are easy to use, including in shell scripts, and easy to make sense of, for humans. Additionally, SOP is inherently anti-vendor-lockin, since all implementations are implementing the same CLI API, and it is easy to drop in another implementation.

I’ll use the rsop implementation (based on rPGP) here, to demonstrate how SOP can be used. But any other SOP implementation will work just the same, and will produce the same outputs.

First, I pull your public key (certificate):

$ wget https://github.com/rottenwheel.gpg

After pasting the cleartext signed message from the original post into signed.msg, I can verify that it indeed contains a valid cryptographic signature by you:

$ cat signed.msg | rsop inline-verify rottenwheel.gpg
Let's have some pri(FUN)vacy, shall we?

This command outputs the signed text, if and only if it has been validly signed by the public key in rottenwheel.gpg.

Finally, I’ll encrypt a message to you, like this:

$ echo "[[REDACTED]]" | rsop encrypt rottenwheel.gpg > encrypted.msg

For content of encrypted.msg, see https://pastebin.com/BM9cqLax

(Note that I didn’t need to have or use an OpenPGP key of my own for any of these operations.)

1 Like

Very nice! Can’t encrypt a response to you in this message, but can confirm it worked just fine. Thanks for participating and sharing your tool, resources. Cheers.

1 Like

This is a cool idea. I don’t really need practice per se but I always like PGP messaging! I spun up a key just for the purposes of communicating with members of the forum if anyone would like to message me or whatever.

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
Jl7ebJ1Db7GHJaphz2YFI6AjrLdXttiwxPwjfQ==
=oSny
-----END PGP PUBLIC KEY BLOCK-----
2 Likes

https://paste.debian.net/plainh/3c026e4c

Hi, can decrypt fine. Could only find expired keys online for that ID, though their email address did match with the little you shared in there. Odd. :thinking: