Skip to content

Rust Version of the Masked Even-Mansour (MEM) AEAD Modes

License

Notifications You must be signed in to change notification settings

MEM-AEAD/mem-aead-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Masked Even-Mansour AEAD Modes (Rust) Build Status

Warning

The cipher designs of this source code package are very new and still lack extensive analysis. Therefore, do not use them in your applications just now!

About

This repository provides Rust reference implementations for the authenticated encryption modes OPP and MRO instantiated with a round-reduced BLAKE2b permutation. All ciphers target a 256-bit security level.

The specification of the schemes together with many more information can be found at ia.cr/2015/999. The C reference source code is available here.

Features

  • OPP:
    • based on the tweakable Masked Even-Mansour (MEM) block cipher
    • requires nonce-uniqueness
    • 1-pass
    • fully parallelisable
    • constant-time
  • MRO:
    • based on the tweakable Masked Even-Mansour (MEM) block cipher
    • fully misuse-resistant
    • 2-pass
    • fully parallelisable
    • constant-time

Usage

There are four examples which can be executed through:

cargo run --example {mro_debug,mro_genkat,opp_debug,opp_genkat}

Warning: The *_genkat examples generate the test vectors in tests/*_kat.rs and produce large amounts of output.

License

The source code provided in this repository is copyright (c) 2016 Philipp Jovanovic and released under the CC0 license. The full license text is included in the file LICENSE.

About

Rust Version of the Masked Even-Mansour (MEM) AEAD Modes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages