PQLR
Postquantum Crypto Library
 
Loading...
Searching...
No Matches
zemlyanika.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 zemlyanika_st * zemlyanika_t
 Zemlyanika algorithm instance handle.
 

Enumerations

enum  zemlyanika_parameterset_t {
  zemlyanika_512 , zemlyanika_768R , zemlyanika_768C , zemlyanika_1024 ,
  zemlyanika_parameterset_last
}
 Possible Zemlyanika parameter sets. More...
 

Functions

PQLR_API zemlyanika_t zemlyanika_new (zemlyanika_parameterset_t parameterset)
 Creates Zemlyanika instance initialized by parameterset.
 
PQLR_API void zemlyanika_free (zemlyanika_t zemlyanika)
 Frees Zemlyanika instance and all corresponding resources.
 
PQLR_API uint32_t zemlyanika_get_initiator_public_length (zemlyanika_t zemlyanika)
 Obtains initiator's public key length for the current Zemlyanika instance.
 
PQLR_API uint32_t zemlyanika_get_initiator_secret_length (zemlyanika_t zemlyanika)
 Obtains initiator's secret key length for the current Zemlyanika instance.
 
PQLR_API uint32_t zemlyanika_get_ciphertext_length (zemlyanika_t zemlyanika)
 Obtains ciphertext length for the current Zemlyanika instance.
 
PQLR_API uint32_t zemlyanika_get_shared_secret_length (zemlyanika_t zemlyanika)
 Obtains shared secret length for the current Zemlyanika instance.
 
PQLR_API pqlr_t zemlyanika_to_pqlr (zemlyanika_t zemlyanika)
 Gets pqlr instance linked to this Zemlyanika instance.
 
PQLR_API zemlyanika_t zemlyanika_duplicate (const zemlyanika_t zemlyanika)
 Duplicates context of Zemlyanika instance.
 
PQLR_API int zemlyanika_keygen (const zemlyanika_t zemlyanika, uint8_t *public_key, uint8_t *secret_key)
 Initial step of key distribution. Generates a key pair for key distribution initiator.
 
PQLR_API int zemlyanika_key_encap (const zemlyanika_t zemlyanika, const uint8_t *public_key, uint8_t *ciphertext, uint8_t *session_key)
 Key encapsulation.
 
PQLR_API int zemlyanika_key_decap (const zemlyanika_t zemlyanika, const uint8_t *secret_key, const uint8_t *ciphertext, uint8_t *session_key)
 Key decapsulation.