pub struct MLKEMPublicKey<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> { /* private fields */ }Expand description
An ML-KEM public key.
Trait Implementations§
Source§impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> Clone for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> Clone for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
Source§fn clone(&self) -> MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
fn clone(&self) -> MLKEMPublicKey<k, PK_LEN, T_PACKED_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, const PK_LEN: usize, const T_PACKED_LEN: usize> Debug for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> Debug for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
Source§impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> Display for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> Display for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> Eq for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
Source§impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> KEMPublicKey<PK_LEN> for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> KEMPublicKey<PK_LEN> for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
Source§fn encode(&self) -> [u8; PK_LEN]
fn encode(&self) -> [u8; PK_LEN]
Algorithm 22 pkEncode(𝜌, 𝐭1) Encodes a public key for ML-DSA into a byte string. Input:𝜌 ∈ 𝔹32, 𝐭1 ∈ 𝑅𝑘 with coefficients in [0, 2bitlen (𝑞−1)−𝑑 − 1]. Output: Public key 𝑝𝑘 ∈ 𝔹32+32𝑘(bitlen (𝑞−1)−𝑑).
Source§impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> MLKEMPublicKeyTrait<k, PK_LEN, T_PACKED_LEN> for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> MLKEMPublicKeyTrait<k, PK_LEN, T_PACKED_LEN> for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
Source§fn pk_decode(pk: &[u8; PK_LEN]) -> Self
fn pk_decode(pk: &[u8; PK_LEN]) -> Self
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 t_hat_packed(&self) -> &[u8; T_PACKED_LEN]
fn t_hat_packed(&self) -> &[u8; T_PACKED_LEN]
Get a ref to t_hat_packed byte array
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, const PK_LEN: usize, const T_PACKED_LEN: usize> Freeze for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> RefUnwindSafe for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> Send for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> Sync for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> Unpin for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> UnsafeUnpin for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
impl<const k: usize, const PK_LEN: usize, const T_PACKED_LEN: usize> UnwindSafe for MLKEMPublicKey<k, PK_LEN, T_PACKED_LEN>
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