Expand description

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


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.


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-exportCargo featureDescription
aeadaeadAuthenticated Encryption with Associated Data (i.e. high-level symmetric encryption)
ciphercipherBlock and stream ciphers (i.e. low-level symmetric encryption)
digestdigestCryptographic hash functions
elliptic_curveelliptic-curveElliptic curve cryptography
password_hashpassword-hashPassword hashing functions
signaturesignatureDigital signatures (i.e. public key-based message authentication)
universal_hashuniversal‑hashUniversal Hash Functions (used to build MACs)


pub use crypto_common as common;
pub use aead;
pub use cipher;
pub use digest;
pub use password_hash;
pub use signature;