permutation-xoodoo

Xoodoo permutation in the crypto-permutation framework.
Xoodoo: Permutation
Example
Note: The following example makes use of very low-level cryptographic APIs, which you
shouldn’t use unless you know very well what you are doing. The intended use of this crate
is just to pass the XoodooP permutation as a parameter to some generic more high-level
construction like Farfalle as implemented in deck-farfalle.
Suppose we want to apply the full 12-round Xoodoo permutation to the message
"hello world" (and then padded with null-bytes to make it 42 bytes in length),
and then get the first 3 bytes of output.
use ;
use ;
// create a state and a permutation to act on it
let mut state = default;
let xoodoo = default;
// write input to the state
state.copy_writer.write_bytes;
// apply the xoodoo permutation to the state
xoodoo.apply;
// and finally you can read the first 3 bytes of output
let mut out = ;
state.reader.write_to_slice;
assert_eq!;