pub struct KeyExchange { /* private fields */ }Expand description
X25519 key exchange for forward secrecy
Implementations§
Source§impl KeyExchange
impl KeyExchange
Sourcepub fn public_key(&self) -> &PublicKey
pub fn public_key(&self) -> &PublicKey
Get public key for exchange
Sourcepub fn public_key_bytes(&self) -> [u8; 32]
pub fn public_key_bytes(&self) -> [u8; 32]
Get public key as bytes
Sourcepub fn exchange(self, peer_public: &PublicKey) -> Result<EncryptionKey>
pub fn exchange(self, peer_public: &PublicKey) -> Result<EncryptionKey>
Perform key exchange and derive encryption key
Sourcepub fn exchange_bytes(
self,
peer_public_bytes: &[u8; 32],
) -> Result<EncryptionKey>
pub fn exchange_bytes( self, peer_public_bytes: &[u8; 32], ) -> Result<EncryptionKey>
Exchange with peer public key bytes
Trait Implementations§
Auto Trait Implementations§
impl Freeze for KeyExchange
impl RefUnwindSafe for KeyExchange
impl Send for KeyExchange
impl Sync for KeyExchange
impl Unpin for KeyExchange
impl UnsafeUnpin for KeyExchange
impl UnwindSafe for KeyExchange
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