pub struct Ecdh<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize>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>>,{ /* private fields */ }
Implementations§
Source§impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
pub fn new( curve: EllipticCurve<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>, ) -> Result<Self, EcdhError>
pub fn new_with_secret<S: AsRef<[u8]>>( curve: EllipticCurve<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>, secret: S, ) -> Result<Self, EcdhError>
pub fn pack_public(&self, compress: bool) -> Vec<u8> ⓘ
pub fn pack_secret(&self) -> Result<Vec<u8>, EcdhError>
Trait Implementations§
Source§impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> Clone for Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> Clone for Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
Source§impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> Debug for Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> Debug for Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
Auto Trait Implementations§
impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> Freeze for Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> RefUnwindSafe for Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> Send for Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> Sync for Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> Unpin for Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
impl<const LIMBS: usize, const WIDE_LIMBS: usize, const UNSAT_LIMBS: usize> UnwindSafe for Ecdh<LIMBS, WIDE_LIMBS, UNSAT_LIMBS>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more