Struct diem_sdk::crypto::x25519::x25519_dalek::EphemeralSecret
source · pub struct EphemeralSecret(_);
Expand description
A short-lived Diffie-Hellman secret key that can only be used to compute a single
SharedSecret
.
This type is identical to the StaticSecret
type, except that the
EphemeralSecret::diffie_hellman
method consumes and then wipes the secret key, and there
are no serialization methods defined. This means that EphemeralSecret
s can only be
generated from fresh randomness by EphemeralSecret::new
and the compiler statically checks
that the resulting secret is used at most once.
Implementations§
source§impl EphemeralSecret
impl EphemeralSecret
sourcepub fn diffie_hellman(self, their_public: &PublicKey) -> SharedSecret
pub fn diffie_hellman(self, their_public: &PublicKey) -> SharedSecret
Perform a Diffie-Hellman key agreement between self
and
their_public
key to produce a SharedSecret
.
sourcepub fn new<T>(csprng: T) -> EphemeralSecretwhere
T: RngCore + CryptoRng,
pub fn new<T>(csprng: T) -> EphemeralSecretwhere T: RngCore + CryptoRng,
Generate an x25519 EphemeralSecret
key.
Trait Implementations§
source§impl Drop for EphemeralSecret
impl Drop for EphemeralSecret
source§impl<'a> From<&'a EphemeralSecret> for PublicKey
impl<'a> From<&'a EphemeralSecret> for PublicKey
source§fn from(secret: &'a EphemeralSecret) -> PublicKey
fn from(secret: &'a EphemeralSecret) -> PublicKey
Given an x25519 EphemeralSecret
key, compute its corresponding PublicKey
.