Trait concrete_core::specification::engines::LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationEngine
source · [−]pub trait LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationEngine<InputLweSecretKey, OutputGlweSecretKey, CBSFPKSK>: AbstractEnginewhere
InputLweSecretKey: LweSecretKeyEntity,
OutputGlweSecretKey: GlweSecretKeyEntity,
CBSFPKSK: LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysEntity,{
fn generate_new_lwe_circuit_bootstrap_private_functional_packing_keyswitch_keys(
&mut self,
input_lwe_key: &InputLweSecretKey,
output_glwe_key: &OutputGlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> Result<CBSFPKSK, LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationError<Self::EngineError>>;
unsafe fn generate_new_lwe_circuit_bootstrap_private_functional_packing_keyswitch_keys_unchecked(
&mut self,
input_lwe_key: &InputLweSecretKey,
output_glwe_key: &OutputGlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> CBSFPKSK;
}
Expand description
A trait for engines generating new LWE functional packing keyswitch keys used in a circuit bootstrapping.
Semantics
This pure operation generates a new set of LWE private functional packing keyswitch key required to perform a circuit bootstrapping.
Formal Definition
Required Methods
sourcefn generate_new_lwe_circuit_bootstrap_private_functional_packing_keyswitch_keys(
&mut self,
input_lwe_key: &InputLweSecretKey,
output_glwe_key: &OutputGlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> Result<CBSFPKSK, LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationError<Self::EngineError>>
fn generate_new_lwe_circuit_bootstrap_private_functional_packing_keyswitch_keys(
&mut self,
input_lwe_key: &InputLweSecretKey,
output_glwe_key: &OutputGlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> Result<CBSFPKSK, LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationError<Self::EngineError>>
Generate a new LWE CBSFPKSK.
sourceunsafe fn generate_new_lwe_circuit_bootstrap_private_functional_packing_keyswitch_keys_unchecked(
&mut self,
input_lwe_key: &InputLweSecretKey,
output_glwe_key: &OutputGlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> CBSFPKSK
unsafe fn generate_new_lwe_circuit_bootstrap_private_functional_packing_keyswitch_keys_unchecked(
&mut self,
input_lwe_key: &InputLweSecretKey,
output_glwe_key: &OutputGlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> CBSFPKSK
Unsafely generate a new LWE CBSFPKSK.
Safety
For the general safety concerns regarding this operation, refer to the different variants
of LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationError
. For safety
concerns specific to an engine, refer to the implementer safety section.
Implementors
impl LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationEngine<LweSecretKey32, GlweSecretKey32, LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeys32> for DefaultEngine
Description:
Implementation of LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationEngine
for DefaultEngine
that operates on 32 bits integers.
impl LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationEngine<LweSecretKey32, GlweSecretKey32, LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeys32> for DefaultParallelEngine
Description:
Implementation of LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationEngine
for DefaultParallelEngine
that operates on 32 bits integers.
impl LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationEngine<LweSecretKey64, GlweSecretKey64, LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeys64> for DefaultEngine
Description:
Implementation of LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationEngine
for DefaultEngine
that operates on 64 bits integers.
impl LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationEngine<LweSecretKey64, GlweSecretKey64, LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeys64> for DefaultParallelEngine
Description:
Implementation of LweCircuitBootstrapPrivateFunctionalPackingKeyswitchKeysGenerationEngine
for DefaultParallelEngine
that operates on 64 bits integers.