Skip to main content

SenderContext

Struct SenderContext 

Source
pub struct SenderContext(/* private fields */);
Expand description

HPKE sender context. Callers may use seal() to encrypt messages for the recipient.

Implementations§

Source§

impl SenderContext

Source

pub fn new( params: &Params, recipient_pub_key: &[u8], info: &[u8], ) -> Option<(Self, Vec<u8>)>

Performs the SetupBaseS HPKE operation and returns a sender context plus an encapsulated shared secret for recipient_pub_key.

Returns None if recipient_pub_key is invalid.

On success, callers may use seal() to encrypt messages for the recipient.

Source

pub fn seal(&mut self, plaintext: &[u8], aad: &[u8]) -> Vec<u8>

Seal encrypts plaintext, and authenticates aad, returning the resulting ciphertext.

Note that HPKE encryption is stateful and ordered. The sender’s first call to seal() must correspond to the recipient’s first call to open(), etc.

This function panics if adding the plaintext length and bssl_sys::EVP_HPKE_CTX_max_overhead overflows.

Source

pub fn export(&mut self, context: &[u8], out_len: usize) -> Vec<u8>

Exports a secret of length out_len from the HPKE context using context as the context string.

Auto Trait Implementations§

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.