darkbio-crypto 0.2.0

Cryptography primitives and wrappers
Documentation
# Rust Cryptography Wrappers

This repository is parameter selection, lightweight wrapper and foreign function interface (FFI) 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 primitives and parameters:

- **RSA** via `RSA2048`,
- **EdDSA** via `Ed25519`,
- **STREAM** via `ChaCha20` and `Poly1305` at `16B` tags and `64KiB` chunks,
- **HPKE** via `X25519`, `HKDF`, `SHA256`, `ChaCha20` and `Poly1305` at `dark-bio-v1:` info prefix.

## Feature flags

The entire library is hidden behind feature flags:

- `rsa` enables the RSA cryptography
- `hpke` enables the HPKE cryptography
- `eddsa` enables the EdDSA cryptography
- `stream` enables the STREAM cryptography

Some base features can be expanded with further flags:

- `cert` can expand `hpke` with certificate support, pulls in `eddsa`
- `ffi` can expand `hpke` and `cert` with C FFI interfacing support