diff --git a/src/dghv_asym.rs b/src/dghv_asym.rs index f74b1b9..22b6e50 100644 --- a/src/dghv_asym.rs +++ b/src/dghv_asym.rs @@ -1,5 +1,5 @@ use crate::dghv::{encrypt_bit, generate_secret_key}; -use crate::utils::generate_random_odd_integer; +use crate::utils::generate_random_integer; use rand::rngs::StdRng; use rand::Rng; use rand::SeedableRng; @@ -43,13 +43,13 @@ pub fn encrypt_bit_asym(m: u8, pk: &PublicKey, rho: u32) -> Integer { // random x_i let mut sum = Integer::from(0); for x in pk.xs.iter().skip(1) { - if rng.random_bool(0.5) { + if rng.random_bool(0.1) { sum += x; } } // noise - let r = generate_random_odd_integer(rho); + let r = generate_random_integer(rho); let mut c = Integer::from(m); c += Integer::from(2) * r; c += sum; @@ -65,9 +65,9 @@ mod tests { #[test] fn test_key_generation_properties() { - let eta: u32 = 64; - let gamma: u32 = 80; - let theta: usize = 10; + let eta: u32 = 10000; + let gamma: u32 = 11000; + let theta: usize = 5; let rho: u32 = 16; let (sk, pk) = generate_keys(gamma, eta, rho, theta); @@ -84,13 +84,13 @@ mod tests { #[test] fn test_encrypt_decrypt_bit() { - let eta: u32 = 1024; - let gamma: u32 = 2048; - let theta: usize = 10; + let eta: u32 = 10000; + let gamma: u32 = 11000; + let theta: usize = 20; let rho: u32 = 128; - let (sk, pk) = generate_keys(gamma, eta, rho, theta); - for _ in 0..=10000 { + for _ in 0..=255 { + let (sk, pk) = generate_keys(gamma, eta, rho, theta); for &m in &[0u8, 1u8] { let c = encrypt_bit_asym(m, &pk, rho); let m2 = decrypt_bit(&c, &sk.p);