Struct ssh_packet::kex::EcdhExchange
source · pub struct EcdhExchange {
pub v_c: Bytes,
pub v_s: Bytes,
pub i_c: Bytes,
pub i_s: Bytes,
pub k_s: Bytes,
pub q_c: Bytes,
pub q_s: Bytes,
pub k: MpInt,
}
Expand description
The exchange hash for ECDH kex
, computed as the
hash of the concatenation of the following.
see https://datatracker.ietf.org/doc/html/rfc5656#section-4.
Fields§
§v_c: Bytes
Client’s identification string (\r
and \n
excluded).
v_s: Bytes
Server’s identification string (\r
and \n
excluded).
i_c: Bytes
Payload of the client’s SSH_MSG_KEXINIT
message.
i_s: Bytes
Payload of the server’s SSH_MSG_KEXINIT
message.
k_s: Bytes
Server’s public host key.
q_c: Bytes
Client’s ephemeral public key octet string.
q_s: Bytes
Server’s ephemeral public key octet string.
k: MpInt
Computed shared secret.
Trait Implementations§
source§impl BinRead for EcdhExchange
impl BinRead for EcdhExchange
source§fn read_options<R: Read + Seek>(
__binrw_generated_var_reader: &mut R,
__binrw_generated_var_endian: Endian,
__binrw_generated_var_arguments: Self::Args<'_>
) -> BinResult<Self>
fn read_options<R: Read + Seek>( __binrw_generated_var_reader: &mut R, __binrw_generated_var_endian: Endian, __binrw_generated_var_arguments: Self::Args<'_> ) -> BinResult<Self>
source§fn read<R>(reader: &mut R) -> Result<Self, Error>where
R: Read + Seek,
Self: ReadEndian,
Self::Args<'a>: for<'a> Required,
fn read<R>(reader: &mut R) -> Result<Self, Error>where R: Read + Seek, Self: ReadEndian, Self::Args<'a>: for<'a> Required,
Read
Self
from the reader using default arguments. Read moresource§fn read_be<R>(reader: &mut R) -> Result<Self, Error>where
R: Read + Seek,
Self::Args<'a>: for<'a> Required,
fn read_be<R>(reader: &mut R) -> Result<Self, Error>where R: Read + Seek, Self::Args<'a>: for<'a> Required,
Read
Self
from the reader using default arguments and assuming
big-endian byte order. Read moresource§fn read_le<R>(reader: &mut R) -> Result<Self, Error>where
R: Read + Seek,
Self::Args<'a>: for<'a> Required,
fn read_le<R>(reader: &mut R) -> Result<Self, Error>where R: Read + Seek, Self::Args<'a>: for<'a> Required,
Read
Self
from the reader using default arguments and assuming
little-endian byte order. Read moresource§fn read_ne<R>(reader: &mut R) -> Result<Self, Error>where
R: Read + Seek,
Self::Args<'a>: for<'a> Required,
fn read_ne<R>(reader: &mut R) -> Result<Self, Error>where R: Read + Seek, Self::Args<'a>: for<'a> Required,
Read
T
from the reader assuming native-endian byte order. Read moresource§fn read_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>where
R: Read + Seek,
Self: ReadEndian,
fn read_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>where R: Read + Seek, Self: ReadEndian,
Read
Self
from the reader using the given arguments. Read moresource§fn read_be_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>where
R: Read + Seek,
fn read_be_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>where R: Read + Seek,
Read
Self
from the reader, assuming big-endian byte order, using the
given arguments. Read moresource§impl BinWrite for EcdhExchange
impl BinWrite for EcdhExchange
source§fn write_options<W: Write + Seek>(
&self,
__binrw_generated_var_writer: &mut W,
__binrw_generated_var_endian: Endian,
__binrw_generated_var_arguments: Self::Args<'_>
) -> BinResult<()>
fn write_options<W: Write + Seek>( &self, __binrw_generated_var_writer: &mut W, __binrw_generated_var_endian: Endian, __binrw_generated_var_arguments: Self::Args<'_> ) -> BinResult<()>
source§fn write<W>(&self, writer: &mut W) -> Result<(), Error>where
W: Write + Seek,
Self: WriteEndian,
Self::Args<'a>: for<'a> Required,
fn write<W>(&self, writer: &mut W) -> Result<(), Error>where W: Write + Seek, Self: WriteEndian, Self::Args<'a>: for<'a> Required,
Write
Self
to the writer using default arguments. Read moresource§fn write_be<W>(&self, writer: &mut W) -> Result<(), Error>where
W: Write + Seek,
Self::Args<'a>: for<'a> Required,
fn write_be<W>(&self, writer: &mut W) -> Result<(), Error>where W: Write + Seek, Self::Args<'a>: for<'a> Required,
Write
Self
to the writer assuming big-endian byte order. Read moresource§fn write_le<W>(&self, writer: &mut W) -> Result<(), Error>where
W: Write + Seek,
Self::Args<'a>: for<'a> Required,
fn write_le<W>(&self, writer: &mut W) -> Result<(), Error>where W: Write + Seek, Self::Args<'a>: for<'a> Required,
Write
Self
to the writer assuming little-endian byte order. Read moresource§fn write_args<W>(
&self,
writer: &mut W,
args: Self::Args<'_>
) -> Result<(), Error>where
W: Write + Seek,
Self: WriteEndian,
fn write_args<W>( &self, writer: &mut W, args: Self::Args<'_> ) -> Result<(), Error>where W: Write + Seek, Self: WriteEndian,
Write
Self
to the writer using the given arguments. Read moresource§impl Clone for EcdhExchange
impl Clone for EcdhExchange
source§fn clone(&self) -> EcdhExchange
fn clone(&self) -> EcdhExchange
Returns a copy 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 moresource§impl Debug for EcdhExchange
impl Debug for EcdhExchange
source§impl ReadEndian for EcdhExchange
impl ReadEndian for EcdhExchange
source§const ENDIAN: EndianKind = _
const ENDIAN: EndianKind = _
The endianness of the type.
source§impl WriteEndian for EcdhExchange
impl WriteEndian for EcdhExchange
source§const ENDIAN: EndianKind = _
const ENDIAN: EndianKind = _
The endianness of the type.
Auto Trait Implementations§
impl RefUnwindSafe for EcdhExchange
impl Send for EcdhExchange
impl Sync for EcdhExchange
impl Unpin for EcdhExchange
impl UnwindSafe for EcdhExchange
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