#[non_exhaustive]pub enum HpkeKem {
DHKEM_P256_HKDF_SHA256,
DHKEM_P384_HKDF_SHA384,
DHKEM_P521_HKDF_SHA512,
DHKEM_X25519_HKDF_SHA256,
DHKEM_X448_HKDF_SHA512,
Unknown(u16),
}
Expand description
The Key Encapsulation Mechanism (Kem
) type for HPKE operations.
Listed by IANA, as specified in RFC 9180 Section 7.1
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
DHKEM_P256_HKDF_SHA256
DHKEM_P384_HKDF_SHA384
DHKEM_P521_HKDF_SHA512
DHKEM_X25519_HKDF_SHA256
DHKEM_X448_HKDF_SHA512
Unknown(u16)
Implementations§
Trait Implementations§
source§impl Codec for HpkeKem
impl Codec for HpkeKem
source§fn encode(&self, bytes: &mut Vec<u8>)
fn encode(&self, bytes: &mut Vec<u8>)
Function for encoding itself by appending itself to
the provided vec of bytes.
source§fn read(r: &mut Reader<'_>) -> Result<Self, InvalidMessage>
fn read(r: &mut Reader<'_>) -> Result<Self, InvalidMessage>
Function for decoding itself from the provided reader
will return Some if the decoding was successful or
None if it was not.
source§fn get_encoding(&self) -> Vec<u8>
fn get_encoding(&self) -> Vec<u8>
Convenience function for encoding the implementation
into a vec and returning it
source§fn read_bytes(bytes: &[u8]) -> Result<Self, InvalidMessage>
fn read_bytes(bytes: &[u8]) -> Result<Self, InvalidMessage>
Function for wrapping a call to the read function in
a Reader for the slice of bytes provided
impl Copy for HpkeKem
impl Eq for HpkeKem
impl StructuralPartialEq for HpkeKem
Auto Trait Implementations§
impl Freeze for HpkeKem
impl RefUnwindSafe for HpkeKem
impl Send for HpkeKem
impl Sync for HpkeKem
impl Unpin for HpkeKem
impl UnwindSafe for HpkeKem
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)