Struct x25519_dalek::EphemeralSecret
source · pub struct EphemeralSecret(/* private fields */);
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 where 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: RngCore + CryptoRng>(csprng: T) -> Self
👎Deprecated since 2.0.0: Renamed to random_from_rng
. This will be removed in 2.1.0
pub fn new<T: RngCore + CryptoRng>(csprng: T) -> Self
random_from_rng
. This will be removed in 2.1.0Generate a new EphemeralSecret
with the supplied RNG.
sourcepub fn random_from_rng<T: RngCore + CryptoRng>(csprng: T) -> Self
pub fn random_from_rng<T: RngCore + CryptoRng>(csprng: T) -> Self
Generate a new EphemeralSecret
with the supplied RNG.
sourcepub fn random() -> Self
Available on crate feature getrandom
only.
pub fn random() -> Self
getrandom
only.Generate a new EphemeralSecret
.
Trait Implementations§
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
.