Skip to content

Commit

Permalink
skip computing the higher order of secret key in BFV decryption (#237)
Browse files Browse the repository at this point in the history
  • Loading branch information
fionser authored Jan 15, 2024
1 parent 2e2c3c2 commit b10e34f
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion crates/fhe/src/bfv/keys/secret_key.rs
Original file line number Diff line number Diff line change
Expand Up @@ -175,12 +175,16 @@ impl FheDecrypter<Plaintext, Ciphertext> for SecretKey {
let mut c = Zeroizing::new(ct.c[0].clone());
c.disallow_variable_time_computations();

// Compute the phase c0 + c1*s + c2*s^2 + ... where the secret power
// s^k is computed on-the-fly
for i in 1..ct.c.len() {
let mut cis = Zeroizing::new(ct.c[i].clone());
cis.disallow_variable_time_computations();
*cis.as_mut() *= si.as_ref();
*c.as_mut() += &cis;
*si.as_mut() *= s.as_ref();
if i + 1 < ct.c.len() {
*si.as_mut() *= s.as_ref();
}
}
c.change_representation(Representation::PowerBasis);

Expand Down

0 comments on commit b10e34f

Please sign in to comment.