pub trait LweCiphertextVectorGlweCiphertextDiscardingFunctionalPackingKeyswitchEngine<FunctionalPackingKeyswitchKey, InputCiphertextVector, OutputCiphertext>: AbstractEnginewhere
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§
Sourcefn discard_functional_packing_keyswitch_lwe_ciphertext_vector(
&mut self,
output: &mut OutputCiphertext,
input: &InputCiphertextVector,
pksk: &FunctionalPackingKeyswitchKey,
) -> Result<(), LweCiphertextVectorGlweCiphertextDiscardingFunctionalPackingKeyswitchError<Self::EngineError>>
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.
Sourceunsafe fn discard_functional_packing_keyswitch_lwe_ciphertext_vector_unchecked(
&mut self,
output: &mut OutputCiphertext,
input: &InputCiphertextVector,
pksk: &FunctionalPackingKeyswitchKey,
)
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§
impl LweCiphertextVectorGlweCiphertextDiscardingFunctionalPackingKeyswitchEngine<FunctionalPackingKeyswitchKey32, LweCiphertextVector32, GlweCiphertext32> for CoreEngine
§Description:
Implementation of
LweCiphertextVectorGlweCiphertextDiscardingFunctionalPackingKeyswitchEngine for
CoreEngine that operates on 32 bits integers.
impl LweCiphertextVectorGlweCiphertextDiscardingFunctionalPackingKeyswitchEngine<FunctionalPackingKeyswitchKey64, LweCiphertextVector64, GlweCiphertext64> for CoreEngine
§Description:
Implementation of
LweCiphertextVectorGlweCiphertextDiscardingFunctionalPackingKeyswitchEngine
for
CoreEngine that operates on 64 bits integers.