84HKDS_EXPORT_API
typedef struct
HKDS_EXPORT_API void hkds_client_generate_cache(hkds_client_state *state, const uint8_t *token)
Generate the transaction key cache (TKC) for the client.
Definition hkds_client.c:163
HKDS_EXPORT_API bool hkds_client_decrypt_token(hkds_client_state *state, const uint8_t *etok, uint8_t *token)
Decrypt an encrypted token key received from the server.
Definition hkds_client.c:30
HKDS_EXPORT_API bool hkds_client_encrypt_message(hkds_client_state *state, const uint8_t *plaintext, uint8_t *ciphertext)
Encrypt a message to be sent to the server.
Definition hkds_client.c:94
HKDS_EXPORT_API void hkds_client_initialize_state(hkds_client_state *state, const uint8_t *edk, const uint8_t *did)
Initialize the HKDS client state.
Definition hkds_client.c:190
HKDS_EXPORT_API bool hkds_client_encrypt_authenticate_message(hkds_client_state *state, const uint8_t *plaintext, const uint8_t *data, size_t datalen, uint8_t *ciphertext)
Encrypt a message and append an authentication tag.
Definition hkds_client.c:117
HKDS configuration definitions.
#define HKDS_MESSAGE_SIZE
The encrypted message size in bytes.
Definition hkds_config.h:302
#define HKDS_EDK_SIZE
The Embedded Device Key size for SHAKE-256 in bytes.
Definition hkds_config.h:391
#define HKDS_CACHE_SIZE
The size of the transaction key cache.
Definition hkds_config.h:484
#define HKDS_KSN_SIZE
The Key Serial Number (KSN) size in bytes.
Definition hkds_config.h:296
Contains the HKDS client state.
Definition hkds_client.h:85