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<R: CryptoRng + ?Sized>(
rng: &mut R,
) -> (Self::DecapsulationKey, Self::EncapsulationKey)
fn generate<R: CryptoRng + ?Sized>( rng: &mut R, ) -> (Self::DecapsulationKey, Self::EncapsulationKey)
Generate a new (decapsulation, encapsulation) key pair
The size of a shared key generated by this KEM
Source§type CiphertextSize = <P as PkeParams>::CiphertextSize
type CiphertextSize = <P as PkeParams>::CiphertextSize
The size of a ciphertext encapsulating a shared key
Source§type DecapsulationKey = DecapsulationKey<P>
type DecapsulationKey = DecapsulationKey<P>
A decapsulation key for this KEM
Source§type EncapsulationKey = EncapsulationKey<P>
type EncapsulationKey = EncapsulationKey<P>
An encapsulation key for this KEM
Source§fn from_seed(seed: Seed) -> (Self::DecapsulationKey, Self::EncapsulationKey)
fn from_seed(seed: Seed) -> (Self::DecapsulationKey, Self::EncapsulationKey)
Generate a new (decapsulation, encapsulation) key pair deterministically from the given
uniformly random seed value.
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