pub struct RopePacket {
pub step: RopeStep,
pub inner: KkPacket,
}Expand description
An encrypted message with forward secrecy.
Contains the ratchet step metadata (so the receiver can derive the
same message key) and the inner KkPacket (the actual encrypted
payload, which carries its own entropy snapshot and integrity
commitment).
Double entropy: the ratchet step uses one EntropySnapshot for
key derivation, and the inner KkPacket captures its own independent
snapshot for per-symbol encryption. Two unrepeatable moments per message.
§Wire Format
[8-byte counter][48-byte ratchet snapshot][inner KkPacket bytes...]Fields§
§step: RopeStepRatchet step metadata (counter + entropy snapshot).
inner: KkPacketThe inner encrypted packet, keyed by the ratchet’s message key.
Implementations§
Trait Implementations§
Source§impl Clone for RopePacket
impl Clone for RopePacket
Source§fn clone(&self) -> RopePacket
fn clone(&self) -> RopePacket
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 RopePacket
impl RefUnwindSafe for RopePacket
impl Send for RopePacket
impl Sync for RopePacket
impl Unpin for RopePacket
impl UnsafeUnpin for RopePacket
impl UnwindSafe for RopePacket
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> 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