Crate ascon

source ·
Expand description

RustCrypto: Ascon permutation

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

Pure Rust implementation of the permutation of Ascon, a family of authenticated encryption and hashing algorithms designed to be lightweight and easy to implement.



Ascon is a family of lightweight algorithms built on a core permutation algorithm. These algorithms include:

  • Authenticated Encryption with Associated Data (AEAD)
  • Hash functions (HASH) and extendible-output functions (XOF)
  • Pseudo-random functions (PRF) and message authentication codes (MAC)

Ascon has been selected as new standard for lightweight cryptography in the NIST Lightweight Cryptography competition, and has also been selected as the primary choice for lightweight authenticated encryption in the final portfolio of the CAESAR competition.

Minimum Supported Rust Version

This crate requires Rust 1.56 at a minimum.

We may change the MSRV in the future, but it will be accompanied by a minor version bump.


Licensed under either of:

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


  • The state of Ascon’s permutation.


  • Produce mask for padding.