pub trait GlweCiphertextGgswCiphertextExternalProductEngine<GlweInput, GgswInput, Output>: AbstractEnginewhere
    GlweInput: GlweCiphertextEntity,
    GgswInput: GgswCiphertextEntity,
    Output: GlweCiphertextEntity,
{ fn compute_external_product_glwe_ciphertext_ggsw_ciphertext(
        &mut self,
        glwe_input: &GlweInput,
        ggsw_input: &GgswInput
    ) -> Result<Output, GlweCiphertextGgswCiphertextExternalProductError<Self::EngineError>>; unsafe fn compute_external_product_glwe_ciphertext_ggsw_ciphertext_unchecked(
        &mut self,
        glwe_input: &GlweInput,
        ggsw_input: &GgswInput
    ) -> Output; }
Expand description

A trait for engines computing the external product between a GLWE ciphertext (of dimension

  1. and a GSW ciphertext.

Semantics

This pure operation generates a GLWE ciphertext vector containing the result of the external product between a glwe_input GLWE ciphertext and a ggsw_input GSW ciphertext.

Formal Definition

Required Methods

Computes the external product between a GLWE and a GSW ciphertext.

Unsafely computes the external product between a GLWE and a GSW ciphertext.

Safety

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

Implementors