pub fn cycle_walk_inner(
value: u64,
range: u64,
half_bits: u32,
half_mask: u64,
round_keys: &[u64; 6],
) -> u64Expand description
Apply cycle-walking with the Feistel bijection.
The input value is first reduced to [0, range) via modular
reduction so that out-of-range inputs are accepted gracefully.
Starting from a value in [0, range), cycle-walking is guaranteed
to terminate because the Feistel permutation’s cycle through that
value must re-enter [0, range).