SATP: Symmetric Authenticated Tunneling Protocol 1.0.0.0a (A1)
A quantum secure symmetric pre-shared key tunneling protocol
kex.h
1#ifndef SATP_KEX_H
2#define SATP_KEX_H
3
4#include "satp.h"
5
13SATP_EXPORT_API typedef struct satp_kex_client_state
14{
15 QSC_SIMD_ALIGN uint8_t dk[SATP_DKEY_SIZE];
16 QSC_SIMD_ALIGN uint8_t kid[SATP_KID_SIZE];
17 QSC_SIMD_ALIGN uint8_t hc[SATP_HASH_SIZE];
18 QSC_SIMD_ALIGN uint8_t hp[SATP_HASH_SIZE];
19 QSC_SIMD_ALIGN uint8_t stc[SATP_SALT_SIZE];
20 uint64_t expiration;
21 uint32_t kidx;
23
34SATP_EXPORT_API typedef struct satp_kex_server_state
35{
36 QSC_SIMD_ALIGN uint8_t hc[SATP_HASH_SIZE];
37 QSC_SIMD_ALIGN uint8_t sdk[SATP_SKEY_SIZE];
38 QSC_SIMD_ALIGN uint8_t sid[SATP_SID_SIZE];
39 QSC_SIMD_ALIGN uint8_t sp[SATP_HASH_SIZE];
40 QSC_SIMD_ALIGN uint8_t stc[SATP_SALT_SIZE];
41 uint64_t expiration;
43
59satp_errors satp_kex_client_key_exchange(satp_kex_client_state* kcs, satp_connection_state* cns);
60
76satp_errors satp_kex_server_key_exchange(satp_kex_server_state* kss, satp_connection_state* cns);
77
78#endif
SATP support header Common defined parameters and functions of the SATP client and server implementat...
#define SATP_SID_SIZE
The server ID size in bytes.
Definition satp.h:355
#define SATP_DKEY_SIZE
The client key size in bytes.
Definition satp.h:369
#define SATP_HASH_SIZE
The SATP hash size in bytes.
Definition satp.h:163
#define SATP_KID_SIZE
The key ID size in bytes.
Definition satp.h:361
#define SATP_SKEY_SIZE
The server key size in bytes.
Definition satp.h:381
#define SATP_SALT_SIZE
The SATP salt size in bytes.
Definition satp.h:236
satp_errors
The SATP error values. This enumeration defines the error codes returned by SATP functions.
Definition satp.h:452
The SATP socket connection state structure.
Definition satp.h:511
The SATP client state structure.
Definition kex.h:14
QSC_SIMD_ALIGN uint8_t dk[SATP_DKEY_SIZE]
Definition kex.h:15
QSC_SIMD_ALIGN uint8_t hp[SATP_HASH_SIZE]
Definition kex.h:18
QSC_SIMD_ALIGN uint8_t kid[SATP_KID_SIZE]
Definition kex.h:16
uint64_t expiration
Definition kex.h:20
QSC_SIMD_ALIGN uint8_t hc[SATP_HASH_SIZE]
Definition kex.h:17
uint32_t kidx
Definition kex.h:21
QSC_SIMD_ALIGN uint8_t stc[SATP_SALT_SIZE]
Definition kex.h:19
The SATP server state structure.
Definition kex.h:35
uint64_t expiration
Definition kex.h:41
QSC_SIMD_ALIGN uint8_t sid[SATP_SID_SIZE]
Definition kex.h:38
QSC_SIMD_ALIGN uint8_t sp[SATP_HASH_SIZE]
Definition kex.h:39
QSC_SIMD_ALIGN uint8_t sdk[SATP_SKEY_SIZE]
Definition kex.h:37
QSC_SIMD_ALIGN uint8_t hc[SATP_HASH_SIZE]
Definition kex.h:36
QSC_SIMD_ALIGN uint8_t stc[SATP_SALT_SIZE]
Definition kex.h:40