A pure Rust implementation of various modern cryptographic algorithms, which has no dependencies and no foreign code (specially C or assembly code). This is compatible with WASM and embedded devices.
This crates package aims to support as many architectures as possible with as little dependencies as possible.
Disclaimer: There are no warranties in use as everything is cryptographically-related
Cryptoxide is a cryptographic crates aiming at providing good quality and efficient pure-rust implementation of popular cryptographic algorithms.
It provides various common algorithms in the following categories :
Our main goals is to provide a library that is usable in a wide array of contextes, by supporting many platforms, but only by providing a bare bone and close to rust core APIs.
cryptoxide has zero dependencies, and will remain dependency free. As much as
possible we rely on rust primitives,
core only apis and in few places rely on
alloc to get dymamic memory functionalities until we can remove them (when
const-generic is stable).
This is a fork of Rust-Crypto by DaGenix, to which we owe a debt of gratitude for starting some good quality pure Rust implementations of various cryptographic algorithms.
Notable differences with the original sources:
cargo +nightly bench --features with-bench
or with all the cpu capability enabled:
RUSTFLAGS="-C target_cpu=native" cargo +nightly bench --features with-bench
We will always aim to support the current stable version at a minimum. However, it is likely that older versions of the Rust compiler are also supported.
This project is licensed under either of the following licenses: