pub struct EncryptionKeypair { /* private fields */ }Expand description
X25519 keypair for key exchange
Implementations§
Source§impl EncryptionKeypair
impl EncryptionKeypair
Sourcepub fn generate() -> EncryptionKeypair
pub fn generate() -> EncryptionKeypair
Generate a new random keypair
Sourcepub fn from_secret_bytes(bytes: &[u8; 32]) -> EncryptionKeypair
pub fn from_secret_bytes(bytes: &[u8; 32]) -> EncryptionKeypair
Create from existing secret key bytes
Sourcepub fn public_key(&self) -> &PublicKey
pub fn public_key(&self) -> &PublicKey
Get the public key
Sourcepub fn public_key_bytes(&self) -> [u8; 32]
pub fn public_key_bytes(&self) -> [u8; 32]
Get public key bytes
Sourcepub fn dh_exchange(&self, peer_public: &PublicKey) -> SharedSecret
pub fn dh_exchange(&self, peer_public: &PublicKey) -> SharedSecret
Perform Diffie-Hellman key exchange
Trait Implementations§
Source§impl Clone for EncryptionKeypair
impl Clone for EncryptionKeypair
Source§fn clone(&self) -> EncryptionKeypair
fn clone(&self) -> EncryptionKeypair
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for EncryptionKeypair
impl RefUnwindSafe for EncryptionKeypair
impl Send for EncryptionKeypair
impl Sync for EncryptionKeypair
impl Unpin for EncryptionKeypair
impl UnsafeUnpin for EncryptionKeypair
impl UnwindSafe for EncryptionKeypair
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more