#[non_exhaustive]#[repr(u16)]pub enum Kem {
DhP256HkdfSha256 = 16,
DhP384HkdfSha384 = 17,
DhP521HkdfSha512 = 18,
X25519HkdfSha256 = 32,
}Expand description
Kem represents an asymmetric key encapsulation mechanism, as per RFC9180§7.1. Currently only four of the options listed in the hpke draft are available.
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.
DhP256HkdfSha256 = 16
DHKEM(P-256, HKDF-SHA256) NISTCurves
DhP384HkdfSha384 = 17
DHKEM(P-384, HKDF-SHA384) NISTCurves
DhP521HkdfSha512 = 18
DHKEM(P-521, HKDF-SHA512) NISTCurves
X25519HkdfSha256 = 32
DHKEM(X25519, HKDF-SHA256) RFC7748
Implementations§
Trait Implementations§
Source§impl TryFromPrimitive for Kem
impl TryFromPrimitive for Kem
impl Copy for Kem
impl Eq for Kem
impl StructuralPartialEq for Kem
Auto Trait Implementations§
impl Freeze for Kem
impl RefUnwindSafe for Kem
impl Send for Kem
impl Sync for Kem
impl Unpin for Kem
impl UnwindSafe for Kem
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