Skip to main content

cycle_walk_inner

Function cycle_walk_inner 

Source
pub fn cycle_walk_inner(
    value: u64,
    range: u64,
    half_bits: u32,
    half_mask: u64,
    round_keys: &[u64; 6],
) -> u64
Expand 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).