|
QSMP: Quantum Secure Messaging Protocol 1.3.0.0a (A3)
A quantum secure encrypted tunneling protocol
|
Internal state for the Duplex key exchange (server-side). More...
#include <kex.h>
Data Fields | |
| uint8_t | keyid [QSMP_KEYID_SIZE] |
| uint8_t | schash [QSMP_DUPLEX_SCHASH_SIZE] |
| uint8_t | prikey [QSMP_ASYMMETRIC_PRIVATE_KEY_SIZE] |
| uint8_t | pubkey [QSMP_ASYMMETRIC_PUBLIC_KEY_SIZE] |
| uint8_t | rverkey [QSMP_ASYMMETRIC_VERIFY_KEY_SIZE] |
| uint8_t | sigkey [QSMP_ASYMMETRIC_SIGNING_KEY_SIZE] |
| uint8_t | verkey [QSMP_ASYMMETRIC_VERIFY_KEY_SIZE] |
| uint64_t | expiration |
| bool(* | key_query )(uint8_t *, const uint8_t *) |
Internal state for the Duplex key exchange (server-side).
This structure holds the state information required by a server participating in a Duplex key exchange. It contains cryptographic parameters including key identities, session hashes, asymmetric keys, and an expiration timestamp. In addition, it includes a callback function (key_query) that is used to retrieve the appropriate public key during the key exchange process.
| uint64_t expiration |
The expiration time, in seconds from epoch
| bool(* key_query) (uint8_t *, const uint8_t *) |
The key query callback
| uint8_t keyid[QSMP_KEYID_SIZE] |
The key identity string
| uint8_t prikey[QSMP_ASYMMETRIC_PRIVATE_KEY_SIZE] |
The asymmetric cipher private key
| uint8_t pubkey[QSMP_ASYMMETRIC_PUBLIC_KEY_SIZE] |
The asymmetric cipher public key
| uint8_t rverkey[QSMP_ASYMMETRIC_VERIFY_KEY_SIZE] |
The remote asymmetric signature verification-key
| uint8_t schash[QSMP_DUPLEX_SCHASH_SIZE] |
The session token hash
| uint8_t sigkey[QSMP_ASYMMETRIC_SIGNING_KEY_SIZE] |
The asymmetric signature signing-key
| uint8_t verkey[QSMP_ASYMMETRIC_VERIFY_KEY_SIZE] |
The local asymmetric signature verification-key