pub trait LweCiphertextVectorDiscardingBootstrapEngine<BootstrapKey, AccumulatorVector, InputCiphertextVector, OutputCiphertextVector>: AbstractEnginewhere
    BootstrapKey: LweBootstrapKeyEntity,
    AccumulatorVector: GlweCiphertextVectorEntity,
    InputCiphertextVector: LweCiphertextVectorEntity,
    OutputCiphertextVector: LweCiphertextVectorEntity,
{ fn discard_bootstrap_lwe_ciphertext_vector(
        &mut self,
        output: &mut OutputCiphertextVector,
        input: &InputCiphertextVector,
        acc: &AccumulatorVector,
        bsk: &BootstrapKey
    ) -> Result<(), LweCiphertextVectorDiscardingBootstrapError<Self::EngineError>>; unsafe fn discard_bootstrap_lwe_ciphertext_vector_unchecked(
        &mut self,
        output: &mut OutputCiphertextVector,
        input: &InputCiphertextVector,
        acc: &AccumulatorVector,
        bsk: &BootstrapKey
    ); }
Expand description

A trait for engines bootstrapping (discarding) LWE ciphertext vectors.

Semantics

This discarding operation fills the output LWE ciphertext vector with the element-wise bootstrap of the input LWE ciphertext vector, using the acc accumulator as lookup-table, and the bsk bootstrap key.

Formal Definition

cf here

Required Methods

Bootstraps an LWE ciphertext vector.

Unsafely bootstraps an LWE ciphertext vector.

Safety

For the general safety concerns regarding this operation, refer to the different variants of LweCiphertextVectorDiscardingBootstrapError. For safety concerns specific to an engine, refer to the implementer safety section.

Implementors