Crate deck_farfalle
source ·Expand description
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.
Structs
- Generic Farfalle construction.
- Expansion part in the Farfalle construction.
- A
Writer
structure that inputs all data that is written to it into the Farfalle construction.
Traits
- Parameters for the Farfalle construction.
- A rolling function as used in the Farfalle construction.