This is a Rust implementation of the AEGIS authenticated cipher, ported from the Zig standard library.
AEGIS is extremely fast on CPUs with AES acceleration, has a large nonce size, and is key committing.
std: allow dynamic allocationsaes_crate: use the aes crate, which works on all platformsaesni: use an optimized implementation for x86 CPUs with AES extensionsstd, aes_crate is the default.
In order to get decent code on x86 CPUs, you may want to set additional rustc flags prior to compiling that crate or a project using it:
sh
export RUSTFLAGS="-Ctarget-feature=+aes,+sse4.1"
A benchmark can be run that way:
sh
export RUSTFLAGS="-C target-cpu=native Ctarget-feature=+aes,+sse4.1"
cargo bench --no-default-features --features=std,aesni