pub struct MLKEMPrivateKeyExpanded<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> { /* private fields */ }Expand description
A fully expanded ML-KEM private key that includes the intermediate values needed for performing multiple decaps operations with the same private key, which causes the private key struct to take up more memory, but results in more efficient repeated decaps() operations.
Trait Implementations§
Source§impl<const k: usize, PK: Clone + MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: Clone + MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> Clone for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK: Clone + MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: Clone + MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> Clone for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
Source§fn clone(&self) -> MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
fn clone(&self) -> MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, 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>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> Debug for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> Debug for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
Source§impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> Display for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> Display for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
Source§impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> Drop for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> Drop for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> Eq for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
Source§impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> From<&SK> for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> From<&SK> for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
Source§impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> KEMPrivateKey<SK_LEN> for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> KEMPrivateKey<SK_LEN> for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
Source§impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
Source§impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> PartialEq for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> PartialEq for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK: MLKEMPublicKeyInternalTrait<k, PK_LEN>, SK: MLKEMPrivateKeyTrait<k, PK, SK_LEN, PK_LEN> + MLKEMPrivateKeyInternalTrait<k, PK, SK_LEN, PK_LEN>, const SK_LEN: usize, const PK_LEN: usize> Secret for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
Auto Trait Implementations§
impl<const k: usize, PK, SK, const SK_LEN: usize, const PK_LEN: usize> Freeze for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>where
SK: Freeze,
impl<const k: usize, PK, SK, const SK_LEN: usize, const PK_LEN: usize> RefUnwindSafe for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>where
SK: RefUnwindSafe,
PK: RefUnwindSafe,
impl<const k: usize, PK, SK, const SK_LEN: usize, const PK_LEN: usize> Send for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK, SK, const SK_LEN: usize, const PK_LEN: usize> Sync for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK, SK, const SK_LEN: usize, const PK_LEN: usize> Unpin for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>
impl<const k: usize, PK, SK, const SK_LEN: usize, const PK_LEN: usize> UnsafeUnpin for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>where
SK: UnsafeUnpin,
impl<const k: usize, PK, SK, const SK_LEN: usize, const PK_LEN: usize> UnwindSafe for MLKEMPrivateKeyExpanded<k, PK, SK, SK_LEN, PK_LEN>where
SK: UnwindSafe,
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