#[non_exhaustive]#[repr(u16)]pub enum Kem {
DhP256HkdfSha256 = 16,
DhP384HkdfSha384 = 17,
DhP521HkdfSha512 = 18,
X25519HkdfSha256 = 32,
MlKem768 = 65,
MlKem1024 = 66,
XWing = 25_722,
MlKem768P256 = 80,
MlKem1024P384 = 81,
}Expand description
An asymmetric key encapsulation mechanism.
Codepoints are defined in RFC9180§7.2 and draft-ietf-hpke-pq.
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
MlKem768 = 65
MLKEM-768 FIPS 203
MlKem1024 = 66
MLKEM-1024 FIPS 203
XWing = 25_722
X-Wing (MLKEM768-X25519) https://www.ietf.org/archive/id/draft-irtf-cfrg-concrete-hybrid-kems-04.html
MlKem768P256 = 80
MlKem1024P384 = 81
Implementations§
Trait Implementations§
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 UnsafeUnpin 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