pub struct Kem<P>where
P: KemParams,{ /* private fields */ }
Expand description
An implementation of overall ML-KEM functionality. Generic over parameter sets, but then ties together all of the other related types and sizes.
Trait Implementations§
source§impl<P> KemCore for Kem<P>where
P: KemParams,
impl<P> KemCore for Kem<P>where
P: KemParams,
source§fn generate(
rng: &mut impl CryptoRngCore,
) -> (Self::DecapsulationKey, Self::EncapsulationKey)
fn generate( rng: &mut impl CryptoRngCore, ) -> (Self::DecapsulationKey, Self::EncapsulationKey)
Generate a new (decapsulation, encapsulation) key pair
The size of a shared key generated by this KEM
§type CiphertextSize = <P as PkeParams>::CiphertextSize
type CiphertextSize = <P as PkeParams>::CiphertextSize
The size of a ciphertext encapsulating a shared key
§type DecapsulationKey = DecapsulationKey<P>
type DecapsulationKey = DecapsulationKey<P>
A decapsulation key for this KEM
§type EncapsulationKey = EncapsulationKey<P>
type EncapsulationKey = EncapsulationKey<P>
Available on crate feature
deterministic
only.An encapsulation key for this KEM
source§fn generate_deterministic(
d: &B32,
z: &B32,
) -> (Self::DecapsulationKey, Self::EncapsulationKey)
fn generate_deterministic( d: &B32, z: &B32, ) -> (Self::DecapsulationKey, Self::EncapsulationKey)
Available on crate feature
deterministic
only.Generate a new (decapsulation, encapsulation) key pair deterministically
Auto Trait Implementations§
impl<P> Freeze for Kem<P>
impl<P> RefUnwindSafe for Kem<P>where
P: RefUnwindSafe,
impl<P> Send for Kem<P>where
P: Send,
impl<P> Sync for Kem<P>where
P: Sync,
impl<P> Unpin for Kem<P>where
P: Unpin,
impl<P> UnwindSafe for Kem<P>where
P: UnwindSafe,
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