Struct x25519_dalek::ReusableSecret [−][src]
pub struct ReusableSecret(_);
Expand description
A Diffie-Hellman secret key which may be used more than once, but is purposefully not serialiseable in order to discourage key-reuse. This is implemented to facilitate protocols such as Noise (e.g. Noise IK key usage, etc.) and X3DH which require an “ephemeral” key to conduct the Diffie-Hellman operation multiple times throughout the protocol, while the protocol run at a higher level is only conducted once per key.
Similarly to EphemeralSecret
, this type does not have serialisation
methods, in order to discourage long-term usage of secret key material. (For
long-term secret keys, see StaticSecret
.)
Warning
If you’re uncertain about whether you should use this, then you likely
should not be using this. Our strongly recommended advice is to use
EphemeralSecret
at all times, as that type enforces at compile-time that
secret keys are never reused, which can have very serious security
implications for many protocols.
Implementations
Perform a Diffie-Hellman key agreement between self
and
their_public
key to produce a SharedSecret
.
Trait Implementations
Given an x25519 ReusableSecret
key, compute its corresponding PublicKey
.
Auto Trait Implementations
impl RefUnwindSafe for ReusableSecret
impl Send for ReusableSecret
impl Sync for ReusableSecret
impl Unpin for ReusableSecret
impl UnwindSafe for ReusableSecret
Blanket Implementations
Mutably borrows from an owned value. Read more