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