pub struct BareKemKeyPair { /* private fields */ }Expand description
Untyped KEM encapsulation/decapsulation key pair, carrying no cryptosystem kind.
Implementations§
Source§impl BareKemKeyPair
impl BareKemKeyPair
Sourcepub fn new(key: BareEncapsulationKey, secret: BareDecapsulationKey) -> Self
pub fn new(key: BareEncapsulationKey, secret: BareDecapsulationKey) -> Self
Builds a KEM key pair from an encapsulation key and its decapsulation key.
Sourcepub fn ref_key(&self) -> &BareEncapsulationKey
pub fn ref_key(&self) -> &BareEncapsulationKey
Returns a reference to the encapsulation key.
Sourcepub fn ref_secret(&self) -> &BareDecapsulationKey
pub fn ref_secret(&self) -> &BareDecapsulationKey
Returns a reference to the decapsulation key.
Sourcepub fn ref_split(&self) -> (&BareEncapsulationKey, &BareDecapsulationKey)
pub fn ref_split(&self) -> (&BareEncapsulationKey, &BareDecapsulationKey)
Returns references to the encapsulation and decapsulation keys.
Sourcepub fn split(&self) -> (BareEncapsulationKey, BareDecapsulationKey)
pub fn split(&self) -> (BareEncapsulationKey, BareDecapsulationKey)
Clones out the encapsulation and decapsulation keys.
Sourcepub fn into_split(self) -> (BareEncapsulationKey, BareDecapsulationKey)
pub fn into_split(self) -> (BareEncapsulationKey, BareDecapsulationKey)
Consumes the pair, returning the encapsulation and decapsulation keys.
Source§impl BareKemKeyPair
impl BareKemKeyPair
Sourcepub fn key(&self) -> BareEncapsulationKey
pub fn key(&self) -> BareEncapsulationKey
Returns a clone of the encapsulation key.
Sourcepub fn secret(&self) -> BareDecapsulationKey
pub fn secret(&self) -> BareDecapsulationKey
Returns a clone of the decapsulation key.
Sourcepub fn encode(&self) -> String
pub fn encode(&self) -> String
Encodes the pair as <encapsulation>:<decapsulation>, each part base64url-nopad.
Sourcepub fn encoded_len(&self) -> usize
pub fn encoded_len(&self) -> usize
Returns the length of the encode string.
Sourcepub fn try_decode(input: &str) -> VeilidAPIResult<Self>
pub fn try_decode(input: &str) -> VeilidAPIResult<Self>
Decodes a pair from an <encapsulation>:<decapsulation> string.
Errors with VeilidAPIError::ParseError if input is not exactly two colon-separated parts,
or VeilidAPIError::Generic if either part is not valid base64url-nopad.
Sourcepub fn try_decode_bytes(b: &[u8]) -> VeilidAPIResult<Self>
pub fn try_decode_bytes(b: &[u8]) -> VeilidAPIResult<Self>
Decodes a pair from <encapsulation>:<decapsulation> bytes, requiring exactly two
colon-separated parts.
Errors with VeilidAPIError::ParseError if b is not exactly two colon-separated parts,
or VeilidAPIError::Generic if either part is not valid base64url-nopad.
Trait Implementations§
Source§impl Clone for BareKemKeyPair
impl Clone for BareKemKeyPair
Source§fn clone(&self) -> BareKemKeyPair
fn clone(&self) -> BareKemKeyPair
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BareKemKeyPair
impl Debug for BareKemKeyPair
Source§impl Default for BareKemKeyPair
impl Default for BareKemKeyPair
Source§fn default() -> BareKemKeyPair
fn default() -> BareKemKeyPair
Source§impl<'de> Deserialize<'de> for BareKemKeyPair
impl<'de> Deserialize<'de> for BareKemKeyPair
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>,
Source§impl Display for BareKemKeyPair
impl Display for BareKemKeyPair
impl Eq for BareKemKeyPair
Source§impl From<&BareKemKeyPair> for String
impl From<&BareKemKeyPair> for String
Source§fn from(value: &BareKemKeyPair) -> Self
fn from(value: &BareKemKeyPair) -> Self
Source§impl FromStr for BareKemKeyPair
impl FromStr for BareKemKeyPair
Source§fn from_str(s: &str) -> Result<Self, Self::Err>
fn from_str(s: &str) -> Result<Self, Self::Err>
Errors with VeilidAPIError::ParseError if s is not an <encapsulation>:<decapsulation>
pair, or VeilidAPIError::Generic if either part is not valid base64url-nopad.
Source§type Err = VeilidAPIError
type Err = VeilidAPIError
Source§impl GetSize for BareKemKeyPair
impl GetSize for BareKemKeyPair
Source§fn get_heap_size(&self) -> usize
fn get_heap_size(&self) -> usize
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)
tracker. Read moreSource§fn get_stack_size() -> usize
fn get_stack_size() -> usize
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,
tracker. Read moreSource§impl Hash for BareKemKeyPair
impl Hash for BareKemKeyPair
Source§impl Ord for BareKemKeyPair
impl Ord for BareKemKeyPair
Source§fn cmp(&self, other: &BareKemKeyPair) -> Ordering
fn cmp(&self, other: &BareKemKeyPair) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for BareKemKeyPair
impl PartialEq for BareKemKeyPair
Source§impl PartialOrd for BareKemKeyPair
impl PartialOrd for BareKemKeyPair
Source§impl Serialize for BareKemKeyPair
impl Serialize for BareKemKeyPair
impl StructuralPartialEq for BareKemKeyPair
Source§impl TryFrom<&str> for BareKemKeyPair
impl TryFrom<&str> for BareKemKeyPair
Auto Trait Implementations§
impl !Freeze for BareKemKeyPair
impl RefUnwindSafe for BareKemKeyPair
impl Send for BareKemKeyPair
impl Sync for BareKemKeyPair
impl Unpin for BareKemKeyPair
impl UnsafeUnpin for BareKemKeyPair
impl UnwindSafe for BareKemKeyPair
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
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)
self with other if other is smaller.Source§fn max_assign(&mut self, other: T)
fn max_assign(&mut self, other: T)
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
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>
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>
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