Trait snow::types::Dh

source ·
pub trait Dh: Send + Sync {
    // Required methods
    fn name(&self) -> &'static str;
    fn pub_len(&self) -> usize;
    fn priv_len(&self) -> usize;
    fn set(&mut self, privkey: &[u8]);
    fn generate(&mut self, rng: &mut dyn Random);
    fn pubkey(&self) -> &[u8] ;
    fn privkey(&self) -> &[u8] ;
    fn dh(&self, pubkey: &[u8], out: &mut [u8]) -> Result<(), Error>;
}
Expand description

Diffie-Hellman operations

Required Methods§

source

fn name(&self) -> &'static str

The string that the Noise spec defines for the primitive

source

fn pub_len(&self) -> usize

The length in bytes of a public key for this primitive

source

fn priv_len(&self) -> usize

The length in bytes of a private key for this primitive

source

fn set(&mut self, privkey: &[u8])

Set the private key

source

fn generate(&mut self, rng: &mut dyn Random)

Generate a new private key

source

fn pubkey(&self) -> &[u8]

Get the public key

source

fn privkey(&self) -> &[u8]

Get the private key

source

fn dh(&self, pubkey: &[u8], out: &mut [u8]) -> Result<(), Error>

Calculate a Diffie-Hellman exchange.

Implementors§