OpenPGP in Rust: The Sequoia Project
lwn.net
lwn.net
gpg --help
Or, man gpgAlthough, come to think of it, tex and its relatives (pdflatex, etc) have really quite terrible command line interfaces.
It's just for most people, they're not used to working with a tool that merges communication and text processing with a CLI interface.
ffmpeg -i input.file output.file
Now, usually I want to do something more complicated, so I end up having to look it up, but it's hardly the ffmpeg folks' fault that audio and video encoding is such an ungodly mess of different containers and encodings; while it could be better, I think most of its complexity is inherent to the problems it's trying to solve. I do think there's an argument that it tries to do too much, and the complexity could be mitigated if it were split into several smaller tools and a wrapper for the most common commands, like apt.Those are pretty complex tools that can do many things, so they cannot be expected to be used without learning to use them or reading the manual.
Now, if you're writing a low-level tool (in git's terminology, plumbing), that doesn't matter as much, because it's designed to be wrapped; maintainability and (interface) stability probably take priority over being maximally intuitive. But if you're writing a tool for end users (including developers), some focus on UX is warranted.
(How much each of these tools are intended for end users, can be argued separately, not by me)
Want to verify a signed file against a key that’s in another file? Nope, not supported.
Want to load a private key into a smart card without wiping the key from your keyring? Not supported.
In general, gpg has a very strong idea of how you’re supposed to use it, and it makes it very hard to do anything differently.
https://www.gnupg.org/related_software/gpgme/
It would probably make sense to implement and expose that?
Ed: see also https://wiki.gnupg.org/APIs
This makes the library really painful to use in multithreaded contexts, or when you need to have a controlled env. (like unit tests).
I use gpg-me in one of my projects, and it's very far from pleasant to use.
https://datatracker.ietf.org/doc/html/draft-dkg-openpgp-stat...
Thought the article says they're not planning to release this with v1.0
Those six trust levels, what were they smoking?
Is PGP/GnuPG's horable to use or develop for? Absolutely. However, unless your friends are willing to step up and build something that's flexible enough to cover all our usecases, PGP will continue to see adoption and projects like this will continue to pop up.
So if all those cryptographers don't like it then they should design something better. It is unlikely they will be able to come up with something simpler.
Parent's point still stands: PGP is a standard (with widespread adoption, mind you) whereas Age is not. Whether it is a good standard or not depends on how you're using it.
Can you explain why you think it isn't?
The sheer volume of gpg-signed apt/rpm/tar packages downloaded and verified everyday cast doubt on your claim.
I bet the number of packages downloaded for CI alone would invalidate this claim.
People use PGP because it is standard, widely-adopted, and does what people need it to do. From where I'm standing, people who argue against these three facts are underestimating PGP or overestimating their own favored solutions.
If you want to change our discussion to be about replacing PGP instead, then I completely agree that people should replace PGP with modern properly-standardized alternatives if such exist.
Here's what happens in the super-common, basic case of 'installing a third party (i.e. not from the distro repos) package on some debiansy Linux':
You access the the developer's webpage (via a browser and https) and read the installation instructions. They tell you to curl in (over https) some pgp key and some (https) endpoints for finding and downloading the package.
You apt-whatever and the package is installed.
The PGP part of this can be replaced with NOPs and this is no less secure. All the heavy lifting here is done elsewhere using infrastructure that actually has wide adoption and standardization and does useful things.
Email is hard to secure for obvious reasons. The PGP itself is fine, even though it could be updated.
* https://articles.59.ca/doku.php?id=pgpfan:index
It turned out that PGP is not all that bad...
Also, very few of these users actually use secure versions such as signal or wire. They all happily post on Facebook‘s messenger and WhatsApp and don’t care about crypto.
WhatsApp uses Signal Protocol, and protects many order of magnitude more messages every day --- or, if you like, bytes of plaintext --- than PGP ever has or will.
Email not being a messaging protocol is... a take.
One of the options, "encrypt to an ssh key" is an interesting convenience. Since most of us already have ssh keys deployed.
I think this is the future for encrypted messaging of all types. Ultimately the user needs some sort of conceptual model that will allow them to do reasonable things. Making the identity a thing in and of itself removes a lot of unneeded conceptual overhead.
That is as opposed to the current practice of simply ignoring the identity issue and leaving the whole thing as a responsibility that the user has no idea of how to deal with.
Everything else is either not used in practice or needs to be shifted to a dedicated protocol.
There isn't even an explanation on that page of why it was written, why it should (or could) replace OpenPGP, how to replace it ( a handy comparison table), and which use cases the tool is good for. It'd be really great if instead of pushing for change, you'd actually provide some context and explanation.
Everybody can scream for change, few can understand (much less explain) the why and how. Maybe try and join the latter.
Long live GPG!