KeyExchange

Trait KeyExchange 

Source
pub trait KeyExchange {
    type Error;

    // Required method
    fn key_exchange<T: AsRef<[u8]>>(
        &self,
        public: T,
        hash: bool,
    ) -> Result<Vec<u8>, Self::Error>;
}

Required Associated Types§

Required Methods§

Source

fn key_exchange<T: AsRef<[u8]>>( &self, public: T, hash: bool, ) -> Result<Vec<u8>, Self::Error>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> KeyExchange for Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
where Uint<LIMBS>: Concat<Output = Uint<WIDE_LIMBS>> + Encoding, Uint<WIDE_LIMBS>: Split<Output = Uint<LIMBS>> + Encoding, Odd<Uint<LIMBS>>: PrecomputeInverter<Inverter = SafeGcdInverter<LIMBS, UNSAT_LIMBS>>,