LweCiphertextVectorGlweCiphertextDiscardingFunctionalPackingKeyswitchEngine

Trait LweCiphertextVectorGlweCiphertextDiscardingFunctionalPackingKeyswitchEngine 

Source
pub trait LweCiphertextVectorGlweCiphertextDiscardingFunctionalPackingKeyswitchEngine<FunctionalPackingKeyswitchKey, InputCiphertextVector, OutputCiphertext>: AbstractEngine
where FunctionalPackingKeyswitchKey: FunctionalPackingKeyswitchKeyEntity, InputCiphertextVector: LweCiphertextVectorEntity<KeyDistribution = FunctionalPackingKeyswitchKey::InputKeyDistribution>, OutputCiphertext: GlweCiphertextEntity<KeyDistribution = FunctionalPackingKeyswitchKey::OutputKeyDistribution>,
{ // Required methods fn discard_functional_packing_keyswitch_lwe_ciphertext_vector( &mut self, output: &mut OutputCiphertext, input: &InputCiphertextVector, pksk: &FunctionalPackingKeyswitchKey, ) -> Result<(), LweCiphertextVectorGlweCiphertextDiscardingFunctionalPackingKeyswitchError<Self::EngineError>>; unsafe fn discard_functional_packing_keyswitch_lwe_ciphertext_vector_unchecked( &mut self, output: &mut OutputCiphertext, input: &InputCiphertextVector, pksk: &FunctionalPackingKeyswitchKey, ); }
Expand description

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

§Semantics

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

§Formal Definition

Required Methods§

Source

fn discard_functional_packing_keyswitch_lwe_ciphertext_vector( &mut self, output: &mut OutputCiphertext, input: &InputCiphertextVector, pksk: &FunctionalPackingKeyswitchKey, ) -> Result<(), LweCiphertextVectorGlweCiphertextDiscardingFunctionalPackingKeyswitchError<Self::EngineError>>

Functional Packing keyswitch an LWE ciphertext vector.

Source

unsafe fn discard_functional_packing_keyswitch_lwe_ciphertext_vector_unchecked( &mut self, output: &mut OutputCiphertext, input: &InputCiphertextVector, pksk: &FunctionalPackingKeyswitchKey, )

Unsafely functional packing keyswitches an LWE ciphertext vector.

§Safety

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

Implementors§