in protocol/src/pjc/partner.rs [165:184]
fn decrypt_stats(&self, encrypted_sums: Vec<TPayload>) {
let max_val: BigUint = BigUint::one() << 64;
if let Ok(mut partner_stats) = self.decrypted_stats.clone().write() {
partner_stats.clear();
for (feature_index, encrypted_sum) in encrypted_sums.into_iter().enumerate() {
assert_eq!(encrypted_sum.len(), 1);
let z = ((self.he_cipher.decrypt_vec(encrypted_sum))[0]).clone();
let sum = {
let v = (z % &max_val).to_u64_digits();
assert_eq!(v.len(), 1);
v[0]
};
info!("Feature: {}, Sum {}", feature_index, sum);
partner_stats.push(sum);
}
}
}