odd random only
This commit is contained in:
@ -4,11 +4,11 @@ use rug::{Assign, Integer};
|
||||
pub fn encrypt_bit(bit: u8, key: &Integer, gamma: u32, rho: u32) -> Integer {
|
||||
assert!(bit == 0 || bit == 1, "Only bits (0 or 1) are allowed");
|
||||
|
||||
let q: Integer = generate_random_integer(gamma);
|
||||
let q: Integer = generate_random_odd_integer(gamma);
|
||||
|
||||
// noise
|
||||
let p_div_4: Integer = key.clone() / 4;
|
||||
let r = std::iter::repeat_with(|| generate_random_integer(rho))
|
||||
let r = std::iter::repeat_with(|| generate_random_odd_integer(rho))
|
||||
.find(|r| r.clone() * 2 < p_div_4)
|
||||
.unwrap();
|
||||
|
||||
|
Reference in New Issue
Block a user