#cipher #aes #aead #crypto #aegis128l

no-std aegis

AEGIS authenticated ciphers (AEGIS-128, AEGIS-256, AEGIS-128X, AEGIS-256X)

26 releases

new 0.6.5 May 12, 2024
0.6.3 Apr 25, 2024
0.6.2 Nov 30, 2023
0.4.3 Jul 13, 2023
0.2.2 Oct 20, 2021

#907 in Cryptography

Download history 69/week @ 2024-01-23 80/week @ 2024-01-30 34/week @ 2024-02-06 53/week @ 2024-02-13 114/week @ 2024-02-20 116/week @ 2024-02-27 57/week @ 2024-03-05 136/week @ 2024-03-12 50/week @ 2024-03-19 47/week @ 2024-03-26 72/week @ 2024-04-02 30/week @ 2024-04-09 20/week @ 2024-04-16 218/week @ 2024-04-23 38/week @ 2024-04-30 389/week @ 2024-05-07

665 downloads per month
Used in 3 crates

MIT license

295KB
7K SLoC

C 3.5K SLoC // 0.0% comments Rust 2.5K SLoC Zig 1K SLoC // 0.0% comments

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 parallel variants will not be available.

Benchmarks

AEGIS is very fast on CPUs with parallel execution pipelines and AES support.

Benchmarks can be reproduced using the cargo bench or cargo-zigbuild bench commands.

Encryption (16 KB)

AEGIS benchmark results

Authentication (64 KB)

AEGIS-MAC benchmark results

Dependencies