Explanation¶
Why these packages are shaped the way they are.
Start here¶
- Why this exists when go-crypto already does OpenPGP — the justification, including the half of it that failed when it was tested. If you read one page, read this one.
- When to use this, and when not to — a decision table. Most people arriving here should leave again.
Concepts¶
- Why ECDH, not RSA — the constraint that decided the whole design, and why it is not a limitation of any one key service.
- The fingerprint binding — why certificate assembly and message decryption cannot be developed or tested apart.
- Why two keys — an agreement key cannot sign its own binding signature, so a certificate structurally needs two.
- The role split — why the credential that reads reports must not be able to issue certificates.
- What a certificate claims — the subpackets a certificate carries, what each one changes about a sender's behaviour, and what omitting one costs you silently.
Components¶
- The core and provider split — what lives where, and why the arithmetic is kept away from the cloud SDK.