DKTP: Dual Key Tunneling Protocol 1.0.0.0a (A1)
A quantum secure dual-key encrypted tunneling protocol
dktp_kex_client_state Struct Reference

Internal state for the Duplex key exchange (client-side). More...

#include <kex.h>

Data Fields

uint8_t keyid [DKTP_KEYID_SIZE]
uint8_t schash [DKTP_HASH_SIZE]
uint8_t deckey [DKTP_ASYMMETRIC_DECAPSULATION_KEY_SIZE]
uint8_t enckey [DKTP_ASYMMETRIC_ENCAPSULATION_KEY_SIZE]
uint8_t pssl [DKTP_SECRET_SIZE]
uint8_t pssr [DKTP_SECRET_SIZE]
uint8_t rverkey [DKTP_ASYMMETRIC_VERIFY_KEY_SIZE]
uint8_t sigkey [DKTP_ASYMMETRIC_SIGNING_KEY_SIZE]
uint8_t secl [DKTP_SECRET_SIZE]
uint8_t verkey [DKTP_ASYMMETRIC_VERIFY_KEY_SIZE]
uint64_t expiration

Detailed Description

Internal state for the Duplex key exchange (client-side).

This structure holds the state information required by a client participating in a Duplex key exchange. It includes:

  • keyid: A unique key identity string (of size DKTP_KEYID_SIZE) that identifies the key exchange session.
  • schash: A session token hash (of size DKTP_HASH_SIZE) used to verify session integrity.
  • deckey: The client's asymmetric cipher private key (of size DKTP_ASYMMETRIC_DECAPSULATION_KEY_SIZE).
  • enckey: The client's asymmetric cipher public key (of size DKTP_ASYMMETRIC_ENCAPSULATION_KEY_SIZE).
  • rverkey: The remote party's asymmetric signature verification key (of size DKTP_ASYMMETRIC_VERIFY_KEY_SIZE).
  • sigkey: The client's asymmetric signature signing key (of size DKTP_ASYMMETRIC_SIGNING_KEY_SIZE).
  • secl: The derived asymmetric shared secret (of size DKTP_SECRET_SIZE) computed during key exchange.
  • tskl: The local tunnel key (of size DKTP_SYMMETRIC_KEY_SIZE) stored temporarily during the key exchange.
  • tskr: The remote tunnel key (of size DKTP_SYMMETRIC_KEY_SIZE) stored temporarily during the key exchange.
  • verkey: The client's local asymmetric signature verification key (of size DKTP_ASYMMETRIC_VERIFY_KEY_SIZE).
  • expiration: A timestamp (in seconds from the epoch) indicating when the key exchange session expires.

Field Documentation

◆ deckey

The asymmetric cipher decapsulation key

◆ enckey

The asymmetric cipher encapsulation key

◆ expiration

uint64_t expiration

The expiration time, in seconds from epoch

◆ keyid

uint8_t keyid[DKTP_KEYID_SIZE]

The key identity string

◆ pssl

uint8_t pssl[DKTP_SECRET_SIZE]

The local pre-shared secret

◆ pssr

uint8_t pssr[DKTP_SECRET_SIZE]

The remote pre-shared secret

◆ rverkey

The remote asymmetric signature verification-key

◆ schash

uint8_t schash[DKTP_HASH_SIZE]

The session token hash

◆ secl

uint8_t secl[DKTP_SECRET_SIZE]

The asymmetric shared secret

◆ sigkey

The asymmetric signature signing-key

◆ verkey

The local asymmetric signature verification-key


The documentation for this struct was generated from the following file:
  • C:/Users/stepp/Documents/Visual Studio 2022/Projects/C/DKTP/DKTP/kex.h