pub struct EncapsulationKey { /* private fields */ }Expand description
A KEM public key, sealed to with CryptoSystem::hpke_seal
(DHKEM-X25519 under VLD0, ML-KEM at VLD1). Signing and identity use PublicKey; under
VLD0 this key is derivable from one via
CryptoSystem::encapsulation_key_from_signing_key.
A value tagged with the CryptoKind of the cryptosystem it belongs to.
Ordering compares the kind first (by cryptosystem preference) then the value.
Parses and displays as kind:value; a bare value with no kind: prefix decodes against the best available kind.
Implementations§
Source§impl EncapsulationKey
impl EncapsulationKey
Sourcepub fn new(kind: CryptoKind, value: BareEncapsulationKey) -> Self
pub fn new(kind: CryptoKind, value: BareEncapsulationKey) -> Self
Pairs a value with the CryptoKind it belongs to.
Sourcepub fn ref_value(&self) -> &BareEncapsulationKey
pub fn ref_value(&self) -> &BareEncapsulationKey
Borrows the untagged value.
Sourcepub fn into_value(self) -> BareEncapsulationKey
pub fn into_value(self) -> BareEncapsulationKey
Consumes the wrapper and returns the untagged value.
Source§impl EncapsulationKey
impl EncapsulationKey
Sourcepub fn kind(&self) -> CryptoKind
pub fn kind(&self) -> CryptoKind
The cryptosystem this value belongs to.
Sourcepub fn value(&self) -> BareEncapsulationKey
pub fn value(&self) -> BareEncapsulationKey
A clone of the untagged value.
Trait Implementations§
Source§impl Clone for EncapsulationKey
impl Clone for EncapsulationKey
Source§fn clone(&self) -> EncapsulationKey
fn clone(&self) -> EncapsulationKey
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 Debug for EncapsulationKey
impl Debug for EncapsulationKey
Source§impl<'de> Deserialize<'de> for EncapsulationKey
impl<'de> Deserialize<'de> for EncapsulationKey
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for EncapsulationKey
impl Display for EncapsulationKey
impl Eq for EncapsulationKey
Source§impl From<&EncapsulationKey> for Vec<u8>
impl From<&EncapsulationKey> for Vec<u8>
Source§fn from(v: &EncapsulationKey) -> Self
fn from(v: &EncapsulationKey) -> Self
Converts to this type from the input type.
Source§impl From<EncapsulationKey> for EncapsulationKeyGroup
impl From<EncapsulationKey> for EncapsulationKeyGroup
Source§fn from(x: EncapsulationKey) -> Self
fn from(x: EncapsulationKey) -> Self
Converts to this type from the input type.
Source§impl From<EncapsulationKey> for Vec<u8>
impl From<EncapsulationKey> for Vec<u8>
Source§fn from(v: EncapsulationKey) -> Self
fn from(v: EncapsulationKey) -> Self
Converts to this type from the input type.
Source§impl FromStr for EncapsulationKey
impl FromStr for EncapsulationKey
Source§impl GetSize for EncapsulationKey
impl GetSize for EncapsulationKey
Source§fn get_heap_size(&self) -> usize
fn get_heap_size(&self) -> usize
Determines how many bytes this object occupies inside the heap. Read more
Source§fn get_heap_size_with_tracker<TRACKER: GetSizeTracker>(
&self,
tracker: TRACKER,
) -> (usize, TRACKER)
fn get_heap_size_with_tracker<TRACKER: GetSizeTracker>( &self, tracker: TRACKER, ) -> (usize, TRACKER)
Determines how many bytes this object occupies inside the heap while using a
tracker. Read moreSource§fn get_stack_size() -> usize
fn get_stack_size() -> usize
Determines how may bytes this object occupies inside the stack. Read more
Source§fn get_size_with_tracker<T>(&self, tracker: T) -> (usize, T)where
T: GetSizeTracker,
fn get_size_with_tracker<T>(&self, tracker: T) -> (usize, T)where
T: GetSizeTracker,
Determines the total size of the object while using a
tracker. Read moreSource§impl Hash for EncapsulationKey
impl Hash for EncapsulationKey
Source§impl Ord for EncapsulationKey
impl Ord for EncapsulationKey
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for EncapsulationKey
impl PartialEq for EncapsulationKey
Source§impl PartialOrd for EncapsulationKey
impl PartialOrd for EncapsulationKey
Source§impl Serialize for EncapsulationKey
impl Serialize for EncapsulationKey
impl StructuralPartialEq for EncapsulationKey
Source§impl<'a> TryFrom<&'a [u8]> for EncapsulationKey
impl<'a> TryFrom<&'a [u8]> for EncapsulationKey
Source§impl TryFrom<&str> for EncapsulationKey
impl TryFrom<&str> for EncapsulationKey
Source§impl TryFrom<String> for EncapsulationKey
impl TryFrom<String> for EncapsulationKey
Auto Trait Implementations§
impl !Freeze for EncapsulationKey
impl RefUnwindSafe for EncapsulationKey
impl Send for EncapsulationKey
impl Sync for EncapsulationKey
impl Unpin for EncapsulationKey
impl UnsafeUnpin for EncapsulationKey
impl UnwindSafe for EncapsulationKey
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CmpAssign for Twhere
T: Ord,
impl<T> CmpAssign for Twhere
T: Ord,
Source§fn min_assign(&mut self, other: T)
fn min_assign(&mut self, other: T)
Replace
self with other if other is smaller.Source§fn max_assign(&mut self, other: T)
fn max_assign(&mut self, other: T)
Replace
self with other if other is larger.Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more