pub trait LweCiphertextDiscardingBootstrapEngine<BootstrapKey, Accumulator, InputCiphertext, OutputCiphertext>: AbstractEngine where
    BootstrapKey: LweBootstrapKeyEntity,
    Accumulator: GlweCiphertextEntity<KeyDistribution = BootstrapKey::OutputKeyDistribution>,
    InputCiphertext: LweCiphertextEntity<KeyDistribution = BootstrapKey::InputKeyDistribution>,
    OutputCiphertext: LweCiphertextEntity<KeyDistribution = BootstrapKey::OutputKeyDistribution>, 
{ fn discard_bootstrap_lwe_ciphertext(
        &mut self,
        output: &mut OutputCiphertext,
        input: &InputCiphertext,
        acc: &Accumulator,
        bsk: &BootstrapKey
    ) -> Result<(), LweCiphertextDiscardingBootstrapError<Self::EngineError>>;
unsafe fn discard_bootstrap_lwe_ciphertext_unchecked(
        &mut self,
        output: &mut OutputCiphertext,
        input: &InputCiphertext,
        acc: &Accumulator,
        bsk: &BootstrapKey
    ); }
Expand description

A trait for engines bootstrapping (discarding) LWE ciphertexts.

Semantics

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

Formal Definition

Required methods

Bootstrap an LWE ciphertext .

Unsafely bootstrap an LWE ciphertext .

Safety

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

Implementors