I want to comment on that article you keep referring to, but I don't want to clutter up the top of the thread so I'll do it here.
The author really wants to dislike PGP, but the reason everyone trusts PGP is because it's been around forever. Yeah there've been deficiencies, just like there've been deficiencies in OpenSSL, but that doesn't make it a bad tool. I could go on but this xkcd sums it up: https://xkcd.com/2347/
>Absurd Complexity / Swiss Army Knife Design
Git is complex, yet effectively every project ever uses it. The reason is you're fine to avoid the edge-cases and just focus on the main functionality, but that one time you need to do something ridiculously hacky, there's a tool to do it, instead of having to roll your own solution.
>Backwards Compatibility
Would you rather your software not have backwards compat? GPG has sane defaults, and everyone you talk to using modern versions will be secure by default. Not sure what the author is going on about with weak default password encryption:
$ gpg -vv --symmetric test.txt
...
gpg: using cipher AES256
gpg: writing to 'test.txt.gpg'
>Obnoxious UX
I don't really find GPG any harder to use than Git. http://irtfweb.ifa.hawaii.edu/~lockhart/gpg/
>Long-Term Secrets
By default, GPG keys expire in a year.
>Broken Authentication
I've never heard of any of this. Sign and encrypt, by default you get AES256 encryption and a SHA512 digest:
$ gpg --sign --encrypt test.txt
...
$ gpg -vv -o /dev/null --decrypt test.txt.gpg
...
gpg: encrypted with 3072-bit RSA key, ID 74588E74DDD483BC, created 2020-09-02
"test"
gpg: AES256 encrypted data
gpg: binary signature, digest algorithm SHA512, key algorithm rsa3072
>Incoherent Identity
Have an identity. Have other people verify it. Trust based on that. It's the same way the PKI works, you know, that thing that runs the entire internet. Except you don't need to trust CAs anymore.
>Leaks Metadata
He's not wrong about this one, normally you can see who's ID a message is encrypted for. If you're trying to be sneaky just use symmetric encryption I guess, it feels like a different use case.
>No Forward Secrecy
Definitely a different use case. There's no case where I want to decrypt a packet from the middle of a TLS conversation a few years later. But an encrypted attachment in an old email?
>Clumsy Keys
How are GPG keys harder to handle than SSH keys? Both are just blocks of base64 (gpg --export-secret-keys -a)... one is 80 lines while the other is 50, but does it really matter?
>Negotiation
Same argument as Backwards Compatibility, I think.
>Janky Code
The page he linked has 27 CVEs. Over the last 15 years. For comparison, OpenSSL has over 200.