aegis

Crates.ioaegis
lib.rsaegis
version0.9.3
created_at2021-10-13 12:05:47.074204+00
updated_at2025-09-20 09:26:36.810408+00
descriptionAEGIS authenticated ciphers (AEGIS-128, AEGIS-256, AEGIS-128X, AEGIS-256X)
homepagehttps://github.com/jedisct1/rust-aegis
repositoryhttps://github.com/jedisct1/rust-aegis
max_upload_size
id464496
size1,853,807
Frank Denis (jedisct1)

documentation

README

AEGIS for Rust

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.

API documentation

Cargo flags

  • std: allow dynamic allocations. This is the default.

  • pure-rust: don't use the cc crate to take advantage of the implementations from libaegis. Setting this flag will substantially degrade performance and some features may not be available. When using the pure-rust implementation, adding RUSTFLAGS="-C target-cpu=native" to the environment variable prior to compiling the project is highly recommended for better performance.

  • rustcrypto-traits-06: add traits from rust-crypto/aead version 0.6. Alternative interfaces are available in the compat namespace.

Benchmarks

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.

Encryption (16 KB)

AEGIS benchmark results

Authentication (64 KB)

AEGIS-MAC benchmark results

Mobile benchmarks

AEGIS mobile benchmark results

Commit count: 210

cargo fmt