pub struct TransportKey(/* private fields */);Expand description
Single-use transport encryption key derived from the ECDH shared secret.
Wraps a 32-byte key in Zeroizing and enforces single use via move semantics.
encrypt() takes self by value — a second call is a compile error.
Invariants (enforced by fn-128.T5’s Secret marker machinery — see
auths-crypto::secret):
- Zeroized on drop (via the inner
Zeroizing<[u8; 32]>Drop + the outerZeroizeOnDropmarker impl below). - No
Clone,Copy,Debug,Display,Serialize,Deserialize— a leakedDebugimpl would defeat the entire zeroize ceremony. - No derived
PartialEq/Eq; constant-time comparison only.
Implementations§
Trait Implementations§
impl Sealed for TransportKey
impl Secret for TransportKey
impl ZeroizeOnDrop for TransportKey
Auto Trait Implementations§
impl Freeze for TransportKey
impl RefUnwindSafe for TransportKey
impl Send for TransportKey
impl Sync for TransportKey
impl Unpin for TransportKey
impl UnsafeUnpin for TransportKey
impl UnwindSafe for TransportKey
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