chore: add params, misc fixes for test

This commit is contained in:
Arthur Meyre
2024-05-03 19:44:35 +02:00
parent 649c2c1ccd
commit 05ec1eaed6
6 changed files with 8381 additions and 17 deletions

18
params_bc.py Normal file
View File

@@ -0,0 +1,18 @@
import itertools
def main():
msg_carry_bits = [1, 2, 3, 4]
security = list(range(128, 139))
p_fails = [40, 64, 80, 128]
for (msg_carry_bit, sec, p_fail) in itertools.product(msg_carry_bits, security, p_fails):
print(f"PARAM_PKE_MESSAGE_{msg_carry_bit}_CARRY_{msg_carry_bit}_{sec}_{p_fail}")
print(f"PARAM_FHE_MESSAGE_{msg_carry_bit}_CARRY_{msg_carry_bit}_{sec}_{p_fail}")
for (msg_carry_bit, sec, p_fail) in itertools.product(msg_carry_bits, security, p_fails):
print(f"(PARAM_PKE_MESSAGE_{msg_carry_bit}_CARRY_{msg_carry_bit}_{sec}_{p_fail},"
f"PARAM_FHE_MESSAGE_{msg_carry_bit}_CARRY_{msg_carry_bit}_{sec}_{p_fail},"
f"PARAM_KEYSWITCH_MESSAGE_{msg_carry_bit}_CARRY_{msg_carry_bit}_{sec}_{p_fail})")
if __name__ == "__main__":
main()

View File

@@ -1,9 +1,13 @@
use crate::integer::key_switching_key::KeySwitchingKey;
use crate::integer::keycache::KEY_CACHE;
use crate::integer::{gen_keys, CompressedPublicKey, IntegerKeyKind, PublicKey, RadixCiphertext};
use crate::integer::{IntegerCiphertext, RadixClientKey};
use crate::integer::{
gen_keys, ClientKey, CompactPublicKey, CompressedPublicKey, IntegerCiphertext, IntegerKeyKind,
PublicKey, RadixCiphertext, RadixClientKey, ServerKey,
};
use crate::shortint::parameters::bc::*;
use crate::shortint::parameters::ShortintKeySwitchingParameters;
use crate::shortint::prelude::PARAM_MESSAGE_2_CARRY_2_KS_PBS;
use crate::shortint::ClassicPBSParameters;
macro_rules! create_parametrized_test {
(
@@ -82,39 +86,265 @@ macro_rules! create_parametrized_test_classical_params {
}
pub(crate) use {create_parametrized_test, create_parametrized_test_classical_params};
#[test]
fn pke_ap() {
let num_block = 4;
fn pke_ap(
param_pke: ClassicPBSParameters,
param_fhe: ClassicPBSParameters,
param_ksk: ShortintKeySwitchingParameters,
) {
let num_block = 4usize;
let param_pke = PARAM_MESSAGE_2_CARRY_2_KS_PBS;
let param_fhe = PARAM_MESSAGE_2_CARRY_2_KS_PBS;
let param_ksk = ShortintKeySwitchingParameters::new(param_fhe.ks_base_log, param_fhe.ks_level);
// let param_pke = PARAM_MESSAGE_2_CARRY_2_KS_PBS;
// let param_fhe = PARAM_MESSAGE_2_CARRY_2_KS_PBS;
// let param_ksk = ShortintKeySwitchingParameters::new(param_fhe.ks_base_log,
// param_fhe.ks_level);
let (cks_pke, sks_pke) = gen_keys(param_pke, IntegerKeyKind::Radix);
let pk = crate::integer::public_key::CompactPublicKey::new(&cks_pke);
// let (cks_pke, sks_pke) = gen_keys(param_pke, IntegerKeyKind::Radix);
// let pk = crate::integer::public_key::CompactPublicKey::new(&cks_pke);
let (cks_fhe, sks_fhe) = gen_keys(param_fhe, IntegerKeyKind::Radix);
// let (cks_fhe, sks_fhe) = gen_keys(param_fhe, IntegerKeyKind::Radix);
assert_eq!(param_pke.message_modulus, param_fhe.message_modulus);
assert_eq!(param_pke.carry_modulus, param_fhe.carry_modulus);
let modulus = param_fhe.message_modulus.0.pow(num_block as u32) as u64;
let cks_pke = ClientKey::new(param_pke);
let sks_pke = ServerKey::new_radix_server_key(&cks_pke);
let pk = CompactPublicKey::new(&cks_pke);
let cks_fhe = ClientKey::new(param_fhe);
let sks_fhe = ServerKey::new_radix_server_key(&cks_fhe);
let ksk = KeySwitchingKey::new((&cks_pke, &sks_pke), (&cks_fhe, &sks_fhe), param_ksk);
let input_msg: u8 = (228u64 % modulus).try_into().unwrap();
// Encrypt a value and cast
let ct1 = pk.encrypt_radix_compact(228u8, num_block);
let ct1 = pk.encrypt_radix_compact(input_msg, num_block);
let ct1_extracted: &RadixCiphertext = &ct1.expand()[0];
let sanity_extracted: u8 = cks_pke.decrypt_radix(&ct1_extracted);
assert_eq!(sanity_extracted, input_msg);
// KSK Cast
let mut ct2 = ksk.cast(ct1_extracted);
let sanity_cast: u8 = cks_fhe.decrypt_radix(&ct2);
assert_eq!(sanity_cast, input_msg);
// PBS to clean
let acc = sks_fhe.key.generate_lookup_table(|x| x);
for blocks in ct2.blocks_mut() {
sks_fhe.key.apply_lookup_table_assign(blocks, &acc)
}
let sanity_pbs: u8 = cks_fhe.decrypt_radix(&ct2);
assert_eq!(sanity_pbs, input_msg);
let multiplier = 255u64 % modulus;
// Classical AP: DP, KS, PBS
sks_fhe.scalar_mul_assign_parallelized(&mut ct2, 255);
sks_fhe.scalar_mul_assign_parallelized(&mut ct2, multiplier);
// High level decryption and test
let clear: u64 = cks_fhe.decrypt_radix(&ct2);
//let clear: u64 = cks_fhe.decrypt_radix(&ct1_extracted[0]);
assert_eq!(clear, (228 * 255) % (1 << (num_block + 1)));
assert_eq!(clear, (input_msg as u64 * multiplier) % modulus);
}
macro_rules! create_parametrized_test_pke {
(
$name:ident {
$(($param_pke:ident, $param_fhe:ident, $param_ksk:ident)),*
$(,)?
}
) => {
::paste::paste! {
$(
#[test]
fn [<test_ $name _ $param_pke:lower _ $param_fhe:lower _ $param_ksk:lower>]() {
$name($param_pke, $param_fhe, $param_ksk)
}
)*
}
};
}
create_parametrized_test_pke!(pke_ap {
(PARAM_PKE_MESSAGE_1_CARRY_1_128_40,PARAM_FHE_MESSAGE_1_CARRY_1_128_40,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_128_40),
(PARAM_PKE_MESSAGE_1_CARRY_1_128_64,PARAM_FHE_MESSAGE_1_CARRY_1_128_64,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_128_64),
(PARAM_PKE_MESSAGE_1_CARRY_1_128_80,PARAM_FHE_MESSAGE_1_CARRY_1_128_80,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_128_80),
(PARAM_PKE_MESSAGE_1_CARRY_1_128_128,PARAM_FHE_MESSAGE_1_CARRY_1_128_128,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_128_128),
(PARAM_PKE_MESSAGE_1_CARRY_1_129_40,PARAM_FHE_MESSAGE_1_CARRY_1_129_40,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_129_40),
(PARAM_PKE_MESSAGE_1_CARRY_1_129_64,PARAM_FHE_MESSAGE_1_CARRY_1_129_64,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_129_64),
(PARAM_PKE_MESSAGE_1_CARRY_1_129_80,PARAM_FHE_MESSAGE_1_CARRY_1_129_80,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_129_80),
(PARAM_PKE_MESSAGE_1_CARRY_1_129_128,PARAM_FHE_MESSAGE_1_CARRY_1_129_128,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_129_128),
(PARAM_PKE_MESSAGE_1_CARRY_1_130_40,PARAM_FHE_MESSAGE_1_CARRY_1_130_40,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_130_40),
(PARAM_PKE_MESSAGE_1_CARRY_1_130_64,PARAM_FHE_MESSAGE_1_CARRY_1_130_64,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_130_64),
(PARAM_PKE_MESSAGE_1_CARRY_1_130_80,PARAM_FHE_MESSAGE_1_CARRY_1_130_80,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_130_80),
(PARAM_PKE_MESSAGE_1_CARRY_1_130_128,PARAM_FHE_MESSAGE_1_CARRY_1_130_128,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_130_128),
(PARAM_PKE_MESSAGE_1_CARRY_1_131_40,PARAM_FHE_MESSAGE_1_CARRY_1_131_40,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_131_40),
(PARAM_PKE_MESSAGE_1_CARRY_1_131_64,PARAM_FHE_MESSAGE_1_CARRY_1_131_64,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_131_64),
(PARAM_PKE_MESSAGE_1_CARRY_1_131_80,PARAM_FHE_MESSAGE_1_CARRY_1_131_80,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_131_80),
(PARAM_PKE_MESSAGE_1_CARRY_1_131_128,PARAM_FHE_MESSAGE_1_CARRY_1_131_128,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_131_128),
(PARAM_PKE_MESSAGE_1_CARRY_1_132_40,PARAM_FHE_MESSAGE_1_CARRY_1_132_40,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_132_40),
(PARAM_PKE_MESSAGE_1_CARRY_1_132_64,PARAM_FHE_MESSAGE_1_CARRY_1_132_64,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_132_64),
(PARAM_PKE_MESSAGE_1_CARRY_1_132_80,PARAM_FHE_MESSAGE_1_CARRY_1_132_80,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_132_80),
(PARAM_PKE_MESSAGE_1_CARRY_1_132_128,PARAM_FHE_MESSAGE_1_CARRY_1_132_128,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_132_128),
(PARAM_PKE_MESSAGE_1_CARRY_1_133_40,PARAM_FHE_MESSAGE_1_CARRY_1_133_40,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_133_40),
(PARAM_PKE_MESSAGE_1_CARRY_1_133_64,PARAM_FHE_MESSAGE_1_CARRY_1_133_64,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_133_64),
(PARAM_PKE_MESSAGE_1_CARRY_1_133_80,PARAM_FHE_MESSAGE_1_CARRY_1_133_80,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_133_80),
(PARAM_PKE_MESSAGE_1_CARRY_1_133_128,PARAM_FHE_MESSAGE_1_CARRY_1_133_128,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_133_128),
(PARAM_PKE_MESSAGE_1_CARRY_1_134_40,PARAM_FHE_MESSAGE_1_CARRY_1_134_40,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_134_40),
(PARAM_PKE_MESSAGE_1_CARRY_1_134_64,PARAM_FHE_MESSAGE_1_CARRY_1_134_64,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_134_64),
(PARAM_PKE_MESSAGE_1_CARRY_1_134_80,PARAM_FHE_MESSAGE_1_CARRY_1_134_80,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_134_80),
(PARAM_PKE_MESSAGE_1_CARRY_1_134_128,PARAM_FHE_MESSAGE_1_CARRY_1_134_128,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_134_128),
(PARAM_PKE_MESSAGE_1_CARRY_1_135_40,PARAM_FHE_MESSAGE_1_CARRY_1_135_40,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_135_40),
(PARAM_PKE_MESSAGE_1_CARRY_1_135_64,PARAM_FHE_MESSAGE_1_CARRY_1_135_64,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_135_64),
(PARAM_PKE_MESSAGE_1_CARRY_1_135_80,PARAM_FHE_MESSAGE_1_CARRY_1_135_80,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_135_80),
(PARAM_PKE_MESSAGE_1_CARRY_1_135_128,PARAM_FHE_MESSAGE_1_CARRY_1_135_128,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_135_128),
(PARAM_PKE_MESSAGE_1_CARRY_1_136_40,PARAM_FHE_MESSAGE_1_CARRY_1_136_40,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_136_40),
(PARAM_PKE_MESSAGE_1_CARRY_1_136_64,PARAM_FHE_MESSAGE_1_CARRY_1_136_64,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_136_64),
(PARAM_PKE_MESSAGE_1_CARRY_1_136_80,PARAM_FHE_MESSAGE_1_CARRY_1_136_80,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_136_80),
(PARAM_PKE_MESSAGE_1_CARRY_1_136_128,PARAM_FHE_MESSAGE_1_CARRY_1_136_128,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_136_128),
(PARAM_PKE_MESSAGE_1_CARRY_1_137_40,PARAM_FHE_MESSAGE_1_CARRY_1_137_40,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_137_40),
(PARAM_PKE_MESSAGE_1_CARRY_1_137_64,PARAM_FHE_MESSAGE_1_CARRY_1_137_64,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_137_64),
(PARAM_PKE_MESSAGE_1_CARRY_1_137_80,PARAM_FHE_MESSAGE_1_CARRY_1_137_80,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_137_80),
(PARAM_PKE_MESSAGE_1_CARRY_1_137_128,PARAM_FHE_MESSAGE_1_CARRY_1_137_128,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_137_128),
(PARAM_PKE_MESSAGE_1_CARRY_1_138_40,PARAM_FHE_MESSAGE_1_CARRY_1_138_40,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_138_40),
(PARAM_PKE_MESSAGE_1_CARRY_1_138_64,PARAM_FHE_MESSAGE_1_CARRY_1_138_64,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_138_64),
(PARAM_PKE_MESSAGE_1_CARRY_1_138_80,PARAM_FHE_MESSAGE_1_CARRY_1_138_80,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_138_80),
(PARAM_PKE_MESSAGE_1_CARRY_1_138_128,PARAM_FHE_MESSAGE_1_CARRY_1_138_128,PARAM_KEYSWITCH_MESSAGE_1_CARRY_1_138_128),
(PARAM_PKE_MESSAGE_2_CARRY_2_128_40,PARAM_FHE_MESSAGE_2_CARRY_2_128_40,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_128_40),
(PARAM_PKE_MESSAGE_2_CARRY_2_128_64,PARAM_FHE_MESSAGE_2_CARRY_2_128_64,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_128_64),
(PARAM_PKE_MESSAGE_2_CARRY_2_128_80,PARAM_FHE_MESSAGE_2_CARRY_2_128_80,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_128_80),
(PARAM_PKE_MESSAGE_2_CARRY_2_128_128,PARAM_FHE_MESSAGE_2_CARRY_2_128_128,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_128_128),
(PARAM_PKE_MESSAGE_2_CARRY_2_129_40,PARAM_FHE_MESSAGE_2_CARRY_2_129_40,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_129_40),
(PARAM_PKE_MESSAGE_2_CARRY_2_129_64,PARAM_FHE_MESSAGE_2_CARRY_2_129_64,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_129_64),
(PARAM_PKE_MESSAGE_2_CARRY_2_129_80,PARAM_FHE_MESSAGE_2_CARRY_2_129_80,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_129_80),
(PARAM_PKE_MESSAGE_2_CARRY_2_129_128,PARAM_FHE_MESSAGE_2_CARRY_2_129_128,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_129_128),
(PARAM_PKE_MESSAGE_2_CARRY_2_130_40,PARAM_FHE_MESSAGE_2_CARRY_2_130_40,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_130_40),
(PARAM_PKE_MESSAGE_2_CARRY_2_130_64,PARAM_FHE_MESSAGE_2_CARRY_2_130_64,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_130_64),
(PARAM_PKE_MESSAGE_2_CARRY_2_130_80,PARAM_FHE_MESSAGE_2_CARRY_2_130_80,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_130_80),
(PARAM_PKE_MESSAGE_2_CARRY_2_130_128,PARAM_FHE_MESSAGE_2_CARRY_2_130_128,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_130_128),
(PARAM_PKE_MESSAGE_2_CARRY_2_131_40,PARAM_FHE_MESSAGE_2_CARRY_2_131_40,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_131_40),
(PARAM_PKE_MESSAGE_2_CARRY_2_131_64,PARAM_FHE_MESSAGE_2_CARRY_2_131_64,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_131_64),
(PARAM_PKE_MESSAGE_2_CARRY_2_131_80,PARAM_FHE_MESSAGE_2_CARRY_2_131_80,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_131_80),
(PARAM_PKE_MESSAGE_2_CARRY_2_131_128,PARAM_FHE_MESSAGE_2_CARRY_2_131_128,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_131_128),
(PARAM_PKE_MESSAGE_2_CARRY_2_132_40,PARAM_FHE_MESSAGE_2_CARRY_2_132_40,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_132_40),
(PARAM_PKE_MESSAGE_2_CARRY_2_132_64,PARAM_FHE_MESSAGE_2_CARRY_2_132_64,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_132_64),
(PARAM_PKE_MESSAGE_2_CARRY_2_132_80,PARAM_FHE_MESSAGE_2_CARRY_2_132_80,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_132_80),
(PARAM_PKE_MESSAGE_2_CARRY_2_132_128,PARAM_FHE_MESSAGE_2_CARRY_2_132_128,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_132_128),
(PARAM_PKE_MESSAGE_2_CARRY_2_133_40,PARAM_FHE_MESSAGE_2_CARRY_2_133_40,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_133_40),
(PARAM_PKE_MESSAGE_2_CARRY_2_133_64,PARAM_FHE_MESSAGE_2_CARRY_2_133_64,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_133_64),
(PARAM_PKE_MESSAGE_2_CARRY_2_133_80,PARAM_FHE_MESSAGE_2_CARRY_2_133_80,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_133_80),
(PARAM_PKE_MESSAGE_2_CARRY_2_133_128,PARAM_FHE_MESSAGE_2_CARRY_2_133_128,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_133_128),
(PARAM_PKE_MESSAGE_2_CARRY_2_134_40,PARAM_FHE_MESSAGE_2_CARRY_2_134_40,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_134_40),
(PARAM_PKE_MESSAGE_2_CARRY_2_134_64,PARAM_FHE_MESSAGE_2_CARRY_2_134_64,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_134_64),
(PARAM_PKE_MESSAGE_2_CARRY_2_134_80,PARAM_FHE_MESSAGE_2_CARRY_2_134_80,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_134_80),
(PARAM_PKE_MESSAGE_2_CARRY_2_134_128,PARAM_FHE_MESSAGE_2_CARRY_2_134_128,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_134_128),
(PARAM_PKE_MESSAGE_2_CARRY_2_135_40,PARAM_FHE_MESSAGE_2_CARRY_2_135_40,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_135_40),
(PARAM_PKE_MESSAGE_2_CARRY_2_135_64,PARAM_FHE_MESSAGE_2_CARRY_2_135_64,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_135_64),
(PARAM_PKE_MESSAGE_2_CARRY_2_135_80,PARAM_FHE_MESSAGE_2_CARRY_2_135_80,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_135_80),
(PARAM_PKE_MESSAGE_2_CARRY_2_135_128,PARAM_FHE_MESSAGE_2_CARRY_2_135_128,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_135_128),
(PARAM_PKE_MESSAGE_2_CARRY_2_136_40,PARAM_FHE_MESSAGE_2_CARRY_2_136_40,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_136_40),
(PARAM_PKE_MESSAGE_2_CARRY_2_136_64,PARAM_FHE_MESSAGE_2_CARRY_2_136_64,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_136_64),
(PARAM_PKE_MESSAGE_2_CARRY_2_136_80,PARAM_FHE_MESSAGE_2_CARRY_2_136_80,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_136_80),
(PARAM_PKE_MESSAGE_2_CARRY_2_136_128,PARAM_FHE_MESSAGE_2_CARRY_2_136_128,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_136_128),
(PARAM_PKE_MESSAGE_2_CARRY_2_137_40,PARAM_FHE_MESSAGE_2_CARRY_2_137_40,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_137_40),
(PARAM_PKE_MESSAGE_2_CARRY_2_137_64,PARAM_FHE_MESSAGE_2_CARRY_2_137_64,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_137_64),
(PARAM_PKE_MESSAGE_2_CARRY_2_137_80,PARAM_FHE_MESSAGE_2_CARRY_2_137_80,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_137_80),
(PARAM_PKE_MESSAGE_2_CARRY_2_137_128,PARAM_FHE_MESSAGE_2_CARRY_2_137_128,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_137_128),
(PARAM_PKE_MESSAGE_2_CARRY_2_138_40,PARAM_FHE_MESSAGE_2_CARRY_2_138_40,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_138_40),
(PARAM_PKE_MESSAGE_2_CARRY_2_138_64,PARAM_FHE_MESSAGE_2_CARRY_2_138_64,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_138_64),
(PARAM_PKE_MESSAGE_2_CARRY_2_138_80,PARAM_FHE_MESSAGE_2_CARRY_2_138_80,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_138_80),
(PARAM_PKE_MESSAGE_2_CARRY_2_138_128,PARAM_FHE_MESSAGE_2_CARRY_2_138_128,PARAM_KEYSWITCH_MESSAGE_2_CARRY_2_138_128),
(PARAM_PKE_MESSAGE_3_CARRY_3_128_40,PARAM_FHE_MESSAGE_3_CARRY_3_128_40,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_128_40),
(PARAM_PKE_MESSAGE_3_CARRY_3_128_64,PARAM_FHE_MESSAGE_3_CARRY_3_128_64,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_128_64),
(PARAM_PKE_MESSAGE_3_CARRY_3_128_80,PARAM_FHE_MESSAGE_3_CARRY_3_128_80,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_128_80),
(PARAM_PKE_MESSAGE_3_CARRY_3_128_128,PARAM_FHE_MESSAGE_3_CARRY_3_128_128,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_128_128),
(PARAM_PKE_MESSAGE_3_CARRY_3_129_40,PARAM_FHE_MESSAGE_3_CARRY_3_129_40,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_129_40),
(PARAM_PKE_MESSAGE_3_CARRY_3_129_64,PARAM_FHE_MESSAGE_3_CARRY_3_129_64,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_129_64),
(PARAM_PKE_MESSAGE_3_CARRY_3_129_80,PARAM_FHE_MESSAGE_3_CARRY_3_129_80,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_129_80),
(PARAM_PKE_MESSAGE_3_CARRY_3_129_128,PARAM_FHE_MESSAGE_3_CARRY_3_129_128,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_129_128),
(PARAM_PKE_MESSAGE_3_CARRY_3_130_40,PARAM_FHE_MESSAGE_3_CARRY_3_130_40,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_130_40),
(PARAM_PKE_MESSAGE_3_CARRY_3_130_64,PARAM_FHE_MESSAGE_3_CARRY_3_130_64,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_130_64),
(PARAM_PKE_MESSAGE_3_CARRY_3_130_80,PARAM_FHE_MESSAGE_3_CARRY_3_130_80,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_130_80),
(PARAM_PKE_MESSAGE_3_CARRY_3_130_128,PARAM_FHE_MESSAGE_3_CARRY_3_130_128,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_130_128),
(PARAM_PKE_MESSAGE_3_CARRY_3_131_40,PARAM_FHE_MESSAGE_3_CARRY_3_131_40,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_131_40),
(PARAM_PKE_MESSAGE_3_CARRY_3_131_64,PARAM_FHE_MESSAGE_3_CARRY_3_131_64,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_131_64),
(PARAM_PKE_MESSAGE_3_CARRY_3_131_80,PARAM_FHE_MESSAGE_3_CARRY_3_131_80,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_131_80),
(PARAM_PKE_MESSAGE_3_CARRY_3_131_128,PARAM_FHE_MESSAGE_3_CARRY_3_131_128,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_131_128),
(PARAM_PKE_MESSAGE_3_CARRY_3_132_40,PARAM_FHE_MESSAGE_3_CARRY_3_132_40,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_132_40),
(PARAM_PKE_MESSAGE_3_CARRY_3_132_64,PARAM_FHE_MESSAGE_3_CARRY_3_132_64,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_132_64),
(PARAM_PKE_MESSAGE_3_CARRY_3_132_80,PARAM_FHE_MESSAGE_3_CARRY_3_132_80,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_132_80),
(PARAM_PKE_MESSAGE_3_CARRY_3_132_128,PARAM_FHE_MESSAGE_3_CARRY_3_132_128,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_132_128),
(PARAM_PKE_MESSAGE_3_CARRY_3_133_40,PARAM_FHE_MESSAGE_3_CARRY_3_133_40,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_133_40),
(PARAM_PKE_MESSAGE_3_CARRY_3_133_64,PARAM_FHE_MESSAGE_3_CARRY_3_133_64,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_133_64),
(PARAM_PKE_MESSAGE_3_CARRY_3_133_80,PARAM_FHE_MESSAGE_3_CARRY_3_133_80,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_133_80),
(PARAM_PKE_MESSAGE_3_CARRY_3_133_128,PARAM_FHE_MESSAGE_3_CARRY_3_133_128,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_133_128),
(PARAM_PKE_MESSAGE_3_CARRY_3_134_40,PARAM_FHE_MESSAGE_3_CARRY_3_134_40,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_134_40),
(PARAM_PKE_MESSAGE_3_CARRY_3_134_64,PARAM_FHE_MESSAGE_3_CARRY_3_134_64,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_134_64),
(PARAM_PKE_MESSAGE_3_CARRY_3_134_80,PARAM_FHE_MESSAGE_3_CARRY_3_134_80,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_134_80),
(PARAM_PKE_MESSAGE_3_CARRY_3_134_128,PARAM_FHE_MESSAGE_3_CARRY_3_134_128,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_134_128),
(PARAM_PKE_MESSAGE_3_CARRY_3_135_40,PARAM_FHE_MESSAGE_3_CARRY_3_135_40,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_135_40),
(PARAM_PKE_MESSAGE_3_CARRY_3_135_64,PARAM_FHE_MESSAGE_3_CARRY_3_135_64,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_135_64),
(PARAM_PKE_MESSAGE_3_CARRY_3_135_80,PARAM_FHE_MESSAGE_3_CARRY_3_135_80,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_135_80),
(PARAM_PKE_MESSAGE_3_CARRY_3_135_128,PARAM_FHE_MESSAGE_3_CARRY_3_135_128,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_135_128),
(PARAM_PKE_MESSAGE_3_CARRY_3_136_40,PARAM_FHE_MESSAGE_3_CARRY_3_136_40,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_136_40),
(PARAM_PKE_MESSAGE_3_CARRY_3_136_64,PARAM_FHE_MESSAGE_3_CARRY_3_136_64,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_136_64),
(PARAM_PKE_MESSAGE_3_CARRY_3_136_80,PARAM_FHE_MESSAGE_3_CARRY_3_136_80,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_136_80),
(PARAM_PKE_MESSAGE_3_CARRY_3_136_128,PARAM_FHE_MESSAGE_3_CARRY_3_136_128,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_136_128),
(PARAM_PKE_MESSAGE_3_CARRY_3_137_40,PARAM_FHE_MESSAGE_3_CARRY_3_137_40,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_137_40),
(PARAM_PKE_MESSAGE_3_CARRY_3_137_64,PARAM_FHE_MESSAGE_3_CARRY_3_137_64,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_137_64),
(PARAM_PKE_MESSAGE_3_CARRY_3_137_80,PARAM_FHE_MESSAGE_3_CARRY_3_137_80,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_137_80),
(PARAM_PKE_MESSAGE_3_CARRY_3_137_128,PARAM_FHE_MESSAGE_3_CARRY_3_137_128,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_137_128),
(PARAM_PKE_MESSAGE_3_CARRY_3_138_40,PARAM_FHE_MESSAGE_3_CARRY_3_138_40,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_138_40),
(PARAM_PKE_MESSAGE_3_CARRY_3_138_64,PARAM_FHE_MESSAGE_3_CARRY_3_138_64,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_138_64),
(PARAM_PKE_MESSAGE_3_CARRY_3_138_80,PARAM_FHE_MESSAGE_3_CARRY_3_138_80,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_138_80),
(PARAM_PKE_MESSAGE_3_CARRY_3_138_128,PARAM_FHE_MESSAGE_3_CARRY_3_138_128,PARAM_KEYSWITCH_MESSAGE_3_CARRY_3_138_128),
(PARAM_PKE_MESSAGE_4_CARRY_4_128_40,PARAM_FHE_MESSAGE_4_CARRY_4_128_40,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_128_40),
(PARAM_PKE_MESSAGE_4_CARRY_4_128_64,PARAM_FHE_MESSAGE_4_CARRY_4_128_64,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_128_64),
(PARAM_PKE_MESSAGE_4_CARRY_4_128_80,PARAM_FHE_MESSAGE_4_CARRY_4_128_80,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_128_80),
(PARAM_PKE_MESSAGE_4_CARRY_4_128_128,PARAM_FHE_MESSAGE_4_CARRY_4_128_128,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_128_128),
(PARAM_PKE_MESSAGE_4_CARRY_4_129_40,PARAM_FHE_MESSAGE_4_CARRY_4_129_40,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_129_40),
(PARAM_PKE_MESSAGE_4_CARRY_4_129_64,PARAM_FHE_MESSAGE_4_CARRY_4_129_64,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_129_64),
(PARAM_PKE_MESSAGE_4_CARRY_4_129_80,PARAM_FHE_MESSAGE_4_CARRY_4_129_80,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_129_80),
(PARAM_PKE_MESSAGE_4_CARRY_4_129_128,PARAM_FHE_MESSAGE_4_CARRY_4_129_128,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_129_128),
(PARAM_PKE_MESSAGE_4_CARRY_4_130_40,PARAM_FHE_MESSAGE_4_CARRY_4_130_40,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_130_40),
(PARAM_PKE_MESSAGE_4_CARRY_4_130_64,PARAM_FHE_MESSAGE_4_CARRY_4_130_64,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_130_64),
(PARAM_PKE_MESSAGE_4_CARRY_4_130_80,PARAM_FHE_MESSAGE_4_CARRY_4_130_80,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_130_80),
(PARAM_PKE_MESSAGE_4_CARRY_4_130_128,PARAM_FHE_MESSAGE_4_CARRY_4_130_128,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_130_128),
(PARAM_PKE_MESSAGE_4_CARRY_4_131_40,PARAM_FHE_MESSAGE_4_CARRY_4_131_40,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_131_40),
(PARAM_PKE_MESSAGE_4_CARRY_4_131_64,PARAM_FHE_MESSAGE_4_CARRY_4_131_64,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_131_64),
(PARAM_PKE_MESSAGE_4_CARRY_4_131_80,PARAM_FHE_MESSAGE_4_CARRY_4_131_80,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_131_80),
(PARAM_PKE_MESSAGE_4_CARRY_4_131_128,PARAM_FHE_MESSAGE_4_CARRY_4_131_128,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_131_128),
(PARAM_PKE_MESSAGE_4_CARRY_4_132_40,PARAM_FHE_MESSAGE_4_CARRY_4_132_40,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_132_40),
(PARAM_PKE_MESSAGE_4_CARRY_4_132_64,PARAM_FHE_MESSAGE_4_CARRY_4_132_64,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_132_64),
(PARAM_PKE_MESSAGE_4_CARRY_4_132_80,PARAM_FHE_MESSAGE_4_CARRY_4_132_80,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_132_80),
(PARAM_PKE_MESSAGE_4_CARRY_4_132_128,PARAM_FHE_MESSAGE_4_CARRY_4_132_128,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_132_128),
(PARAM_PKE_MESSAGE_4_CARRY_4_133_40,PARAM_FHE_MESSAGE_4_CARRY_4_133_40,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_133_40),
(PARAM_PKE_MESSAGE_4_CARRY_4_133_64,PARAM_FHE_MESSAGE_4_CARRY_4_133_64,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_133_64),
(PARAM_PKE_MESSAGE_4_CARRY_4_133_80,PARAM_FHE_MESSAGE_4_CARRY_4_133_80,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_133_80),
(PARAM_PKE_MESSAGE_4_CARRY_4_133_128,PARAM_FHE_MESSAGE_4_CARRY_4_133_128,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_133_128),
(PARAM_PKE_MESSAGE_4_CARRY_4_134_40,PARAM_FHE_MESSAGE_4_CARRY_4_134_40,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_134_40),
(PARAM_PKE_MESSAGE_4_CARRY_4_134_64,PARAM_FHE_MESSAGE_4_CARRY_4_134_64,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_134_64),
(PARAM_PKE_MESSAGE_4_CARRY_4_134_80,PARAM_FHE_MESSAGE_4_CARRY_4_134_80,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_134_80),
(PARAM_PKE_MESSAGE_4_CARRY_4_134_128,PARAM_FHE_MESSAGE_4_CARRY_4_134_128,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_134_128),
(PARAM_PKE_MESSAGE_4_CARRY_4_135_40,PARAM_FHE_MESSAGE_4_CARRY_4_135_40,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_135_40),
(PARAM_PKE_MESSAGE_4_CARRY_4_135_64,PARAM_FHE_MESSAGE_4_CARRY_4_135_64,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_135_64),
(PARAM_PKE_MESSAGE_4_CARRY_4_135_80,PARAM_FHE_MESSAGE_4_CARRY_4_135_80,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_135_80),
(PARAM_PKE_MESSAGE_4_CARRY_4_135_128,PARAM_FHE_MESSAGE_4_CARRY_4_135_128,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_135_128),
(PARAM_PKE_MESSAGE_4_CARRY_4_136_40,PARAM_FHE_MESSAGE_4_CARRY_4_136_40,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_136_40),
(PARAM_PKE_MESSAGE_4_CARRY_4_136_64,PARAM_FHE_MESSAGE_4_CARRY_4_136_64,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_136_64),
(PARAM_PKE_MESSAGE_4_CARRY_4_136_80,PARAM_FHE_MESSAGE_4_CARRY_4_136_80,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_136_80),
(PARAM_PKE_MESSAGE_4_CARRY_4_136_128,PARAM_FHE_MESSAGE_4_CARRY_4_136_128,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_136_128),
(PARAM_PKE_MESSAGE_4_CARRY_4_137_40,PARAM_FHE_MESSAGE_4_CARRY_4_137_40,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_137_40),
(PARAM_PKE_MESSAGE_4_CARRY_4_137_64,PARAM_FHE_MESSAGE_4_CARRY_4_137_64,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_137_64),
(PARAM_PKE_MESSAGE_4_CARRY_4_137_80,PARAM_FHE_MESSAGE_4_CARRY_4_137_80,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_137_80),
(PARAM_PKE_MESSAGE_4_CARRY_4_137_128,PARAM_FHE_MESSAGE_4_CARRY_4_137_128,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_137_128),
(PARAM_PKE_MESSAGE_4_CARRY_4_138_40,PARAM_FHE_MESSAGE_4_CARRY_4_138_40,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_138_40),
(PARAM_PKE_MESSAGE_4_CARRY_4_138_64,PARAM_FHE_MESSAGE_4_CARRY_4_138_64,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_138_64),
(PARAM_PKE_MESSAGE_4_CARRY_4_138_80,PARAM_FHE_MESSAGE_4_CARRY_4_138_80,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_138_80),
(PARAM_PKE_MESSAGE_4_CARRY_4_138_128,PARAM_FHE_MESSAGE_4_CARRY_4_138_128,PARAM_KEYSWITCH_MESSAGE_4_CARRY_4_138_128),
});

View File

@@ -159,13 +159,29 @@ impl ShortintEngine {
cks2: &ClientKey,
params: ShortintKeySwitchingParameters,
) -> LweKeyswitchKeyOwned<u64> {
let input_key = match cks1.parameters.encryption_key_choice() {
test::EncryptionKeyChoice::Big => cks1.large_lwe_secret_key(),
test::EncryptionKeyChoice::Small => cks1.small_lwe_secret_key(),
};
let (output_key, encryption_noise) = match cks2.parameters.encryption_key_choice() {
test::EncryptionKeyChoice::Big => (
cks2.large_lwe_secret_key(),
cks2.parameters.glwe_noise_distribution(),
),
test::EncryptionKeyChoice::Small => (
cks2.small_lwe_secret_key(),
cks2.parameters.lwe_noise_distribution(),
),
};
// Creation of the key switching key
allocate_and_generate_new_lwe_keyswitch_key(
&cks1.large_lwe_secret_key(),
&cks2.large_lwe_secret_key(),
&input_key,
&output_key,
params.ks_base_log,
params.ks_level,
cks2.parameters.lwe_noise_distribution(),
encryption_noise,
cks2.parameters.ciphertext_modulus(),
&mut self.encryption_generator,
)

View File

@@ -1,5 +1,6 @@
use crate::keycache::utils::named_params_impl;
use crate::keycache::*;
use crate::shortint::parameters::bc::*;
use crate::shortint::parameters::classic::compact_pk::*;
#[cfg(tarpaulin)]
use crate::shortint::parameters::coverage_parameters::*;
@@ -178,6 +179,359 @@ named_params_impl!( ShortintParameterSet =>
WOPBS_ONLY_2_BLOCKS_PARAM_MESSAGE_7_CARRY_0_KS_PBS,
WOPBS_ONLY_2_BLOCKS_PARAM_MESSAGE_7_CARRY_1_KS_PBS,
WOPBS_ONLY_2_BLOCKS_PARAM_MESSAGE_8_CARRY_0_KS_PBS,
// PKE BC
PARAM_PKE_MESSAGE_1_CARRY_1_128_40,
PARAM_FHE_MESSAGE_1_CARRY_1_128_40,
PARAM_PKE_MESSAGE_1_CARRY_1_128_64,
PARAM_FHE_MESSAGE_1_CARRY_1_128_64,
PARAM_PKE_MESSAGE_1_CARRY_1_128_80,
PARAM_FHE_MESSAGE_1_CARRY_1_128_80,
PARAM_PKE_MESSAGE_1_CARRY_1_128_128,
PARAM_FHE_MESSAGE_1_CARRY_1_128_128,
PARAM_PKE_MESSAGE_1_CARRY_1_129_40,
PARAM_FHE_MESSAGE_1_CARRY_1_129_40,
PARAM_PKE_MESSAGE_1_CARRY_1_129_64,
PARAM_FHE_MESSAGE_1_CARRY_1_129_64,
PARAM_PKE_MESSAGE_1_CARRY_1_129_80,
PARAM_FHE_MESSAGE_1_CARRY_1_129_80,
PARAM_PKE_MESSAGE_1_CARRY_1_129_128,
PARAM_FHE_MESSAGE_1_CARRY_1_129_128,
PARAM_PKE_MESSAGE_1_CARRY_1_130_40,
PARAM_FHE_MESSAGE_1_CARRY_1_130_40,
PARAM_PKE_MESSAGE_1_CARRY_1_130_64,
PARAM_FHE_MESSAGE_1_CARRY_1_130_64,
PARAM_PKE_MESSAGE_1_CARRY_1_130_80,
PARAM_FHE_MESSAGE_1_CARRY_1_130_80,
PARAM_PKE_MESSAGE_1_CARRY_1_130_128,
PARAM_FHE_MESSAGE_1_CARRY_1_130_128,
PARAM_PKE_MESSAGE_1_CARRY_1_131_40,
PARAM_FHE_MESSAGE_1_CARRY_1_131_40,
PARAM_PKE_MESSAGE_1_CARRY_1_131_64,
PARAM_FHE_MESSAGE_1_CARRY_1_131_64,
PARAM_PKE_MESSAGE_1_CARRY_1_131_80,
PARAM_FHE_MESSAGE_1_CARRY_1_131_80,
PARAM_PKE_MESSAGE_1_CARRY_1_131_128,
PARAM_FHE_MESSAGE_1_CARRY_1_131_128,
PARAM_PKE_MESSAGE_1_CARRY_1_132_40,
PARAM_FHE_MESSAGE_1_CARRY_1_132_40,
PARAM_PKE_MESSAGE_1_CARRY_1_132_64,
PARAM_FHE_MESSAGE_1_CARRY_1_132_64,
PARAM_PKE_MESSAGE_1_CARRY_1_132_80,
PARAM_FHE_MESSAGE_1_CARRY_1_132_80,
PARAM_PKE_MESSAGE_1_CARRY_1_132_128,
PARAM_FHE_MESSAGE_1_CARRY_1_132_128,
PARAM_PKE_MESSAGE_1_CARRY_1_133_40,
PARAM_FHE_MESSAGE_1_CARRY_1_133_40,
PARAM_PKE_MESSAGE_1_CARRY_1_133_64,
PARAM_FHE_MESSAGE_1_CARRY_1_133_64,
PARAM_PKE_MESSAGE_1_CARRY_1_133_80,
PARAM_FHE_MESSAGE_1_CARRY_1_133_80,
PARAM_PKE_MESSAGE_1_CARRY_1_133_128,
PARAM_FHE_MESSAGE_1_CARRY_1_133_128,
PARAM_PKE_MESSAGE_1_CARRY_1_134_40,
PARAM_FHE_MESSAGE_1_CARRY_1_134_40,
PARAM_PKE_MESSAGE_1_CARRY_1_134_64,
PARAM_FHE_MESSAGE_1_CARRY_1_134_64,
PARAM_PKE_MESSAGE_1_CARRY_1_134_80,
PARAM_FHE_MESSAGE_1_CARRY_1_134_80,
PARAM_PKE_MESSAGE_1_CARRY_1_134_128,
PARAM_FHE_MESSAGE_1_CARRY_1_134_128,
PARAM_PKE_MESSAGE_1_CARRY_1_135_40,
PARAM_FHE_MESSAGE_1_CARRY_1_135_40,
PARAM_PKE_MESSAGE_1_CARRY_1_135_64,
PARAM_FHE_MESSAGE_1_CARRY_1_135_64,
PARAM_PKE_MESSAGE_1_CARRY_1_135_80,
PARAM_FHE_MESSAGE_1_CARRY_1_135_80,
PARAM_PKE_MESSAGE_1_CARRY_1_135_128,
PARAM_FHE_MESSAGE_1_CARRY_1_135_128,
PARAM_PKE_MESSAGE_1_CARRY_1_136_40,
PARAM_FHE_MESSAGE_1_CARRY_1_136_40,
PARAM_PKE_MESSAGE_1_CARRY_1_136_64,
PARAM_FHE_MESSAGE_1_CARRY_1_136_64,
PARAM_PKE_MESSAGE_1_CARRY_1_136_80,
PARAM_FHE_MESSAGE_1_CARRY_1_136_80,
PARAM_PKE_MESSAGE_1_CARRY_1_136_128,
PARAM_FHE_MESSAGE_1_CARRY_1_136_128,
PARAM_PKE_MESSAGE_1_CARRY_1_137_40,
PARAM_FHE_MESSAGE_1_CARRY_1_137_40,
PARAM_PKE_MESSAGE_1_CARRY_1_137_64,
PARAM_FHE_MESSAGE_1_CARRY_1_137_64,
PARAM_PKE_MESSAGE_1_CARRY_1_137_80,
PARAM_FHE_MESSAGE_1_CARRY_1_137_80,
PARAM_PKE_MESSAGE_1_CARRY_1_137_128,
PARAM_FHE_MESSAGE_1_CARRY_1_137_128,
PARAM_PKE_MESSAGE_1_CARRY_1_138_40,
PARAM_FHE_MESSAGE_1_CARRY_1_138_40,
PARAM_PKE_MESSAGE_1_CARRY_1_138_64,
PARAM_FHE_MESSAGE_1_CARRY_1_138_64,
PARAM_PKE_MESSAGE_1_CARRY_1_138_80,
PARAM_FHE_MESSAGE_1_CARRY_1_138_80,
PARAM_PKE_MESSAGE_1_CARRY_1_138_128,
PARAM_FHE_MESSAGE_1_CARRY_1_138_128,
PARAM_PKE_MESSAGE_2_CARRY_2_128_40,
PARAM_FHE_MESSAGE_2_CARRY_2_128_40,
PARAM_PKE_MESSAGE_2_CARRY_2_128_64,
PARAM_FHE_MESSAGE_2_CARRY_2_128_64,
PARAM_PKE_MESSAGE_2_CARRY_2_128_80,
PARAM_FHE_MESSAGE_2_CARRY_2_128_80,
PARAM_PKE_MESSAGE_2_CARRY_2_128_128,
PARAM_FHE_MESSAGE_2_CARRY_2_128_128,
PARAM_PKE_MESSAGE_2_CARRY_2_129_40,
PARAM_FHE_MESSAGE_2_CARRY_2_129_40,
PARAM_PKE_MESSAGE_2_CARRY_2_129_64,
PARAM_FHE_MESSAGE_2_CARRY_2_129_64,
PARAM_PKE_MESSAGE_2_CARRY_2_129_80,
PARAM_FHE_MESSAGE_2_CARRY_2_129_80,
PARAM_PKE_MESSAGE_2_CARRY_2_129_128,
PARAM_FHE_MESSAGE_2_CARRY_2_129_128,
PARAM_PKE_MESSAGE_2_CARRY_2_130_40,
PARAM_FHE_MESSAGE_2_CARRY_2_130_40,
PARAM_PKE_MESSAGE_2_CARRY_2_130_64,
PARAM_FHE_MESSAGE_2_CARRY_2_130_64,
PARAM_PKE_MESSAGE_2_CARRY_2_130_80,
PARAM_FHE_MESSAGE_2_CARRY_2_130_80,
PARAM_PKE_MESSAGE_2_CARRY_2_130_128,
PARAM_FHE_MESSAGE_2_CARRY_2_130_128,
PARAM_PKE_MESSAGE_2_CARRY_2_131_40,
PARAM_FHE_MESSAGE_2_CARRY_2_131_40,
PARAM_PKE_MESSAGE_2_CARRY_2_131_64,
PARAM_FHE_MESSAGE_2_CARRY_2_131_64,
PARAM_PKE_MESSAGE_2_CARRY_2_131_80,
PARAM_FHE_MESSAGE_2_CARRY_2_131_80,
PARAM_PKE_MESSAGE_2_CARRY_2_131_128,
PARAM_FHE_MESSAGE_2_CARRY_2_131_128,
PARAM_PKE_MESSAGE_2_CARRY_2_132_40,
PARAM_FHE_MESSAGE_2_CARRY_2_132_40,
PARAM_PKE_MESSAGE_2_CARRY_2_132_64,
PARAM_FHE_MESSAGE_2_CARRY_2_132_64,
PARAM_PKE_MESSAGE_2_CARRY_2_132_80,
PARAM_FHE_MESSAGE_2_CARRY_2_132_80,
PARAM_PKE_MESSAGE_2_CARRY_2_132_128,
PARAM_FHE_MESSAGE_2_CARRY_2_132_128,
PARAM_PKE_MESSAGE_2_CARRY_2_133_40,
PARAM_FHE_MESSAGE_2_CARRY_2_133_40,
PARAM_PKE_MESSAGE_2_CARRY_2_133_64,
PARAM_FHE_MESSAGE_2_CARRY_2_133_64,
PARAM_PKE_MESSAGE_2_CARRY_2_133_80,
PARAM_FHE_MESSAGE_2_CARRY_2_133_80,
PARAM_PKE_MESSAGE_2_CARRY_2_133_128,
PARAM_FHE_MESSAGE_2_CARRY_2_133_128,
PARAM_PKE_MESSAGE_2_CARRY_2_134_40,
PARAM_FHE_MESSAGE_2_CARRY_2_134_40,
PARAM_PKE_MESSAGE_2_CARRY_2_134_64,
PARAM_FHE_MESSAGE_2_CARRY_2_134_64,
PARAM_PKE_MESSAGE_2_CARRY_2_134_80,
PARAM_FHE_MESSAGE_2_CARRY_2_134_80,
PARAM_PKE_MESSAGE_2_CARRY_2_134_128,
PARAM_FHE_MESSAGE_2_CARRY_2_134_128,
PARAM_PKE_MESSAGE_2_CARRY_2_135_40,
PARAM_FHE_MESSAGE_2_CARRY_2_135_40,
PARAM_PKE_MESSAGE_2_CARRY_2_135_64,
PARAM_FHE_MESSAGE_2_CARRY_2_135_64,
PARAM_PKE_MESSAGE_2_CARRY_2_135_80,
PARAM_FHE_MESSAGE_2_CARRY_2_135_80,
PARAM_PKE_MESSAGE_2_CARRY_2_135_128,
PARAM_FHE_MESSAGE_2_CARRY_2_135_128,
PARAM_PKE_MESSAGE_2_CARRY_2_136_40,
PARAM_FHE_MESSAGE_2_CARRY_2_136_40,
PARAM_PKE_MESSAGE_2_CARRY_2_136_64,
PARAM_FHE_MESSAGE_2_CARRY_2_136_64,
PARAM_PKE_MESSAGE_2_CARRY_2_136_80,
PARAM_FHE_MESSAGE_2_CARRY_2_136_80,
PARAM_PKE_MESSAGE_2_CARRY_2_136_128,
PARAM_FHE_MESSAGE_2_CARRY_2_136_128,
PARAM_PKE_MESSAGE_2_CARRY_2_137_40,
PARAM_FHE_MESSAGE_2_CARRY_2_137_40,
PARAM_PKE_MESSAGE_2_CARRY_2_137_64,
PARAM_FHE_MESSAGE_2_CARRY_2_137_64,
PARAM_PKE_MESSAGE_2_CARRY_2_137_80,
PARAM_FHE_MESSAGE_2_CARRY_2_137_80,
PARAM_PKE_MESSAGE_2_CARRY_2_137_128,
PARAM_FHE_MESSAGE_2_CARRY_2_137_128,
PARAM_PKE_MESSAGE_2_CARRY_2_138_40,
PARAM_FHE_MESSAGE_2_CARRY_2_138_40,
PARAM_PKE_MESSAGE_2_CARRY_2_138_64,
PARAM_FHE_MESSAGE_2_CARRY_2_138_64,
PARAM_PKE_MESSAGE_2_CARRY_2_138_80,
PARAM_FHE_MESSAGE_2_CARRY_2_138_80,
PARAM_PKE_MESSAGE_2_CARRY_2_138_128,
PARAM_FHE_MESSAGE_2_CARRY_2_138_128,
PARAM_PKE_MESSAGE_3_CARRY_3_128_40,
PARAM_FHE_MESSAGE_3_CARRY_3_128_40,
PARAM_PKE_MESSAGE_3_CARRY_3_128_64,
PARAM_FHE_MESSAGE_3_CARRY_3_128_64,
PARAM_PKE_MESSAGE_3_CARRY_3_128_80,
PARAM_FHE_MESSAGE_3_CARRY_3_128_80,
PARAM_PKE_MESSAGE_3_CARRY_3_128_128,
PARAM_FHE_MESSAGE_3_CARRY_3_128_128,
PARAM_PKE_MESSAGE_3_CARRY_3_129_40,
PARAM_FHE_MESSAGE_3_CARRY_3_129_40,
PARAM_PKE_MESSAGE_3_CARRY_3_129_64,
PARAM_FHE_MESSAGE_3_CARRY_3_129_64,
PARAM_PKE_MESSAGE_3_CARRY_3_129_80,
PARAM_FHE_MESSAGE_3_CARRY_3_129_80,
PARAM_PKE_MESSAGE_3_CARRY_3_129_128,
PARAM_FHE_MESSAGE_3_CARRY_3_129_128,
PARAM_PKE_MESSAGE_3_CARRY_3_130_40,
PARAM_FHE_MESSAGE_3_CARRY_3_130_40,
PARAM_PKE_MESSAGE_3_CARRY_3_130_64,
PARAM_FHE_MESSAGE_3_CARRY_3_130_64,
PARAM_PKE_MESSAGE_3_CARRY_3_130_80,
PARAM_FHE_MESSAGE_3_CARRY_3_130_80,
PARAM_PKE_MESSAGE_3_CARRY_3_130_128,
PARAM_FHE_MESSAGE_3_CARRY_3_130_128,
PARAM_PKE_MESSAGE_3_CARRY_3_131_40,
PARAM_FHE_MESSAGE_3_CARRY_3_131_40,
PARAM_PKE_MESSAGE_3_CARRY_3_131_64,
PARAM_FHE_MESSAGE_3_CARRY_3_131_64,
PARAM_PKE_MESSAGE_3_CARRY_3_131_80,
PARAM_FHE_MESSAGE_3_CARRY_3_131_80,
PARAM_PKE_MESSAGE_3_CARRY_3_131_128,
PARAM_FHE_MESSAGE_3_CARRY_3_131_128,
PARAM_PKE_MESSAGE_3_CARRY_3_132_40,
PARAM_FHE_MESSAGE_3_CARRY_3_132_40,
PARAM_PKE_MESSAGE_3_CARRY_3_132_64,
PARAM_FHE_MESSAGE_3_CARRY_3_132_64,
PARAM_PKE_MESSAGE_3_CARRY_3_132_80,
PARAM_FHE_MESSAGE_3_CARRY_3_132_80,
PARAM_PKE_MESSAGE_3_CARRY_3_132_128,
PARAM_FHE_MESSAGE_3_CARRY_3_132_128,
PARAM_PKE_MESSAGE_3_CARRY_3_133_40,
PARAM_FHE_MESSAGE_3_CARRY_3_133_40,
PARAM_PKE_MESSAGE_3_CARRY_3_133_64,
PARAM_FHE_MESSAGE_3_CARRY_3_133_64,
PARAM_PKE_MESSAGE_3_CARRY_3_133_80,
PARAM_FHE_MESSAGE_3_CARRY_3_133_80,
PARAM_PKE_MESSAGE_3_CARRY_3_133_128,
PARAM_FHE_MESSAGE_3_CARRY_3_133_128,
PARAM_PKE_MESSAGE_3_CARRY_3_134_40,
PARAM_FHE_MESSAGE_3_CARRY_3_134_40,
PARAM_PKE_MESSAGE_3_CARRY_3_134_64,
PARAM_FHE_MESSAGE_3_CARRY_3_134_64,
PARAM_PKE_MESSAGE_3_CARRY_3_134_80,
PARAM_FHE_MESSAGE_3_CARRY_3_134_80,
PARAM_PKE_MESSAGE_3_CARRY_3_134_128,
PARAM_FHE_MESSAGE_3_CARRY_3_134_128,
PARAM_PKE_MESSAGE_3_CARRY_3_135_40,
PARAM_FHE_MESSAGE_3_CARRY_3_135_40,
PARAM_PKE_MESSAGE_3_CARRY_3_135_64,
PARAM_FHE_MESSAGE_3_CARRY_3_135_64,
PARAM_PKE_MESSAGE_3_CARRY_3_135_80,
PARAM_FHE_MESSAGE_3_CARRY_3_135_80,
PARAM_PKE_MESSAGE_3_CARRY_3_135_128,
PARAM_FHE_MESSAGE_3_CARRY_3_135_128,
PARAM_PKE_MESSAGE_3_CARRY_3_136_40,
PARAM_FHE_MESSAGE_3_CARRY_3_136_40,
PARAM_PKE_MESSAGE_3_CARRY_3_136_64,
PARAM_FHE_MESSAGE_3_CARRY_3_136_64,
PARAM_PKE_MESSAGE_3_CARRY_3_136_80,
PARAM_FHE_MESSAGE_3_CARRY_3_136_80,
PARAM_PKE_MESSAGE_3_CARRY_3_136_128,
PARAM_FHE_MESSAGE_3_CARRY_3_136_128,
PARAM_PKE_MESSAGE_3_CARRY_3_137_40,
PARAM_FHE_MESSAGE_3_CARRY_3_137_40,
PARAM_PKE_MESSAGE_3_CARRY_3_137_64,
PARAM_FHE_MESSAGE_3_CARRY_3_137_64,
PARAM_PKE_MESSAGE_3_CARRY_3_137_80,
PARAM_FHE_MESSAGE_3_CARRY_3_137_80,
PARAM_PKE_MESSAGE_3_CARRY_3_137_128,
PARAM_FHE_MESSAGE_3_CARRY_3_137_128,
PARAM_PKE_MESSAGE_3_CARRY_3_138_40,
PARAM_FHE_MESSAGE_3_CARRY_3_138_40,
PARAM_PKE_MESSAGE_3_CARRY_3_138_64,
PARAM_FHE_MESSAGE_3_CARRY_3_138_64,
PARAM_PKE_MESSAGE_3_CARRY_3_138_80,
PARAM_FHE_MESSAGE_3_CARRY_3_138_80,
PARAM_PKE_MESSAGE_3_CARRY_3_138_128,
PARAM_FHE_MESSAGE_3_CARRY_3_138_128,
PARAM_PKE_MESSAGE_4_CARRY_4_128_40,
PARAM_FHE_MESSAGE_4_CARRY_4_128_40,
PARAM_PKE_MESSAGE_4_CARRY_4_128_64,
PARAM_FHE_MESSAGE_4_CARRY_4_128_64,
PARAM_PKE_MESSAGE_4_CARRY_4_128_80,
PARAM_FHE_MESSAGE_4_CARRY_4_128_80,
PARAM_PKE_MESSAGE_4_CARRY_4_128_128,
PARAM_FHE_MESSAGE_4_CARRY_4_128_128,
PARAM_PKE_MESSAGE_4_CARRY_4_129_40,
PARAM_FHE_MESSAGE_4_CARRY_4_129_40,
PARAM_PKE_MESSAGE_4_CARRY_4_129_64,
PARAM_FHE_MESSAGE_4_CARRY_4_129_64,
PARAM_PKE_MESSAGE_4_CARRY_4_129_80,
PARAM_FHE_MESSAGE_4_CARRY_4_129_80,
PARAM_PKE_MESSAGE_4_CARRY_4_129_128,
PARAM_FHE_MESSAGE_4_CARRY_4_129_128,
PARAM_PKE_MESSAGE_4_CARRY_4_130_40,
PARAM_FHE_MESSAGE_4_CARRY_4_130_40,
PARAM_PKE_MESSAGE_4_CARRY_4_130_64,
PARAM_FHE_MESSAGE_4_CARRY_4_130_64,
PARAM_PKE_MESSAGE_4_CARRY_4_130_80,
PARAM_FHE_MESSAGE_4_CARRY_4_130_80,
PARAM_PKE_MESSAGE_4_CARRY_4_130_128,
PARAM_FHE_MESSAGE_4_CARRY_4_130_128,
PARAM_PKE_MESSAGE_4_CARRY_4_131_40,
PARAM_FHE_MESSAGE_4_CARRY_4_131_40,
PARAM_PKE_MESSAGE_4_CARRY_4_131_64,
PARAM_FHE_MESSAGE_4_CARRY_4_131_64,
PARAM_PKE_MESSAGE_4_CARRY_4_131_80,
PARAM_FHE_MESSAGE_4_CARRY_4_131_80,
PARAM_PKE_MESSAGE_4_CARRY_4_131_128,
PARAM_FHE_MESSAGE_4_CARRY_4_131_128,
PARAM_PKE_MESSAGE_4_CARRY_4_132_40,
PARAM_FHE_MESSAGE_4_CARRY_4_132_40,
PARAM_PKE_MESSAGE_4_CARRY_4_132_64,
PARAM_FHE_MESSAGE_4_CARRY_4_132_64,
PARAM_PKE_MESSAGE_4_CARRY_4_132_80,
PARAM_FHE_MESSAGE_4_CARRY_4_132_80,
PARAM_PKE_MESSAGE_4_CARRY_4_132_128,
PARAM_FHE_MESSAGE_4_CARRY_4_132_128,
PARAM_PKE_MESSAGE_4_CARRY_4_133_40,
PARAM_FHE_MESSAGE_4_CARRY_4_133_40,
PARAM_PKE_MESSAGE_4_CARRY_4_133_64,
PARAM_FHE_MESSAGE_4_CARRY_4_133_64,
PARAM_PKE_MESSAGE_4_CARRY_4_133_80,
PARAM_FHE_MESSAGE_4_CARRY_4_133_80,
PARAM_PKE_MESSAGE_4_CARRY_4_133_128,
PARAM_FHE_MESSAGE_4_CARRY_4_133_128,
PARAM_PKE_MESSAGE_4_CARRY_4_134_40,
PARAM_FHE_MESSAGE_4_CARRY_4_134_40,
PARAM_PKE_MESSAGE_4_CARRY_4_134_64,
PARAM_FHE_MESSAGE_4_CARRY_4_134_64,
PARAM_PKE_MESSAGE_4_CARRY_4_134_80,
PARAM_FHE_MESSAGE_4_CARRY_4_134_80,
PARAM_PKE_MESSAGE_4_CARRY_4_134_128,
PARAM_FHE_MESSAGE_4_CARRY_4_134_128,
PARAM_PKE_MESSAGE_4_CARRY_4_135_40,
PARAM_FHE_MESSAGE_4_CARRY_4_135_40,
PARAM_PKE_MESSAGE_4_CARRY_4_135_64,
PARAM_FHE_MESSAGE_4_CARRY_4_135_64,
PARAM_PKE_MESSAGE_4_CARRY_4_135_80,
PARAM_FHE_MESSAGE_4_CARRY_4_135_80,
PARAM_PKE_MESSAGE_4_CARRY_4_135_128,
PARAM_FHE_MESSAGE_4_CARRY_4_135_128,
PARAM_PKE_MESSAGE_4_CARRY_4_136_40,
PARAM_FHE_MESSAGE_4_CARRY_4_136_40,
PARAM_PKE_MESSAGE_4_CARRY_4_136_64,
PARAM_FHE_MESSAGE_4_CARRY_4_136_64,
PARAM_PKE_MESSAGE_4_CARRY_4_136_80,
PARAM_FHE_MESSAGE_4_CARRY_4_136_80,
PARAM_PKE_MESSAGE_4_CARRY_4_136_128,
PARAM_FHE_MESSAGE_4_CARRY_4_136_128,
PARAM_PKE_MESSAGE_4_CARRY_4_137_40,
PARAM_FHE_MESSAGE_4_CARRY_4_137_40,
PARAM_PKE_MESSAGE_4_CARRY_4_137_64,
PARAM_FHE_MESSAGE_4_CARRY_4_137_64,
PARAM_PKE_MESSAGE_4_CARRY_4_137_80,
PARAM_FHE_MESSAGE_4_CARRY_4_137_80,
PARAM_PKE_MESSAGE_4_CARRY_4_137_128,
PARAM_FHE_MESSAGE_4_CARRY_4_137_128,
PARAM_PKE_MESSAGE_4_CARRY_4_138_40,
PARAM_FHE_MESSAGE_4_CARRY_4_138_40,
PARAM_PKE_MESSAGE_4_CARRY_4_138_64,
PARAM_FHE_MESSAGE_4_CARRY_4_138_64,
PARAM_PKE_MESSAGE_4_CARRY_4_138_80,
PARAM_FHE_MESSAGE_4_CARRY_4_138_80,
PARAM_PKE_MESSAGE_4_CARRY_4_138_128,
PARAM_FHE_MESSAGE_4_CARRY_4_138_128,
// Coverage
#[cfg(tarpaulin)]
COVERAGE_PARAM_MESSAGE_2_CARRY_2_KS_PBS,

File diff suppressed because it is too large Load Diff

View File

@@ -14,6 +14,7 @@ pub use crate::core_crypto::commons::parameters::{
use crate::core_crypto::prelude::{LweCiphertextListParameters, LweCiphertextParameters};
use serde::{Deserialize, Serialize};
pub mod bc;
pub mod classic;
#[cfg(tarpaulin)]
pub mod coverage_parameters;