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

Generate a new LWE 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