Expand description
§Rust Cryptography Wrappers
This repository is parameter selection and lightweight wrapper around a number of Rust cryptographic libraries. Its purpose isn’t to implement primitives, rather to unify the API surface of existing libraries; limited to the tiny subset needed by the Dark Bio project.
It contains the following crypto primitives and parameters:
- RSA via
RSA2048, - EdDSA via
Ed25519, - STREAM via
ChaCha20andPoly1305at16Btags and64KiBchunks, - HPKE via
X25519,HKDF,SHA256,ChaCha20andPoly1305atdark-bio-v1:info prefix.
It contains the following satellite utilities:
- CBOR restricted to
integer,text,bytesandarray, - RAND bytes generator with
OSandWASMsources.
§Feature flags
The entire library is hidden behind feature flags:
rsaenables the RSA cryptographyhpkeenables the HPKE cryptographyeddsaenables the EdDSA cryptographystreamenables the STREAM cryptographycborenables the type-restricted CBOR codecsrandenables the WASM friendly random generator
Some base features can be expanded with further flags:
certcan expandhpkewith certificate support, pulls ineddsa
Modules§
- cbor
- Type-restricted CBOR encoder and decoder.
- eddsa
- EdDSA cryptography wrappers and parametrization.
- hpke
- HPKE cryptography wrappers and parametrization.
- hpke_
cert - HPKE + x509 cryptography wrappers and parametrization.
- rand
- rsa
- RSA cryptography wrappers and parametrization.
- stream
- I/O helper structs for age file encryption and decryption. https://github.com/str4d/rage/blob/main/age/src/primitives/stream.rs