pub struct CompactPublicKeyEncryptionParameters {
pub encryption_lwe_dimension: LweDimension,
pub encryption_noise_distribution: DynamicDistribution<u64>,
pub message_modulus: MessageModulus,
pub carry_modulus: CarryModulus,
pub ciphertext_modulus: CiphertextModulus,
pub expansion_kind: CompactCiphertextListExpansionKind,
pub zk_scheme: SupportedCompactPkeZkScheme,
}Fields§
§encryption_lwe_dimension: LweDimension§encryption_noise_distribution: DynamicDistribution<u64>§message_modulus: MessageModulus§carry_modulus: CarryModulus§ciphertext_modulus: CiphertextModulus§expansion_kind: CompactCiphertextListExpansionKind§zk_scheme: SupportedCompactPkeZkSchemeImplementations§
Source§impl CompactPublicKeyEncryptionParameters
impl CompactPublicKeyEncryptionParameters
pub const fn try_new( encryption_lwe_dimension: LweDimension, encryption_noise_distribution: DynamicDistribution<u64>, message_modulus: MessageModulus, carry_modulus: CarryModulus, ciphertext_modulus: CiphertextModulus, output_ciphertext_kind: CompactCiphertextListExpansionKind, zk_scheme: SupportedCompactPkeZkScheme, ) -> Result<Self, &'static str>
pub const fn is_valid(&self) -> bool
Sourcepub const fn validate(self) -> Self
pub const fn validate(self) -> Self
This should be used while defining static parameters to verify they comply with the requirements of compact public key encryption.
pub const fn from_shortint_parameter_set( parameters: ShortintParameterSet, ) -> Result<Self, &'static str>
Trait Implementations§
Source§impl Clone for CompactPublicKeyEncryptionParameters
impl Clone for CompactPublicKeyEncryptionParameters
Source§fn clone(&self) -> CompactPublicKeyEncryptionParameters
fn clone(&self) -> CompactPublicKeyEncryptionParameters
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for CompactPublicKeyEncryptionParameters
Source§impl<'de> Deserialize<'de> for CompactPublicKeyEncryptionParameters
impl<'de> Deserialize<'de> for CompactPublicKeyEncryptionParameters
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for CompactPublicKeyEncryptionParameters
Source§impl Unversionize for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
impl Unversionize for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
Source§fn unversionize(
versioned: Self::VersionedOwned,
) -> Result<Self, UnversionizeError>
fn unversionize( versioned: Self::VersionedOwned, ) -> Result<Self, UnversionizeError>
Creates an object from a versioned enum, and eventually upgrades from previous
variants.
Source§impl UnversionizeVec for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
impl UnversionizeVec for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
fn unversionize_vec( versioned: Self::VersionedVec, ) -> Result<Vec<Self>, UnversionizeError>
Source§impl Upgrade<CompactPublicKeyEncryptionParameters> for CompactPublicKeyEncryptionParametersV0
impl Upgrade<CompactPublicKeyEncryptionParameters> for CompactPublicKeyEncryptionParametersV0
type Error = Infallible
fn upgrade(self) -> Result<CompactPublicKeyEncryptionParameters, Self::Error>
Source§impl Version for CompactPublicKeyEncryptionParameterswhere
LweDimension: VersionizeOwned + Unversionize + Versionize,
DynamicDistribution<u64>: VersionizeOwned + Unversionize + Versionize,
MessageModulus: VersionizeOwned + Unversionize + Versionize,
CarryModulus: VersionizeOwned + Unversionize + Versionize,
CiphertextModulus: VersionizeOwned + Unversionize + Versionize,
CompactCiphertextListExpansionKind: VersionizeOwned + Unversionize + Versionize,
SupportedCompactPkeZkScheme: VersionizeOwned + Unversionize + Versionize,
impl Version for CompactPublicKeyEncryptionParameterswhere
LweDimension: VersionizeOwned + Unversionize + Versionize,
DynamicDistribution<u64>: VersionizeOwned + Unversionize + Versionize,
MessageModulus: VersionizeOwned + Unversionize + Versionize,
CarryModulus: VersionizeOwned + Unversionize + Versionize,
CiphertextModulus: VersionizeOwned + Unversionize + Versionize,
CompactCiphertextListExpansionKind: VersionizeOwned + Unversionize + Versionize,
SupportedCompactPkeZkScheme: VersionizeOwned + Unversionize + Versionize,
Source§impl Versionize for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
impl Versionize for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
Source§type Versioned<'vers> = <CompactPublicKeyEncryptionParametersVersions as VersionsDispatch<CompactPublicKeyEncryptionParameters>>::Ref<'vers>
type Versioned<'vers> = <CompactPublicKeyEncryptionParametersVersions as VersionsDispatch<CompactPublicKeyEncryptionParameters>>::Ref<'vers>
The equivalent versioned type. It should have a variant for each version.
It may own the underlying data or only hold a read-only reference to it.
Source§fn versionize(&self) -> Self::Versioned<'_>
fn versionize(&self) -> Self::Versioned<'_>
Wraps the object into a versioned enum with a variant for each version. This will
use references on the underlying types if possible.
Source§impl VersionizeOwned for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
impl VersionizeOwned for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
type VersionedOwned = <CompactPublicKeyEncryptionParametersVersions as VersionsDispatch<CompactPublicKeyEncryptionParameters>>::Owned
Source§fn versionize_owned(self) -> Self::VersionedOwned
fn versionize_owned(self) -> Self::VersionedOwned
Wraps the object into a versioned enum with a variant for each version. This will
clone the underlying types.
Source§impl VersionizeSlice for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
impl VersionizeSlice for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
type VersionedSlice<'vers> = Vec<<CompactPublicKeyEncryptionParameters as Versionize>::Versioned<'vers>>
fn versionize_slice(slice: &[Self]) -> Self::VersionedSlice<'_>
Source§impl VersionizeVec for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
impl VersionizeVec for CompactPublicKeyEncryptionParameterswhere
CompactPublicKeyEncryptionParametersVersions: VersionsDispatch<Self>,
type VersionedVec = Vec<<CompactPublicKeyEncryptionParameters as VersionizeOwned>::VersionedOwned>
fn versionize_vec(vec: Vec<Self>) -> Self::VersionedVec
Auto Trait Implementations§
impl Freeze for CompactPublicKeyEncryptionParameters
impl RefUnwindSafe for CompactPublicKeyEncryptionParameters
impl Send for CompactPublicKeyEncryptionParameters
impl Sync for CompactPublicKeyEncryptionParameters
impl Unpin for CompactPublicKeyEncryptionParameters
impl UnsafeUnpin for CompactPublicKeyEncryptionParameters
impl UnwindSafe for CompactPublicKeyEncryptionParameters
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more