[][src]Struct hpke::kex::X25519

pub struct X25519 {}

Dummy type which implements the KeyExchange trait

Trait Implementations

impl KeyExchange for X25519[src]

type PublicKey = PublicKey

type PrivateKey = PrivateKey

type KexResult = KexResult

fn gen_keypair<R: CryptoRng + RngCore>(
    csprng: &mut R
) -> (PrivateKey, PublicKey)
[src]

Generates an X25519 keypair

fn sk_to_pk(sk: &PrivateKey) -> PublicKey[src]

Converts an X25519 private key to a public key

fn kex(sk: &PrivateKey, pk: &PublicKey) -> Result<KexResult, HpkeError>[src]

Does the DH operation. Returns HpkeError::InvalidKeyExchange if and only if the DH result was all zeros. This is required by the HPKE spec.

Auto Trait Implementations

impl RefUnwindSafe for X25519

impl Send for X25519

impl Sync for X25519

impl Unpin for X25519

impl UnwindSafe for X25519

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,