use rand::rngs::StdRng; use rand::Rng; use rand::SeedableRng; use rug::Integer; pub fn generate_random_odd_integer(num_bits: u32) -> Integer { let mut rng = StdRng::from_os_rng(); let mut x = Integer::from(1); for _ in 1..(num_bits-1) { x <<= 1; x += rng.random_range(0..=1); } x <<= 1; x += 1; x } pub fn generate_random_integer(num_bits: u32) -> Integer { let mut rng = StdRng::from_os_rng(); let mut x = Integer::from(1); for _ in 1..num_bits { x <<= 1; x += rng.random_range(0..=1); } x }