aws_lc_rs::kem

Struct DecapsulationKey

Source
pub struct DecapsulationKey<Id = AlgorithmId>{ /* private fields */ }
Expand description

A serializable decapulsation key usable with KEMs. This can be randomly generated with DecapsulationKey::generate.

Implementations§

Source§

impl<Id> DecapsulationKey<Id>

Source

pub fn generate(alg: &'static Algorithm<Id>) -> Result<Self, Unspecified>

Generate a new KEM decapsulation key for the given algorithm.

§Errors

error::Unspecified when operation fails due to internal error.

Source

pub fn algorithm(&self) -> &'static Algorithm<Id>

Return the algorithm associated with the given KEM decapsulation key.

Source

pub fn encapsulation_key(&self) -> Result<EncapsulationKey<Id>, Unspecified>

Computes the KEM encapsulation key from the KEM decapsulation key.

§Errors

error::Unspecified when operation fails due to internal error.

Source

pub fn decapsulate( &self, ciphertext: Ciphertext<'_>, ) -> Result<SharedSecret, Unspecified>

Performs the decapsulate operation using this KEM decapsulation key on the given ciphertext.

ciphertext is the ciphertext generated by the encapsulate operation using the KEM encapsulation key associated with this KEM decapsulation key.

§Errors

Unspecified when operation fails due to internal error.

Trait Implementations§

Source§

impl<Id> Debug for DecapsulationKey<Id>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<Id> Send for DecapsulationKey<Id>

Source§

impl<Id> Sync for DecapsulationKey<Id>

Auto Trait Implementations§

§

impl<Id> Freeze for DecapsulationKey<Id>

§

impl<Id> RefUnwindSafe for DecapsulationKey<Id>
where Id: RefUnwindSafe,

§

impl<Id> Unpin for DecapsulationKey<Id>

§

impl<Id> UnwindSafe for DecapsulationKey<Id>
where Id: RefUnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.