darkbio-crypto 0.4.2

Cryptography primitives and wrappers
Documentation

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 ChaCha20 and Poly1305 at 16B tags and 64KiB chunks,
  • HPKE via X25519, HKDF, SHA256, ChaCha20 and Poly1305 at dark-bio-v1: info prefix.

It further contains the following custom constructs:

  • DOE: DarkBio Object Encryption (and Authentication)
    • Based on CBOR encoding and HPKE cryptography

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
  • doe can expand hpke with CBOR object encoding and decoding