ProtoCore v1.0.16
Deterministic, zero-heap network stack for embedded targets
Loading...
Searching...
No Matches
SshKdfInputs Struct Reference

One key exchange's derivation inputs, passed by reference. More...

#include <transport.h>

Public Attributes

uint8_t * work
 PROTOCORE_SSH_KDF_BORROW bytes: the hash context, then the K1 || K2 chain.
 
const uint8_t * K_be
 Shared secret K, big-endian, 256 bytes.
 
const uint8_t * H
 Current exchange hash.
 
const uint8_t * session_id
 H of the first KEX; equals H until the first re-key.
 
size_t h_len
 Length of H.
 
size_t sid_len
 Length of session_id.
 
proto_bool k_is_string
 Encode K as a plain SSH string (hybrid KEX), not an mpint.
 
proto_bool is512
 Hash with SHA-512 instead of SHA-256.
 

Detailed Description

One key exchange's derivation inputs, passed by reference.

Every value here is fixed for the whole of a KEX and read by each of the six derivations, so it travels as one pointer: an argument list this wide spills past the register window and pays for it on every call, at the deepest call depth in the library.

Definition at line 353 of file transport.h.

Member Data Documentation

◆ work

uint8_t* SshKdfInputs::work

PROTOCORE_SSH_KDF_BORROW bytes: the hash context, then the K1 || K2 chain.

Definition at line 355 of file transport.h.

◆ K_be

const uint8_t* SshKdfInputs::K_be

Shared secret K, big-endian, 256 bytes.

Definition at line 356 of file transport.h.

◆ H

const uint8_t* SshKdfInputs::H

Current exchange hash.

Definition at line 357 of file transport.h.

◆ session_id

const uint8_t* SshKdfInputs::session_id

H of the first KEX; equals H until the first re-key.

Definition at line 358 of file transport.h.

◆ h_len

size_t SshKdfInputs::h_len

Length of H.

Definition at line 359 of file transport.h.

◆ sid_len

size_t SshKdfInputs::sid_len

Length of session_id.

Definition at line 360 of file transport.h.

◆ k_is_string

proto_bool SshKdfInputs::k_is_string

Encode K as a plain SSH string (hybrid KEX), not an mpint.

Definition at line 361 of file transport.h.

◆ is512

proto_bool SshKdfInputs::is512

Hash with SHA-512 instead of SHA-256.

Definition at line 362 of file transport.h.


The documentation for this struct was generated from the following file: