Jonas Hvid
mail@johv.dk

Feburary 1, 2025. Updated July 3, 2025.

Intructions for encrypted communication over unencrypted channels (e.g. email).

PGP (GPG)

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

mDMEZ51uTxYJKwYBBAHaRw8BAQdA/ETN12Kq/cjE8qOVpKeC/eLLU2826ultBws+
SStg5Ty0GUpvbmFzIEh2aWQgPG1haWxAam9odi5kaz6IkwQTFgoAOwIbAwULCQgH
AgIiAgYVCgkICwIEFgIDAQIeBwIXgBYhBA9h27CrRzroy/QyjQM0xSsvDFXTBQJo
ZnjwAAoJEAM0xSsvDFXT36sBAOVZ0KnyQEf3sUvKQUelOo20SV9bjYEojAa4izWO
14ayAP9WmW59FOETT+7e40sPj81HwephuQtnjb0kY+A1ctn+B7g4BGedbk8SCisG
AQQBl1UBBQEBB0BJXkWZo/47YDG2Zr27FL9u4l6Kf4SekrKDxMBH+k93BAMBCAeI
eAQYFgoAIAIbDBYhBA9h27CrRzroy/QyjQM0xSsvDFXTBQJoZnkKAAoJEAM0xSsv
DFXTGMMBAPBFU5B8VWETjGMDAmZp//06sxegfGJ9V+ODxJsrGNwvAP9S+0NCKiPO
Sk3umqH+oK6bSasyV/Mp+K2OQsRI9jMeAbgzBGedb80WCSsGAQQB2kcPAQEHQCY0
WKg5cIf37KxcumS6PM1/Oi/si/RkRkaOQoitkIVkiO8EGBYKACACGwIWIQQPYduw
q0c66Mv0Mo0DNMUrLwxV0wUCaGZ5CgCBdiAEGRYKAB0WIQRgyTfQcToB2v44S+vi
ZB5mwn8NsQUCZ51vzQAKCRDiZB5mwn8NsbNVAQDoTUl2apAlIdfTXRvuRbss+gLf
WTmt0rMmhgSbFAIQYwEAxldnY7q4cJhZ3bhPOGA4Jzb86s6QgMLNDwQy46/rKQEJ
EAM0xSsvDFXTdI4BALE//GLZMO/cNns0uGbUVrU5P3P9YWhVMNemw3LPM49SAQC6
X7jEc/lL/OZvVNLvaeTAHQh77tOCdYM6LTP2PJ7lDw==
=2u2d
-----END PGP PUBLIC KEY BLOCK-----

age

If you would like to send me an encrypted file, you may use age with the following public key:

age1vxrgc6deqytwz9908zm3sy500akv56kxsssm3tpwpfwwq773d4jqwlfzgv

For example:

age \
    -r age1vxrgc6deqytwz9908zm3sy500akv56kxsssm3tpwpfwwq773d4jqwlfzgv \
    -a message.txt \
    >message.txt.age

Remember to also include your public key in the message if you expect a response.

minisign

I can sign files with this minisign key:

RWQpPdVXBZ4gN2zxpAGL70oSdme9ZDdkJ/xe+Csa+CFT+3wMgZJHsmre

For example, to verify, download both message.txt and message.txt.minisig, and run:

minisign -V \
    -m message.txt \
    -P 'RWQpPdVXBZ4gN2zxpAGL70oSdme9ZDdkJ/xe+Csa+CFT+3wMgZJHsmre'

(I don't sign anything that is distributed over HTTPS anyway, except by request, especially not if I'm hosting it myself.)