#encryption #rust-crypto #traits #compatible #digest #facade

no-std crypto

Facade crate for all of the RustCrypto traits (e.g. aead, cipher, digest)

5 releases (3 breaking)

0.5.1 Jun 28, 2023
0.5.0 Apr 18, 2023
0.4.0 Aug 10, 2022
0.3.0 Jun 8, 2021
0.0.2 Nov 21, 2014

#2333 in Cryptography

Download history 2269/week @ 2023-12-22 3270/week @ 2023-12-29 5636/week @ 2024-01-05 6325/week @ 2024-01-12 8993/week @ 2024-01-19 9791/week @ 2024-01-26 6509/week @ 2024-02-02 7370/week @ 2024-02-09 4843/week @ 2024-02-16 5327/week @ 2024-02-23 4252/week @ 2024-03-01 4906/week @ 2024-03-08 5277/week @ 2024-03-15 4427/week @ 2024-03-22 4237/week @ 2024-03-29 3275/week @ 2024-04-05

18,454 downloads per month
Used in 18 crates (13 directly)

Apache-2.0 OR MIT

165KB
3K SLoC

RustCrypto: crypto crate

crate Docs Apache2/MIT licensed Rust Version Project Chat Build Status

Facade crate for RustCrypto Traits, providing a single place to access compatible versions of all traits from the Rust Crypto project.

Documentation

About

Facade crate for RustCrypto Traits, providing a single place to access compatible versions of all traits from the Rust Crypto project.

About

The RustCrypto Project publishes and maintains independently versioned crates containing traits for many different kinds of cryptographic algorithms.

However, these algorithms are often interdependent (e.g. many depend on digest algorithms), which requires figuring out which versions of the trait crates are compatible with each other.

This crate will automatically pull in compatible versions of these crates, with each one gated under a cargo feature, providing a single place to both import and upgrade these crates while ensuring they remain compatible.

Traits

The following traits are available as re-exports of RustCrypto crates through this crate's facade. To access a particular re-export you (or a crate you depend on) must enable the associated Cargo feature named below.

Re-export Cargo feature Description
aead aead Authenticated Encryption with Associated Data (i.e. high-level symmetric encryption)
cipher cipher Block and stream ciphers (i.e. low-level symmetric encryption)
digest digest Cryptographic hash functions
elliptic_curve elliptic-curve Elliptic curve cryptography
password_hash password-hash Password hashing functions
signature signature Digital signatures (i.e. public key-based message authentication)
universal_hash universal‑hash Universal Hash Functions (used to build MACs)

Minimum Supported Rust Version

Rust 1.65 or higher.

Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump.

SemVer Policy

  • All on-by-default features of this library are covered by SemVer
  • MSRV is considered exempt from SemVer as noted above

License

Licensed under either of:

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~185–580KB
~13K SLoC