This is a Rust implementation of AEGIS.
AEGIS is a new family of authenticated encryption algorithms, offering high security and exceptional performance on modern desktop, server, and mobile CPUs.
-
std: allow dynamic allocations. This is the default. -
pure-rust: don't use thecccrate to take advantage of the implementations fromlibaegis. Setting this flag will substantially degrade performance and some features may not be available. When using the pure-rust implementation, addingRUSTFLAGS="-C target-cpu=native"to the environment variable prior to compiling the project is highly recommended for better performance. -
rustcrypto-traits-06: add traits fromrust-crypto/aeadversion 0.6. Alternative interfaces are available in thecompatnamespace.
AEGIS is very fast on CPUs with parallel execution pipelines and AES support.
Benchmarks can be reproduced using export CC="clang -O3 -march=native" and the cargo bench or cargo-zigbuild bench commands.
For performance, clang is recommended over gcc.


