Files
homomorphic-encryption/src/utils.rs
2025-04-30 15:10:44 +02:00

27 lines
575 B
Rust

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
}