propper parameters
This commit is contained in:
@ -1,5 +1,5 @@
|
|||||||
use crate::dghv::{encrypt_bit, generate_secret_key};
|
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::rngs::StdRng;
|
||||||
use rand::Rng;
|
use rand::Rng;
|
||||||
use rand::SeedableRng;
|
use rand::SeedableRng;
|
||||||
@ -43,13 +43,13 @@ pub fn encrypt_bit_asym(m: u8, pk: &PublicKey, rho: u32) -> Integer {
|
|||||||
// random x_i
|
// random x_i
|
||||||
let mut sum = Integer::from(0);
|
let mut sum = Integer::from(0);
|
||||||
for x in pk.xs.iter().skip(1) {
|
for x in pk.xs.iter().skip(1) {
|
||||||
if rng.random_bool(0.5) {
|
if rng.random_bool(0.1) {
|
||||||
sum += x;
|
sum += x;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// noise
|
// noise
|
||||||
let r = generate_random_odd_integer(rho);
|
let r = generate_random_integer(rho);
|
||||||
let mut c = Integer::from(m);
|
let mut c = Integer::from(m);
|
||||||
c += Integer::from(2) * r;
|
c += Integer::from(2) * r;
|
||||||
c += sum;
|
c += sum;
|
||||||
@ -65,9 +65,9 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_key_generation_properties() {
|
fn test_key_generation_properties() {
|
||||||
let eta: u32 = 64;
|
let eta: u32 = 10000;
|
||||||
let gamma: u32 = 80;
|
let gamma: u32 = 11000;
|
||||||
let theta: usize = 10;
|
let theta: usize = 5;
|
||||||
let rho: u32 = 16;
|
let rho: u32 = 16;
|
||||||
let (sk, pk) = generate_keys(gamma, eta, rho, theta);
|
let (sk, pk) = generate_keys(gamma, eta, rho, theta);
|
||||||
|
|
||||||
@ -84,13 +84,13 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_encrypt_decrypt_bit() {
|
fn test_encrypt_decrypt_bit() {
|
||||||
let eta: u32 = 1024;
|
let eta: u32 = 10000;
|
||||||
let gamma: u32 = 2048;
|
let gamma: u32 = 11000;
|
||||||
let theta: usize = 10;
|
let theta: usize = 20;
|
||||||
let rho: u32 = 128;
|
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] {
|
for &m in &[0u8, 1u8] {
|
||||||
let c = encrypt_bit_asym(m, &pk, rho);
|
let c = encrypt_bit_asym(m, &pk, rho);
|
||||||
let m2 = decrypt_bit(&c, &sk.p);
|
let m2 = decrypt_bit(&c, &sk.p);
|
||||||
|
Reference in New Issue
Block a user