|  |  | @ -91,7 +91,7 @@ pub(crate) enum SecretKeyDistribution { | 
			
		
	
		
			
				
					|  |  |  | #[derive(Clone, PartialEq, Debug)]
 | 
			
		
	
		
			
				
					|  |  |  | pub(crate) enum ParameterVariant {
 | 
			
		
	
		
			
				
					|  |  |  |     SingleParty,
 | 
			
		
	
		
			
				
					|  |  |  |     MultiParty,
 | 
			
		
	
		
			
				
					|  |  |  |     InteractiveMultiParty,
 | 
			
		
	
		
			
				
					|  |  |  |     NonInteractiveMultiParty,
 | 
			
		
	
		
			
				
					|  |  |  | }
 | 
			
		
	
		
			
				
					|  |  |  | #[derive(Clone, PartialEq)]
 | 
			
		
	
	
		
			
				
					|  |  | @ -544,7 +544,7 @@ pub(crate) const MP_BOOL_PARAMS: BoolParameters = BoolParameters:: { | 
			
		
	
		
			
				
					|  |  |  |     non_interactive_ui_to_s_key_switch_decomposer: None,
 | 
			
		
	
		
			
				
					|  |  |  |     g: 5,
 | 
			
		
	
		
			
				
					|  |  |  |     w: 10,
 | 
			
		
	
		
			
				
					|  |  |  |     variant: ParameterVariant::MultiParty,
 | 
			
		
	
		
			
				
					|  |  |  |     variant: ParameterVariant::InteractiveMultiParty,
 | 
			
		
	
		
			
				
					|  |  |  | };
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | pub(crate) const SMALL_MP_BOOL_PARAMS: BoolParameters<u64> = BoolParameters::<u64> {
 | 
			
		
	
	
		
			
				
					|  |  | @ -568,7 +568,7 @@ pub(crate) const SMALL_MP_BOOL_PARAMS: BoolParameters = BoolParameters:: | 
			
		
	
		
			
				
					|  |  |  |     non_interactive_ui_to_s_key_switch_decomposer: None,
 | 
			
		
	
		
			
				
					|  |  |  |     g: 5,
 | 
			
		
	
		
			
				
					|  |  |  |     w: 10,
 | 
			
		
	
		
			
				
					|  |  |  |     variant: ParameterVariant::MultiParty,
 | 
			
		
	
		
			
				
					|  |  |  |     variant: ParameterVariant::InteractiveMultiParty,
 | 
			
		
	
		
			
				
					|  |  |  | };
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | pub(crate) const I_2P: BoolParameters<u64> = BoolParameters::<u64> {
 | 
			
		
	
	
		
			
				
					|  |  | @ -579,20 +579,92 @@ pub(crate) const I_2P: BoolParameters = BoolParameters:: { | 
			
		
	
		
			
				
					|  |  |  |     br_q: 1 << 11,
 | 
			
		
	
		
			
				
					|  |  |  |     rlwe_n: PolynomialSize(1 << 11),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_n: LweDimension(480),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_decomposer_params: (DecompostionLogBase(1), DecompositionCount(11)),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_decomposer_params: (DecompostionLogBase(1), DecompositionCount(12)),
 | 
			
		
	
		
			
				
					|  |  |  |     rlrg_decomposer_params: (
 | 
			
		
	
		
			
				
					|  |  |  |         DecompostionLogBase(16),
 | 
			
		
	
		
			
				
					|  |  |  |         DecompostionLogBase(17),
 | 
			
		
	
		
			
				
					|  |  |  |         (DecompositionCount(1), DecompositionCount(1)),
 | 
			
		
	
		
			
				
					|  |  |  |     ),
 | 
			
		
	
		
			
				
					|  |  |  |     rgrg_decomposer_params: Some((
 | 
			
		
	
		
			
				
					|  |  |  |         DecompostionLogBase(7),
 | 
			
		
	
		
			
				
					|  |  |  |         (DecompositionCount(6), DecompositionCount(5)),
 | 
			
		
	
		
			
				
					|  |  |  |     )),
 | 
			
		
	
		
			
				
					|  |  |  |     auto_decomposer_params: (DecompostionLogBase(24), DecompositionCount(1)),
 | 
			
		
	
		
			
				
					|  |  |  |     non_interactive_ui_to_s_key_switch_decomposer: None,
 | 
			
		
	
		
			
				
					|  |  |  |     g: 5,
 | 
			
		
	
		
			
				
					|  |  |  |     w: 10,
 | 
			
		
	
		
			
				
					|  |  |  |     variant: ParameterVariant::InteractiveMultiParty,
 | 
			
		
	
		
			
				
					|  |  |  | };
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | pub(crate) const I_4P: BoolParameters<u64> = BoolParameters::<u64> {
 | 
			
		
	
		
			
				
					|  |  |  |     rlwe_secret_key_dist: SecretKeyDistribution::TernaryDistribution,
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_secret_key_dist: SecretKeyDistribution::ErrorDistribution,
 | 
			
		
	
		
			
				
					|  |  |  |     rlwe_q: CiphertextModulus::new_non_native(18014398509404161),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_q: CiphertextModulus::new_non_native(1 << 16),
 | 
			
		
	
		
			
				
					|  |  |  |     br_q: 1 << 11,
 | 
			
		
	
		
			
				
					|  |  |  |     rlwe_n: PolynomialSize(1 << 11),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_n: LweDimension(520),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_decomposer_params: (DecompostionLogBase(1), DecompositionCount(13)),
 | 
			
		
	
		
			
				
					|  |  |  |     rlrg_decomposer_params: (
 | 
			
		
	
		
			
				
					|  |  |  |         DecompostionLogBase(17),
 | 
			
		
	
		
			
				
					|  |  |  |         (DecompositionCount(1), DecompositionCount(1)),
 | 
			
		
	
		
			
				
					|  |  |  |     ),
 | 
			
		
	
		
			
				
					|  |  |  |     rgrg_decomposer_params: Some((
 | 
			
		
	
		
			
				
					|  |  |  |         DecompostionLogBase(6),
 | 
			
		
	
		
			
				
					|  |  |  |         (DecompositionCount(7), DecompositionCount(6)),
 | 
			
		
	
		
			
				
					|  |  |  |     )),
 | 
			
		
	
		
			
				
					|  |  |  |     auto_decomposer_params: (DecompostionLogBase(24), DecompositionCount(1)),
 | 
			
		
	
		
			
				
					|  |  |  |     non_interactive_ui_to_s_key_switch_decomposer: None,
 | 
			
		
	
		
			
				
					|  |  |  |     g: 5,
 | 
			
		
	
		
			
				
					|  |  |  |     w: 10,
 | 
			
		
	
		
			
				
					|  |  |  |     variant: ParameterVariant::InteractiveMultiParty,
 | 
			
		
	
		
			
				
					|  |  |  | };
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | pub(crate) const I_8P_HB_FR: BoolParameters<u64> = BoolParameters::<u64> {
 | 
			
		
	
		
			
				
					|  |  |  |     rlwe_secret_key_dist: SecretKeyDistribution::TernaryDistribution,
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_secret_key_dist: SecretKeyDistribution::ErrorDistribution,
 | 
			
		
	
		
			
				
					|  |  |  |     rlwe_q: CiphertextModulus::new_non_native(18014398509404161),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_q: CiphertextModulus::new_non_native(1 << 16),
 | 
			
		
	
		
			
				
					|  |  |  |     br_q: 1 << 11,
 | 
			
		
	
		
			
				
					|  |  |  |     rlwe_n: PolynomialSize(1 << 11),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_n: LweDimension(520),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_decomposer_params: (DecompostionLogBase(1), DecompositionCount(13)),
 | 
			
		
	
		
			
				
					|  |  |  |     rlrg_decomposer_params: (
 | 
			
		
	
		
			
				
					|  |  |  |         DecompostionLogBase(17),
 | 
			
		
	
		
			
				
					|  |  |  |         (DecompositionCount(1), DecompositionCount(1)),
 | 
			
		
	
		
			
				
					|  |  |  |     ),
 | 
			
		
	
		
			
				
					|  |  |  |     rgrg_decomposer_params: Some((
 | 
			
		
	
		
			
				
					|  |  |  |         DecompostionLogBase(4),
 | 
			
		
	
		
			
				
					|  |  |  |         (DecompositionCount(12), DecompositionCount(11)),
 | 
			
		
	
		
			
				
					|  |  |  |     )),
 | 
			
		
	
		
			
				
					|  |  |  |     auto_decomposer_params: (DecompostionLogBase(24), DecompositionCount(1)),
 | 
			
		
	
		
			
				
					|  |  |  |     non_interactive_ui_to_s_key_switch_decomposer: None,
 | 
			
		
	
		
			
				
					|  |  |  |     g: 5,
 | 
			
		
	
		
			
				
					|  |  |  |     w: 10,
 | 
			
		
	
		
			
				
					|  |  |  |     variant: ParameterVariant::InteractiveMultiParty,
 | 
			
		
	
		
			
				
					|  |  |  | };
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | pub(crate) const I_8P_LB_SR: BoolParameters<u64> = BoolParameters::<u64> {
 | 
			
		
	
		
			
				
					|  |  |  |     rlwe_secret_key_dist: SecretKeyDistribution::TernaryDistribution,
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_secret_key_dist: SecretKeyDistribution::ErrorDistribution,
 | 
			
		
	
		
			
				
					|  |  |  |     rlwe_q: CiphertextModulus::new_non_native(18014398509404161),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_q: CiphertextModulus::new_non_native(1 << 17),
 | 
			
		
	
		
			
				
					|  |  |  |     br_q: 1 << 11,
 | 
			
		
	
		
			
				
					|  |  |  |     rlwe_n: PolynomialSize(1 << 11),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_n: LweDimension(560),
 | 
			
		
	
		
			
				
					|  |  |  |     lwe_decomposer_params: (DecompostionLogBase(1), DecompositionCount(14)),
 | 
			
		
	
		
			
				
					|  |  |  |     rlrg_decomposer_params: (
 | 
			
		
	
		
			
				
					|  |  |  |         DecompostionLogBase(17),
 | 
			
		
	
		
			
				
					|  |  |  |         (DecompositionCount(1), DecompositionCount(1)),
 | 
			
		
	
		
			
				
					|  |  |  |     ),
 | 
			
		
	
		
			
				
					|  |  |  |     rgrg_decomposer_params: Some((
 | 
			
		
	
		
			
				
					|  |  |  |         DecompostionLogBase(8),
 | 
			
		
	
		
			
				
					|  |  |  |         (DecompositionCount(6), DecompositionCount(6)),
 | 
			
		
	
		
			
				
					|  |  |  |         DecompostionLogBase(5),
 | 
			
		
	
		
			
				
					|  |  |  |         (DecompositionCount(8), DecompositionCount(7)),
 | 
			
		
	
		
			
				
					|  |  |  |     )),
 | 
			
		
	
		
			
				
					|  |  |  |     auto_decomposer_params: (DecompostionLogBase(24), DecompositionCount(1)),
 | 
			
		
	
		
			
				
					|  |  |  |     non_interactive_ui_to_s_key_switch_decomposer: None,
 | 
			
		
	
		
			
				
					|  |  |  |     g: 5,
 | 
			
		
	
		
			
				
					|  |  |  |     w: 10,
 | 
			
		
	
		
			
				
					|  |  |  |     variant: ParameterVariant::MultiParty,
 | 
			
		
	
		
			
				
					|  |  |  |     variant: ParameterVariant::InteractiveMultiParty,
 | 
			
		
	
		
			
				
					|  |  |  | };
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | pub(crate) const NI_2P: BoolParameters<u64> = BoolParameters::<u64> {
 | 
			
		
	
	
		
			
				
					|  |  | 
 |