pub struct DecapsulationKey { /* private fields */ }Expand description
A KEM secret key, opening blobs with CryptoSystem::hpke_open
(DHKEM-X25519 under VLD0, ML-KEM at VLD1). Signing uses SecretKey; under VLD0 this key
is derivable from one via
CryptoSystem::decapsulation_key_from_signing_secret.
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 DecapsulationKey
impl DecapsulationKey
Sourcepub fn new(kind: CryptoKind, value: BareDecapsulationKey) -> Self
pub fn new(kind: CryptoKind, value: BareDecapsulationKey) -> Self
Pairs a value with the CryptoKind it belongs to.
Sourcepub fn ref_value(&self) -> &BareDecapsulationKey
pub fn ref_value(&self) -> &BareDecapsulationKey
Borrows the untagged value.
Sourcepub fn into_value(self) -> BareDecapsulationKey
pub fn into_value(self) -> BareDecapsulationKey
Consumes the wrapper and returns the untagged value.
Source§impl DecapsulationKey
impl DecapsulationKey
Sourcepub fn kind(&self) -> CryptoKind
pub fn kind(&self) -> CryptoKind
The cryptosystem this value belongs to.
Sourcepub fn value(&self) -> BareDecapsulationKey
pub fn value(&self) -> BareDecapsulationKey
A clone of the untagged value.
Trait Implementations§
Source§impl Clone for DecapsulationKey
impl Clone for DecapsulationKey
Source§fn clone(&self) -> DecapsulationKey
fn clone(&self) -> DecapsulationKey
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 DecapsulationKey
impl Debug for DecapsulationKey
Source§impl<'de> Deserialize<'de> for DecapsulationKey
impl<'de> Deserialize<'de> for DecapsulationKey
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 DecapsulationKey
impl Display for DecapsulationKey
impl Eq for DecapsulationKey
Source§impl From<&DecapsulationKey> for Vec<u8>
impl From<&DecapsulationKey> for Vec<u8>
Source§fn from(v: &DecapsulationKey) -> Self
fn from(v: &DecapsulationKey) -> Self
Converts to this type from the input type.
Source§impl From<DecapsulationKey> for DecapsulationKeyGroup
impl From<DecapsulationKey> for DecapsulationKeyGroup
Source§fn from(x: DecapsulationKey) -> Self
fn from(x: DecapsulationKey) -> Self
Converts to this type from the input type.
Source§impl From<DecapsulationKey> for Vec<u8>
impl From<DecapsulationKey> for Vec<u8>
Source§fn from(v: DecapsulationKey) -> Self
fn from(v: DecapsulationKey) -> Self
Converts to this type from the input type.
Source§impl FromStr for DecapsulationKey
impl FromStr for DecapsulationKey
Source§impl GetSize for DecapsulationKey
impl GetSize for DecapsulationKey
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 DecapsulationKey
impl Hash for DecapsulationKey
Source§impl Ord for DecapsulationKey
impl Ord for DecapsulationKey
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 DecapsulationKey
impl PartialEq for DecapsulationKey
Source§impl PartialOrd for DecapsulationKey
impl PartialOrd for DecapsulationKey
Source§impl Serialize for DecapsulationKey
impl Serialize for DecapsulationKey
impl StructuralPartialEq for DecapsulationKey
Source§impl<'a> TryFrom<&'a [u8]> for DecapsulationKey
impl<'a> TryFrom<&'a [u8]> for DecapsulationKey
Source§impl TryFrom<&str> for DecapsulationKey
impl TryFrom<&str> for DecapsulationKey
Source§impl TryFrom<String> for DecapsulationKey
impl TryFrom<String> for DecapsulationKey
Auto Trait Implementations§
impl !Freeze for DecapsulationKey
impl RefUnwindSafe for DecapsulationKey
impl Send for DecapsulationKey
impl Sync for DecapsulationKey
impl Unpin for DecapsulationKey
impl UnsafeUnpin for DecapsulationKey
impl UnwindSafe for DecapsulationKey
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