KeyExchange

Trait KeyExchange 

Source
pub trait KeyExchange<Rhs: ?Sized = Self> {
    // Required method
    fn write_key_exchange(
        &self,
        other: &Rhs,
        out: &mut dyn WriteBuffer,
    ) -> Result<(), Error>;

    // Provided method
    fn key_exchange_bytes(&self, other: &Rhs) -> Result<SecretBytes, Error> { ... }
}
Expand description

Trait for keys supporting Diffie-Helman key exchange

Required Methods§

Source

fn write_key_exchange( &self, other: &Rhs, out: &mut dyn WriteBuffer, ) -> Result<(), Error>

Perform a key exchange, writing the result to the provided buffer.

Provided Methods§

Source

fn key_exchange_bytes(&self, other: &Rhs) -> Result<SecretBytes, Error>

Available on crate feature alloc only.

Perform a key exchange and return a new allocated buffer.

Implementors§

Source§

impl KeyExchange for K256KeyPair

Available on crate feature k256 only.
Source§

impl KeyExchange for P256KeyPair

Available on crate features p256 or p256_hardware only.
Source§

impl KeyExchange for P384KeyPair

Available on crate feature p384 only.
Source§

impl KeyExchange for X25519KeyPair

Available on crate feature ed25519 only.
Source§

impl KeyExchange for AnyKey

Available on crate feature any_key only.