pub trait LweCiphertextVectorGlweCiphertextDiscardingPackingKeyswitchEngine<LwePackingKeyswitchKey, InputCiphertextVector, OutputCiphertext>: AbstractEnginewhere
    LwePackingKeyswitchKey: LwePackingKeyswitchKeyEntity,
    InputCiphertextVector: LweCiphertextVectorEntity,
    OutputCiphertext: GlweCiphertextEntity,
{ fn discard_packing_keyswitch_lwe_ciphertext_vector(
        &mut self,
        output: &mut OutputCiphertext,
        input: &InputCiphertextVector,
        pksk: &LwePackingKeyswitchKey
    ) -> Result<(), LweCiphertextVectorGlweCiphertextDiscardingPackingKeyswitchError<Self::EngineError>>; unsafe fn discard_packing_keyswitch_lwe_ciphertext_vector_unchecked(
        &mut self,
        output: &mut OutputCiphertext,
        input: &InputCiphertextVector,
        pksk: &LwePackingKeyswitchKey
    ); }
Expand description

A trait for engines packing keyswitching (discarding) LWE ciphertext vectors into a GLWE ciphertext.

Semantics

This discarding operation fills the output GLWE ciphertext with the packing keyswitch of the input LWE ciphertext vector, under the pksk packing keyswitch key.

Formal Definition

Required Methods

Packing keyswitch an LWE ciphertext vector.

Unsafely packing keyswitches an LWE ciphertext vector.

Safety

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

Implementors