pub trait LweSeededBootstrapKeyGenerationEngine<LweSecretKey, GlweSecretKey, SeededBootstrapKey>: AbstractEnginewhere
SeededBootstrapKey: LweSeededBootstrapKeyEntity,
LweSecretKey: LweSecretKeyEntity,
GlweSecretKey: GlweSecretKeyEntity,{
fn generate_new_lwe_seeded_bootstrap_key(
&mut self,
input_key: &LweSecretKey,
output_key: &GlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> Result<SeededBootstrapKey, LweSeededBootstrapKeyGenerationError<Self::EngineError>>;
unsafe fn generate_new_lwe_seeded_bootstrap_key_unchecked(
&mut self,
input_key: &LweSecretKey,
output_key: &GlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> SeededBootstrapKey;
}
Expand description
A trait for engines generating new seeded LWE bootstrap keys.
Semantics
This pure operation generates a new seeded LWE bootstrap key from
the input_key
LWE secret key, and the output_key
GLWE secret key.
Formal Definition
cf here
Required Methods
sourcefn generate_new_lwe_seeded_bootstrap_key(
&mut self,
input_key: &LweSecretKey,
output_key: &GlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> Result<SeededBootstrapKey, LweSeededBootstrapKeyGenerationError<Self::EngineError>>
fn generate_new_lwe_seeded_bootstrap_key(
&mut self,
input_key: &LweSecretKey,
output_key: &GlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> Result<SeededBootstrapKey, LweSeededBootstrapKeyGenerationError<Self::EngineError>>
Generates a new seeded LWE bootstrap key.
sourceunsafe fn generate_new_lwe_seeded_bootstrap_key_unchecked(
&mut self,
input_key: &LweSecretKey,
output_key: &GlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> SeededBootstrapKey
unsafe fn generate_new_lwe_seeded_bootstrap_key_unchecked(
&mut self,
input_key: &LweSecretKey,
output_key: &GlweSecretKey,
decomposition_base_log: DecompositionBaseLog,
decomposition_level_count: DecompositionLevelCount,
noise: Variance
) -> SeededBootstrapKey
Unsafely generates a new seeded LWE bootstrap key.
Safety
For the general safety concerns regarding this operation, refer to the different variants
of LweSeededBootstrapKeyGenerationError
. For safety concerns specific to an engine,
refer to the implementer safety section.
Implementors
impl LweSeededBootstrapKeyGenerationEngine<LweSecretKey32, GlweSecretKey32, LweSeededBootstrapKey32> for DefaultEngine
Description:
Implementation of LweSeededBootstrapKeyGenerationEngine
for DefaultEngine
that operates
on 32 bits integers. It outputs a seeded bootstrap key in the standard domain.
impl LweSeededBootstrapKeyGenerationEngine<LweSecretKey32, GlweSecretKey32, LweSeededBootstrapKey32> for DefaultParallelEngine
Description:
Implementation of LweSeededBootstrapKeyGenerationEngine
for DefaultParallelEngine
that
operates on 32 bits integers. It outputs a seeded bootstrap key in the standard domain.
impl LweSeededBootstrapKeyGenerationEngine<LweSecretKey64, GlweSecretKey64, LweSeededBootstrapKey64> for DefaultEngine
Description:
Implementation of LweSeededBootstrapKeyGenerationEngine
for DefaultEngine
that operates
on 64 bits integers. It outputs a seeded bootstrap key in the standard domain.
impl LweSeededBootstrapKeyGenerationEngine<LweSecretKey64, GlweSecretKey64, LweSeededBootstrapKey64> for DefaultParallelEngine
Description:
Implementation of LweSeededBootstrapKeyGenerationEngine
for DefaultParallelEngine
that
operates on 64 bits integers. It outputs a seeded bootstrap key in the standard domain.