SKDP: Symmetric Key Distribution Protocol 1.1.0.0 (A1)
Encrypted tunneling protocol using pre-shared keys
skdp_client_state Struct Reference

The SKDP client state structure. More...

#include <skdpclient.h>

Data Fields

qsc_rcs_state rxcpr
 
qsc_rcs_state txcpr
 
uint8_t ddk [SKDP_DDK_SIZE]
 
uint8_t dsh [SKDP_STH_SIZE]
 
uint8_t kid [SKDP_KID_SIZE]
 
uint8_t ssh [SKDP_STH_SIZE]
 
uint64_t expiration
 
uint64_t rxseq
 
uint64_t txseq
 
skdp_flags exflag
 

Detailed Description

The SKDP client state structure.

This structure holds the state information for an SKDP client during a key exchange and ongoing communication session. It contains:

  • rxcpr: The receive channel cipher state.
  • txcpr: The transmit channel cipher state.
  • ddk: The device derivation key.
  • dsh: The device session hash, computed from the device identity, configuration, and a random token.
  • kid: The device identity string.
  • ssh: The server session hash received during the key exchange.
  • expiration: The expiration time for the current session (in seconds from epoch).
  • rxseq: The receive channel packet sequence number.
  • txseq: The transmit channel packet sequence number.
  • exflag: A flag indicating the progress/status of the key exchange.

Field Documentation

◆ ddk

uint8_t ddk[SKDP_DDK_SIZE]

The device derivation key

◆ dsh

uint8_t dsh[SKDP_STH_SIZE]

The device session hash

◆ exflag

skdp_flags exflag

The key exchange (kex) position flag

◆ expiration

uint64_t expiration

The expiration time, in seconds from epoch

◆ kid

uint8_t kid[SKDP_KID_SIZE]

The device identity string

◆ rxcpr

qsc_rcs_state rxcpr

The receive channel cipher state

◆ rxseq

uint64_t rxseq

The receive channel packet sequence number

◆ ssh

uint8_t ssh[SKDP_STH_SIZE]

The server session hash

◆ txcpr

qsc_rcs_state txcpr

The transmit channel cipher state

◆ txseq

uint64_t txseq

The transmit channel packet sequence number


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