#permutation #cryptography #crypto #crytography #farfalle #xoofff #kravatte

no-std deck-farfalle

Generic Farfalle construction and Kravatte and Xoofff instantiations in the crypto-permutation framework

1 unstable release

0.1.0 Jul 10, 2023

#405 in No standard library

MIT/Apache

73KB
1K SLoC

deck-farfalle License: MIT OR Apache-2.0 deck-farfalle on crates.io deck-farfalle on docs.rs Source Code Repository Rust Version: ^1.65

Generic Farfalle construction which is generic over the cryptographic permutation and Kravatte and Xoofff instantiations.

Farfalle: Permutation -> DeckFunction

This crate contains an implementation of the Farfalle construction, Farfalle. It is generic over the permutations and rolling functions used, through the FarfalleConfig trait. The Farfalle struct is intended to be used through the crypto_permutation::DeckFunction trait that it implements.

Note: No security audits of this crate have ever been performed. Use at your own risk!

The kravatte and xoofff crate-features enable the Kravatte and Xoofff instantiations of Farfalle, in the kravatte and xoofff modules respectively. These also contain the rolling functions that are used by these instantiations, so it is easy create your own custom instantiation of Farfalle that differs from Kravatte or Xoofff in the round count for the permutation (in case you think the advised parameters are not conservative enough).

Features

  • kravatte: Enables the kravatte module.
  • xoofff: Enables the xoofff module.
  • debug: Used for tests. Don’t use!

Testing

The Kravatte instantiation has been tested against the kravatte python package. The Xoofff instantiation has been tested against the xoofff crate.

Dependencies