HKDS: Heirarchal Key Derivation System 1.0.0.2 (A2)
A fast post-quantum secure replacement for DUKPT
hkds_client_state Struct Reference

Contains the HKDS client state. More...

#include <hkds_client.h>

Data Fields

uint8_t edk [HKDS_EDK_SIZE]
 
uint8_t ksn [HKDS_KSN_SIZE]
 
uint8_t tkc [HKDS_CACHE_SIZE][HKDS_MESSAGE_SIZE]
 
bool cache_empty
 

Detailed Description

Contains the HKDS client state.

This structure holds all state information required by the HKDS client. It includes:

  • edk: The Embedded Device Key used for cryptographic operations (size defined by HKDS_EDK_SIZE).
  • ksn: The Key Serial Number containing the device identity and transaction counter (size defined by HKDS_KSN_SIZE).
  • tkc: The Transaction Key Cache, an array of keys (each of size HKDS_MESSAGE_SIZE) used for message encryption and authentication. The total number of keys is defined by HKDS_CACHE_SIZE.
  • cache_empty: A boolean flag indicating whether the key cache has been exhausted.

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