[][src]Struct ring::agreement::EphemeralPrivateKey

pub struct EphemeralPrivateKey { /* fields omitted */ }

An ephemeral private key for use (only) with agree_ephemeral. The signature of agree_ephemeral ensures that an EphemeralPrivateKey can be used for at most one key agreement.

Methods

impl<'a> EphemeralPrivateKey[src]

pub fn generate(
    alg: &'static Algorithm,
    rng: &dyn SecureRandom
) -> Result<EphemeralPrivateKey, Unspecified>
[src]

Generate a new ephemeral private key for the given algorithm.

C analog: EC_KEY_new_by_curve_name + EC_KEY_generate_key.

pub fn algorithm(&self) -> &'static Algorithm[src]

The key exchange algorithm.

pub fn public_key_len(&self) -> usize[src]

The size in bytes of the encoded public key.

pub fn compute_public_key(&self, out: &mut [u8]) -> Result<(), Unspecified>[src]

Computes the public key from the private key's value and fills out with the public point encoded in the standard form for the algorithm.

out.len() must be equal to the value returned by public_key_len.

Auto Trait Implementations

Blanket Implementations

impl<T> From for T[src]

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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