RustCrypto: Extendable Output Functions (XOFs)

May 15, 2026 · View on GitHub

Project Chat dependency status Apache2/MIT licensed

Collection of cryptographic extendable output functions (XOFs) written in pure Rust.

All algorithms reside in separate crates and are implemented using traits from digest crate. Usage examples are provided in digest and hash implementation crate docs. Additionally all crates do not require the standard library (i.e. no_std capable) and can be easily used for bare-metal or WebAssembly programming by disabling default crate features.

Supported Algorithms

AlgorithmCrateCrates.ioDocumentationMSRV
Ascon-XOF128ascon‑xof128crates.ioDocumentation1.85
bash-prg-hashbash-prg‑hashcrates.ioDocumentation1.85
cSHAKEcshakecrates.ioDocumentation1.85
KangarooTwelvek12crates.ioDocumentation1.85
SHAKEshakecrates.ioDocumentation1.85
TurboSHAKEturboshakecrates.ioDocumentation1.85

License

All crates in this repository are 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.