pub trait LweSecretKeyGenerationEngine<SecretKey>: AbstractEnginewhere
SecretKey: LweSecretKeyEntity,{
fn generate_new_lwe_secret_key(
&mut self,
lwe_dimension: LweDimension
) -> Result<SecretKey, LweSecretKeyGenerationError<Self::EngineError>>;
unsafe fn generate_new_lwe_secret_key_unchecked(
&mut self,
lwe_dimension: LweDimension
) -> SecretKey;
}
Expand description
A trait for engines generating new LWE secret keys.
Semantics
This pure operation generates a new LWE secret key.
Formal Definition
cf here
Required Methods
sourcefn generate_new_lwe_secret_key(
&mut self,
lwe_dimension: LweDimension
) -> Result<SecretKey, LweSecretKeyGenerationError<Self::EngineError>>
fn generate_new_lwe_secret_key(
&mut self,
lwe_dimension: LweDimension
) -> Result<SecretKey, LweSecretKeyGenerationError<Self::EngineError>>
Generates a new LWE secret key.
sourceunsafe fn generate_new_lwe_secret_key_unchecked(
&mut self,
lwe_dimension: LweDimension
) -> SecretKey
unsafe fn generate_new_lwe_secret_key_unchecked(
&mut self,
lwe_dimension: LweDimension
) -> SecretKey
Unsafely generates a new LWE secret key.
Safety
For the general safety concerns regarding this operation, refer to the different variants
of LweSecretKeyGenerationError
. For safety concerns specific to an
engine, refer to the implementer safety section.
Implementors
impl LweSecretKeyGenerationEngine<LweSecretKey32> for DefaultEngine
Description:
Implementation of LweSecretKeyGenerationEngine
for DefaultEngine
that operates on
32 bits integers.
impl LweSecretKeyGenerationEngine<LweSecretKey64> for DefaultEngine
Description:
Implementation of LweSecretKeyGenerationEngine
for DefaultEngine
that operates on
64 bits integers.