pub struct MLKEMPublicKeyExpanded<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> { /* private fields */ }Expand description
A fully expanded ML-KEM public key that includes the intermediate values needed for performing multiple encaps operations against the same public key, which causes the MLKEMPublicKey struct to take up more memory, but results in more efficient repeated encaps() operations.
Trait Implementations§
Source§impl<const k: usize, PK: Clone + MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> Clone for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
impl<const k: usize, PK: Clone + MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> Clone for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
Source§fn clone(&self) -> MLKEMPublicKeyExpanded<k, PK, PK_LEN>
fn clone(&self) -> MLKEMPublicKeyExpanded<k, PK, PK_LEN>
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 moreSource§impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> Debug for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> Debug for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
Source§impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> Display for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> Display for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> Eq for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
Source§impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> From<&PK> for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> From<&PK> for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
Source§impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> KEMPublicKey<PK_LEN> for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> KEMPublicKey<PK_LEN> for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
Source§impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> MLKEMPublicKeyTrait<k, PK_LEN> for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, const PK_LEN: usize> MLKEMPublicKeyTrait<k, PK_LEN> for MLKEMPublicKeyExpanded<k, PK, PK_LEN>
Source§fn pk_decode(pk: &[u8; PK_LEN]) -> Result<Self, KEMError>
fn pk_decode(pk: &[u8; PK_LEN]) -> Result<Self, KEMError>
Algorithm 23 pkDecode(𝑝𝑘)
Reverses the procedure pkEncode.
Input: Public key 𝑝𝑘 ∈ 𝔹32+32𝑘(bitlen (𝑞−1)−𝑑).
Output: 𝜌 ∈ 𝔹32, 𝐭1 ∈ 𝑅𝑘 with coefficients in [0, 2bitlen (𝑞−1)−𝑑 − 1].
Source§fn compute_hash(&self) -> [u8; 32]
fn compute_hash(&self) -> [u8; 32]
Get the hash of the public key
Auto Trait Implementations§
impl<const k: usize, PK, const PK_LEN: usize> Freeze for MLKEMPublicKeyExpanded<k, PK, PK_LEN>where
PK: Freeze,
impl<const k: usize, PK, const PK_LEN: usize> RefUnwindSafe for MLKEMPublicKeyExpanded<k, PK, PK_LEN>where
PK: RefUnwindSafe,
impl<const k: usize, PK, const PK_LEN: usize> Send for MLKEMPublicKeyExpanded<k, PK, PK_LEN>where
PK: Send,
impl<const k: usize, PK, const PK_LEN: usize> Sync for MLKEMPublicKeyExpanded<k, PK, PK_LEN>where
PK: Sync,
impl<const k: usize, PK, const PK_LEN: usize> Unpin for MLKEMPublicKeyExpanded<k, PK, PK_LEN>where
PK: Unpin,
impl<const k: usize, PK, const PK_LEN: usize> UnsafeUnpin for MLKEMPublicKeyExpanded<k, PK, PK_LEN>where
PK: UnsafeUnpin,
impl<const k: usize, PK, const PK_LEN: usize> UnwindSafe for MLKEMPublicKeyExpanded<k, PK, PK_LEN>where
PK: 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