Skip to content

cfrg/draft-irtf-cfrg-aegis-aead

Repository files navigation

The AEGIS Family Of Authenticated Encryption Algorithms

This is the working area for the individual Internet-Draft, "The AEGIS family of authenticated encryption algorithms".

Known Implementations

Name Language
This document's reference implementations Zig
CAESAR reference AEGIS-128L implementations C
CAESAR reference AEGIS-256 implementations C
Linux kernel C
libsodium C
angt/aegis256 C
TwoEightNine/aegis C
libaegis C
aegis-bitsliced C
google/aegis-cipher C++
aegis Rust
raycrypt Rust
crypto-rust Rust
aegis-cl Rust
Zig standard library Zig
x13a/py-aegis Python
ericlagergren/aegis Go
samuel-lucas6/AEGIS.NET C#
arc.crypto C#
aegis-128L JavaScript
aegis-js JavaScript
aegis-kotlin Kotlin
aegis-jasmin Assembly (Jasmin)
aegis-java Java
moonbit-aegis Moonbit
sodium-compat PHP
aegis-ts TypeScript
yawning/odin Odin

Hardware implementations

Name Language
Athena/AEGIS RTL VHDL
AEGIS256 UVM Verification SystemVerilog

AEGIS support in TLS stacks

Test vectors

For convenience, test vectors can be downloaded in JSON format from the test-vectors directory.

Project Wycheproof includes additional test vectors:

Project Rooterberg also includes an extensive set of test vectors for AEGIS variants.

Approvals and Certifications

The AEGIS authenticated encryption algorithms have received recognition and approval from several authoritative organizations in the field of cryptography and information security.

OWASP Application Security Verification Standard

AEGIS-128L and AEGIS-256 are both approved authenticated encryption algorithms in the OWASP Application Security Verification Standard.

Belgian National Data Protection Authority

AEGIS-256 has received approval from the Belgian National Data Protection Authority.

Contributing

See the guidelines for contributions.

Contributions can be made by creating pull requests. The GitHub interface supports creating pull requests using the Edit (✏) button.

Command Line Usage

Formatted text and HTML versions of the draft can be built using make.

$ make

Command line usage requires that you have the necessary software installed. See the instructions.