mirror of
https://github.com/zama-ai/tfhe-rs.git
synced 2026-01-10 07:08:03 -05:00
chore: add params, misc fixes for test
This commit is contained in:
18
params_bc.py
Normal file
18
params_bc.py
Normal 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()
|
||||
@@ -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),
|
||||
});
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
@@ -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,
|
||||
|
||||
7745
tfhe/src/shortint/parameters/bc.rs
Normal file
7745
tfhe/src/shortint/parameters/bc.rs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user