mod bootstrapping; mod dghv; mod dghv_asym; mod utils; use crate::dghv::{decrypt_bit, encrypt_bit, generate_secret_key}; fn main() { let eta = 10000; let secret_key = generate_secret_key(eta); let bit = 1; let ciphertext = encrypt_bit(bit, &secret_key, 10000, 512); let decrypted = decrypt_bit(&ciphertext, &secret_key); let opx2 = ciphertext.clone() * encrypt_bit(1, &secret_key, 10000, 512); let decrypted_opx2 = decrypt_bit(&opx2, &secret_key); println!("clear bit (b): {}", bit); println!("Secret key (p): {}", secret_key); println!("Encrypted bit (c): {}", ciphertext); println!("decrypted bit : {}", decrypted); println!("decrypted bit AND 1: {}", decrypted_opx2); }