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!
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.
- 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
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.
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
.