vodozemac::ecies

Struct EstablishedEcies

Source
pub struct EstablishedEcies { /* private fields */ }
Expand description

An established ECIES session.

This session can be used to encrypt and decrypt messages between the two sides of the channel.

Implementations§

Source§

impl EstablishedEcies

Source

pub const fn public_key(&self) -> Curve25519PublicKey

Get our Curve25519PublicKey.

This public key needs to be sent to the other side so that it can complete the ECIES channel establishment.

Source

pub const fn check_code(&self) -> &CheckCode

Get the CheckCode which uniquely identifies this EstablishedEcies session.

This check code can be used to check that both sides of the session are indeed using the same shared secret.

Source

pub fn encrypt(&mut self, plaintext: &[u8]) -> Message

Encrypt the given plaintext using this EstablishedEcies session.

Source

pub fn decrypt(&mut self, message: &Message) -> Result<Vec<u8>, Error>

Decrypt the given message using this EstablishedEcies session.

Trait Implementations§

Source§

impl Debug for EstablishedEcies

Source§

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

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

impl Drop for EstablishedEcies

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Zeroize for EstablishedEcies

Source§

fn zeroize(&mut self)

Zero out this object from memory using Rust intrinsics which ensure the zeroization operation is not “optimized away” by the compiler.

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> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V