pub trait GgswCiphertextScalarEncryptionEngine<SecretKey, Plaintext, Ciphertext>: AbstractEnginewhere
SecretKey: GlweSecretKeyEntity,
Plaintext: PlaintextEntity,
Ciphertext: GgswCiphertextEntity,{
fn encrypt_scalar_ggsw_ciphertext(
&mut self,
key: &SecretKey,
input: &Plaintext,
noise: Variance,
decomposition_level_count: DecompositionLevelCount,
decomposition_base_log: DecompositionBaseLog
) -> Result<Ciphertext, GgswCiphertextScalarEncryptionError<Self::EngineError>>;
unsafe fn encrypt_scalar_ggsw_ciphertext_unchecked(
&mut self,
key: &SecretKey,
input: &Plaintext,
noise: Variance,
decomposition_level_count: DecompositionLevelCount,
decomposition_base_log: DecompositionBaseLog
) -> Ciphertext;
}
Expand description
A trait for engines encrypting GGSW ciphertexts containing a single plaintext.
Semantics
This pure operation generates a GGSW ciphertext containing the
encryption of the input
plaintext, under the key
secret key.
Formal Definition
Required Methods
sourcefn encrypt_scalar_ggsw_ciphertext(
&mut self,
key: &SecretKey,
input: &Plaintext,
noise: Variance,
decomposition_level_count: DecompositionLevelCount,
decomposition_base_log: DecompositionBaseLog
) -> Result<Ciphertext, GgswCiphertextScalarEncryptionError<Self::EngineError>>
fn encrypt_scalar_ggsw_ciphertext(
&mut self,
key: &SecretKey,
input: &Plaintext,
noise: Variance,
decomposition_level_count: DecompositionLevelCount,
decomposition_base_log: DecompositionBaseLog
) -> Result<Ciphertext, GgswCiphertextScalarEncryptionError<Self::EngineError>>
Encrypts a plaintext into a GGSW ciphertext.
sourceunsafe fn encrypt_scalar_ggsw_ciphertext_unchecked(
&mut self,
key: &SecretKey,
input: &Plaintext,
noise: Variance,
decomposition_level_count: DecompositionLevelCount,
decomposition_base_log: DecompositionBaseLog
) -> Ciphertext
unsafe fn encrypt_scalar_ggsw_ciphertext_unchecked(
&mut self,
key: &SecretKey,
input: &Plaintext,
noise: Variance,
decomposition_level_count: DecompositionLevelCount,
decomposition_base_log: DecompositionBaseLog
) -> Ciphertext
Unsafely encrypts a plaintext vector into a GGSW ciphertext.
Safety
For the general safety concerns regarding this operation, refer to the different variants
of GgswCiphertextScalarEncryptionError
. For safety concerns specific to an engine,
refer to the implementer safety section.
Implementors
impl GgswCiphertextScalarEncryptionEngine<GlweSecretKey32, Plaintext32, GgswCiphertext32> for DefaultEngine
Description:
Implementation of GgswCiphertextScalarEncryptionEngine
for DefaultEngine
that operates
on 32 bits integers.
impl GgswCiphertextScalarEncryptionEngine<GlweSecretKey64, Plaintext64, GgswCiphertext64> for DefaultEngine
Description:
Implementation of GgswCiphertextScalarEncryptionEngine
for DefaultEngine
that operates
on 64 bits integers.