[−][src]Struct tox_packet::dht::CryptoHandshakePayload
Unencrypted payload of CryptoHandshake
packet.
Serialized form:
Length | Content |
---|---|
24 | Nonce |
32 | Session PublicKey |
64 | SHA512 hash of the cookie |
24 | Nonce for the cookie |
88 | Cookie |
Fields
base_nonce: Nonce
Nonce that should be used to encrypt each data packet, adding 1 to it for each data packet sent.
session_pk: PublicKey
Temporary session key used to encrypt data packets to achieve perfect forward secrecy.
SHA512 hash of the encrypted cookie from CryptoHandshake
packet. It's
used to make sure that possible attacker can't combine payload from old
CryptoHandshake
with new Cookie
and try to do mess sending such
packets.
Encrypted cookie of sender of CryptoHandshake
packet. When node
receives CryptoHandshake
it can take this cookie instead of sending
CookieRequest
to obtain one.
Trait Implementations
impl Clone for CryptoHandshakePayload
[src]
pub fn clone(&self) -> CryptoHandshakePayload
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for CryptoHandshakePayload
[src]
impl Eq for CryptoHandshakePayload
[src]
impl FromBytes for CryptoHandshakePayload
[src]
impl PartialEq<CryptoHandshakePayload> for CryptoHandshakePayload
[src]
pub fn eq(&self, other: &CryptoHandshakePayload) -> bool
[src]
pub fn ne(&self, other: &CryptoHandshakePayload) -> bool
[src]
impl StructuralEq for CryptoHandshakePayload
[src]
impl StructuralPartialEq for CryptoHandshakePayload
[src]
impl ToBytes for CryptoHandshakePayload
[src]
Auto Trait Implementations
impl RefUnwindSafe for CryptoHandshakePayload
[src]
impl Send for CryptoHandshakePayload
[src]
impl Sync for CryptoHandshakePayload
[src]
impl Unpin for CryptoHandshakePayload
[src]
impl UnwindSafe for CryptoHandshakePayload
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,