PQS: Post Quantum Shell 1.0.0.0a (A1)
A quantum safe shell application
kex.h File Reference

PQS key exchange functions. More...

#include "common.h"
#include "../PQS/pqs.h"

Go to the source code of this file.

Data Structures

struct  pqs_kex_client_state
 The PQS simplex client state structure. More...
 
struct  pqs_kex_server_state
 The PQS simplex server state structure. More...
 

Typedefs

typedef struct pqs_kex_client_state pqs_kex_client_state
 
typedef struct pqs_kex_server_state pqs_kex_server_state
 

Functions

pqs_errors pqs_kex_server_key_exchange (pqs_kex_server_state *kss, pqs_connection_state *cns)
 Run the network server version of the simplex key exchange.
 
pqs_errors pqs_kex_client_key_exchange (pqs_kex_client_state *kcs, pqs_connection_state *cns)
 Run the network client version of the simplex key exchange.
 

Detailed Description

PQS key exchange functions.

This header defines the internal functions and data structures used to perform the simplex key exchange in the Post Quantum Shell (PQS) protocol. The key exchange functions establish secure session keys between the client and server using post-quantum cryptographic primitives.

Note
These functions and structures are internal and non-exportable.

Function Documentation

◆ pqs_kex_client_key_exchange()

pqs_errors pqs_kex_client_key_exchange ( pqs_kex_client_state * kcs,
pqs_connection_state * cns )

Run the network client version of the simplex key exchange.

This internal function executes the key exchange protocol on the client side. It utilizes the client key exchange state and the current connection state to negotiate and establish a secure session with the server.

Note
This is an internal non-exportable API.
Parameters
kcsA pointer to the client key exchange state.
cnsA pointer to the connection state.
Returns
Returns a pqs_errors value indicating the outcome of the key exchange process.

DOXYGEN_IGNORE DOXYGEN_IGNORE

◆ pqs_kex_server_key_exchange()

pqs_errors pqs_kex_server_key_exchange ( pqs_kex_server_state * kss,
pqs_connection_state * cns )

Run the network server version of the simplex key exchange.

This internal function executes the key exchange protocol on the server side. It utilizes the server key exchange state and the current connection state to negotiate and establish a secure session between the server and client.

Note
This is an internal non-exportable API.
Parameters
kssA pointer to the server key exchange state.
cnsA pointer to the connection state.
Returns
Returns a pqs_errors value indicating the outcome of the key exchange process.