5 ms·
Essentially you want 3 operations. Generate keypair, encrypt X with key, decrypt X with key. You want this as a library that's impossible to misuse and a nice
by DasIch 11y ago
Essentially you want 3 operations. Generate keypair, encrypt X with key, decrypt X with key.
You want this as a library that's impossible to misuse and a nice CLI on top.
The fact that it took you half an hour to understand the "basic usage" is ridiculous. The GPG developers have failed in the worst possible way when it comes to the design of their software. It's so bad I find it incomprehensible how that could have happened on accident.
If they would be working on something non-cryptographic, that would be one thing but for a cryptographic tool that's unacceptable. The design and ease of use is just as important as the cryptographic algorithms themselves for such a tool because any friction causes people to avoid cryptography.
- ashitlerferad 11y agoWhat about signing and verification?
- DasIch 11y agoRight, forgot about those. Still those are just two more commands, which brings us to 5. That shouldn't push the complexity up significantly and doesn't change anything about my argument.
- ashitlerferad 11y agoWhat about getting someone's key? What about distributing your key? What about backing up your secret keys on paper? What about binding your primary secure key that is usually stored in a safe on a Yubikey with secondary keys stored on Yubikeys you carry around with you? What about revoking a secondary key after a laptop or Yubikey got stolen? Perhaps you see where I'm going with this :) The problem domain is just complex.
- lmm 11y ago> Essentially you want 3 operations. Generate keypair, encrypt X with key, decrypt X with key. You need key rotation if you want security, so you need master keys and subkeys (or you'll end up reimplementing them by hand with conventions that everyone will interpret differently). Multiple identities on a key are I guess not strictly necessary but they're a very useful feature. You absolutely need the ability to sign other people's identities. You need to be able to sign and encrypt both text and binary (and do symmetric encryption), and export the result of everything in both text and binary. Smartcard support is a very good idea. Agent support is vital. What things do you think GPG should cut? > You want this as a library that's impossible to misuse and a nice CLI on top. Agreed. A rock-solid OpenPGP library would be great. I do think that's one place where there's a lot of real room for improvement. > The fact that it took you half an hour to understand the "basic usage" is ridiculous. The GPG developers have failed in the worst possible way when it comes to the design of their software. It's so bad I find it incomprehensible how that could have happened on accident. IIRC: developer, singular, unpaid and part-time. Also GPG is 20+ years old and doesn't want to change the CLI radically so as a) not to disrupt existing users b) not to disrupt existing scripts. A frontend or alternative with great UX would be really useful. But who's going to pay for that work?