Crate sframe

Source
Expand description

§Secure Frame (SFrame)

This library is an implementation of SFrame (RFC 9605).

§Optional features

Using optional features sframe allows to configure different crypto libraries. Be aware that those features are mutually exlusive, if multiple are configured sframe issues a compiler error.

  • ring (enabled by default) — Uses the ring library which allows compilation to Wasm32. AES-CTR mode ciphers are not supported.
  • openssl — Uses the rust-openssl crate, which provides bindings to OpenSSL. Per default the OpenSSL library is locally compiled and then statically linked. The build process requires a C compiler, perl (and perl-core), and make. For further options see the openssl crate documentation. Compilation to Wasm32 is not yet supported.
  • rust-crypto - Uses pure rust implementations of the RustCrypto project. Compilation to Wasm32 is supported.

Modules§

error
error definitions
frame
Frame-based API
header
Sframe header definitions as of RFC 9605 4.3
key
sframe key definitions as of RFC 9605 4.4.2
mls
Sframe MLS definitions as of RFC 9605 5.2
ratchet
Ratchet support as of RFC 9605 5.1

Enums§

CipherSuiteVariant
Depicts which AEAD algorithm is used for encryption and which hashing function is used for the key expansion, see RFC 9605 4.4