prettier loop

This commit is contained in:
Sam Hadow 2025-04-18 11:01:22 +02:00
parent 8421041d17
commit 8be0df7d60

View File

@ -11,14 +11,10 @@ pub fn encrypt_bit(bit: u8, key: &Integer) -> Integer {
let q: Integer = Integer::from(rng.next_u64()) % key; let q: Integer = Integer::from(rng.next_u64()) % key;
// noise // noise
let mut r: Integer;
let p_div_4: Integer = key.clone() / 4; let p_div_4: Integer = key.clone() / 4;
loop { let r = std::iter::repeat_with(|| Integer::from(rng.next_u64()))
r = Integer::from(rng.next_u64()); .find(|r| r.clone() * 2 < p_div_4)
if r.clone() * 2 < p_div_4 { .unwrap();
break;
}
}
// c = b + p*q + 2*r // c = b + p*q + 2*r
let mut c = Integer::new(); let mut c = Integer::new();
@ -36,11 +32,8 @@ pub fn generate_secret_key(eta: u32) -> Integer {
let mut rng = StdRng::from_os_rng(); let mut rng = StdRng::from_os_rng();
let lower = Integer::from(1) << (eta - 1); let lower = Integer::from(1) << (eta - 1);
let upper = Integer::from(1) << eta; let upper = Integer::from(1) << eta;
let range: Integer = upper - &lower;
loop { std::iter::repeat_with(|| Integer::from(rng.next_u64()) % &range + &lower)
let p = Integer::from(rng.next_u64()) % (upper.clone() - lower.clone()) + &lower; .find(|p: &Integer| p.is_odd())
if p.is_odd() { .unwrap()
return p;
}
}
} }