Struct tor_llcrypto::pk::curve25519::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 EphemeralSecrets 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
sourceimpl 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) -> EphemeralSecret where
T: RngCore + CryptoRng,
pub fn new<T>(csprng: T) -> EphemeralSecret where
T: RngCore + CryptoRng,
Generate an x25519 EphemeralSecret key.
Trait Implementations
sourceimpl Drop for EphemeralSecret
impl Drop for EphemeralSecret
sourceimpl<'a> From<&'a EphemeralSecret> for PublicKey
impl<'a> From<&'a EphemeralSecret> for PublicKey
sourcefn from(secret: &'a EphemeralSecret) -> PublicKey
fn from(secret: &'a EphemeralSecret) -> PublicKey
Given an x25519 EphemeralSecret key, compute its corresponding PublicKey.
Auto Trait Implementations
impl RefUnwindSafe for EphemeralSecret
impl Send for EphemeralSecret
impl Sync for EphemeralSecret
impl Unpin for EphemeralSecret
impl UnwindSafe for EphemeralSecret
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more