Struct ssh_packet::cryptography::EcdhExchange
source · pub struct EcdhExchange<'e> {
pub v_c: &'e Bytes,
pub v_s: &'e Bytes,
pub i_c: &'e Bytes,
pub i_s: &'e Bytes,
pub k_s: &'e Bytes,
pub q_c: &'e Bytes,
pub q_s: &'e Bytes,
pub k: &'e MpInt,
}
Expand description
The exchange hash for ECDH, computed as the hash of the concatenation of the following.
see https://datatracker.ietf.org/doc/html/rfc5656#section-4.
Fields§
§v_c: &'e Bytes
Client’s identification string (\r
and \n
excluded).
v_s: &'e Bytes
Server’s identification string (\r
and \n
excluded).
i_c: &'e Bytes
Payload of the client’s SSH_MSG_KEXINIT
message.
i_s: &'e Bytes
Payload of the server’s SSH_MSG_KEXINIT
message.
k_s: &'e Bytes
Server’s public host key.
q_c: &'e Bytes
Client’s ephemeral public key octet string.
q_s: &'e Bytes
Server’s ephemeral public key octet string.
k: &'e MpInt
Computed shared secret.
Implementations§
Trait Implementations§
source§impl<'e> BinWrite for EcdhExchange<'e>
impl<'e> BinWrite for EcdhExchange<'e>
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>
fn write<W>(&self, writer: &mut W) -> Result<(), Error>
Write
Self
to the writer using default arguments. Read moresource§fn write_be<W>(&self, writer: &mut W) -> Result<(), Error>
fn write_be<W>(&self, writer: &mut W) -> Result<(), Error>
Write
Self
to the writer assuming big-endian byte order. Read moresource§fn write_le<W>(&self, writer: &mut W) -> Result<(), Error>
fn write_le<W>(&self, writer: &mut W) -> Result<(), Error>
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>
fn write_args<W>( &self, writer: &mut W, args: Self::Args<'_>, ) -> Result<(), Error>
Write
Self
to the writer using the given arguments. Read moresource§impl<'e> Clone for EcdhExchange<'e>
impl<'e> Clone for EcdhExchange<'e>
source§fn clone(&self) -> EcdhExchange<'e>
fn clone(&self) -> EcdhExchange<'e>
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<'e> Debug for EcdhExchange<'e>
impl<'e> Debug for EcdhExchange<'e>
source§impl<'e> WriteEndian for EcdhExchange<'e>
impl<'e> WriteEndian for EcdhExchange<'e>
source§const ENDIAN: EndianKind = _
const ENDIAN: EndianKind = _
The endianness of the type.
Auto Trait Implementations§
impl<'e> Freeze for EcdhExchange<'e>
impl<'e> RefUnwindSafe for EcdhExchange<'e>
impl<'e> Send for EcdhExchange<'e>
impl<'e> Sync for EcdhExchange<'e>
impl<'e> Unpin for EcdhExchange<'e>
impl<'e> UnwindSafe for EcdhExchange<'e>
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)