PQLR  dev-1426-v1.4-474-b578073a
Postquantum Crypto Library by QAPP
saber.h File Reference
#include <pqlr/common/pqlr.h>
#include <pqlr/common/api.h>
#include <stdint.h>

Go to the source code of this file.

Typedefs

typedef struct saber_st * saber_t
 Saber algorithm instance handle. More...
 

Enumerations

enum  saber_parameterset_t { saber_classic, saber_lightsaber, saber_firesaber, saber_last }
 Possible saber parameters sets. More...
 

Functions

PQLR_API saber_t saber_new (saber_parameterset_t parameterset)
 Creates saber instance initialized by parameterset. More...
 
PQLR_API void saber_free (saber_t saber)
 Frees saber instance and all corresponding resources. More...
 
PQLR_API saber_t saber_duplicate (const saber_t saber)
 duplicates context of saber algorithm More...
 
PQLR_API uint32_t saber_get_initiator_public_length (saber_t saber)
 Obtains initiator's public key length for the current saber instance. More...
 
PQLR_API uint32_t saber_get_initiator_secret_length (saber_t saber)
 Obtains initiator's secret key length for the current saber instance. More...
 
PQLR_API uint32_t saber_get_ciphertext_length (saber_t saber)
 Obtains ciphertext (request) length for the current saber instance. More...
 
PQLR_API uint32_t saber_get_shared_secret_length (saber_t saber)
 Obtains shared secret (key) length for the current saber instance. More...
 
PQLR_API pqlr_t saber_to_pqlr (saber_t saber)
 Casts saber instance to pqlr instance. More...
 
PQLR_API void saber_keygen (const saber_t saber, uint8_t *public_key, uint8_t *secret_key)
 Initial step of key distribution. Generates a key pair for key distribution initiator. More...
 
PQLR_API void saber_encapsulate (const saber_t saber, const uint8_t *public_key, uint8_t *encoded_request, uint8_t *key)
 Second step of key distribution. Encapsulates key on the responder side. More...
 
PQLR_API void saber_decapsulate (const saber_t saber, const uint8_t *secret_key, const uint8_t *encoded_request, uint8_t *key)
 Last step of key distribution. Decapsulates key on the initiator side. More...