Appendix A: Cryptography#

We have strived for the entire design to rely on only a small number of cryptographic primitives, chosen for being modern, broadly used, and with good support in Javascript (both browsers and Node), Python, and Rust.

To be written - this appendix is intended to be a primer on the primitives that we are using, and a guide to further reading. For now, we’ve included key links to JS, Python, and Rust implementations.

ECDH#

Public key pairs:

RSA#

Public-key pairs; SECG curve 3841; OAEP (4096)

AES#

A256GCM; symmetric keys; authenticated (AEAD)