PQLR
Postquantum Crypto Library by QAPP
shipovnik.h File Reference
#include "pqlr/common/pqlr.h"
#include "pqlr/common/api.h"
#include "stdint.h"
#include "stddef.h"

Go to the source code of this file.

Typedefs

typedef struct shipovnik_st * shipovnik_t
 Shipovnik algorithm instance handle. More...
 

Enumerations

enum  shipovnik_parameterset_t { shipovnik_default , shipovnik_last }
 Possible shipovnik parameters sets. More...
 

Functions

PQLR_API shipovnik_t shipovnik_new (shipovnik_parameterset_t parameterset)
 Creates new shipovnik instance with selected parameter set. More...
 
PQLR_API void shipovnik_free (shipovnik_t shipovnik)
 Frees shipovnik instance and all corresponding resources. More...
 
PQLR_API shipovnik_t shipovnik_duplicate (const shipovnik_t shipovnik)
 Duplicates context of shipovnik instance. More...
 
PQLR_API pqlr_t shipovnik_to_pqlr (shipovnik_t shipovnik)
 Gets pqlr instance linked to this shipovnik instance. More...
 
PQLR_API size_t shipovnik_get_public_key_bytes_len (const shipovnik_t shipovnik)
 Obtains public key buffer length in bytes for current shipovnik instance. More...
 
PQLR_API size_t shipovnik_get_secret_key_bytes_len (const shipovnik_t shipovnik)
 Obtains secret key buffer length in bytes for current shipovnik instance. More...
 
PQLR_API size_t shipovnik_get_signature_bytes_len (shipovnik_t shipovnik)
 Obtains signature buffer length in bytes for current shipovnik instance. More...
 
PQLR_API void shipovnik_generate_keys (const shipovnik_t shipovnik, uint8_t *result_sk, uint8_t *result_pk)
 Generates random secret key and public key for given context. More...
 
PQLR_API void shipovnik_sign (const shipovnik_t shipovnik, const uint8_t *sk, const uint8_t *msg, size_t msg_len, uint8_t *result_sig, size_t *result_sig_len)
 Generates signature for given message according to context and secret key. More...
 
PQLR_API int shipovnik_verify (const shipovnik_t shipovnik, const uint8_t *pk, const uint8_t *sig, size_t sig_len, const uint8_t *msg, size_t msg_len)
 Verifies that given signature is the signature of given message. More...