PQLR  dev-1426-v1.4-474-b578073a
Postquantum Crypto Library by QAPP
pqlr.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <pqlr/common/api.h>
4 
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 
26 typedef struct pqlr_st* pqlr_t;
27 
31 // FIXME: MSVC: warning C4309: 'initializing': truncation of constant value
32 // (value is too long for base enum type)
33 // Consider using const uint64_t-s instead of enum
34 typedef enum {
35  // NOTE: id values are picked via following script:
36  // echo "<algorithm name>" -n | sha1sum | head -c 16
37 
38  pqlr_algorithm_general = 0xb01a41e3820cfefd,
40  0x5c56b689ca30d04f,
41  pqlr_algorithm_saber = 0xc83c3990d6c012b3,
43  0x2b95e6c0781512c2,
45  0x4bee1c9e7e65c9e4,
47  0x69a7f40591975179,
49  0xf93bfa7e3055a795,
50  pqlr_algorithm_xmss = 0x8f4ffb1fc25105ca,
52  0xf62df854fa55fd38,
53  pqlr_algorithm_drbg = 0xcb86e336a7c49070,
55  0xbb0be36f1cddb197
57 
66 
74 
79 #ifdef __cplusplus
80 } // extern "C"
81 #endif // __cplusplus
Linked to polynomial_hash instance id.
Definition: pqlr.h:48
Linked to mceliece instance id.
Definition: pqlr.h:51
Linked to xmssmt instance id.
Definition: pqlr.h:54
Linked to saber instance id.
Definition: pqlr.h:41
#define PQLR_API
Definition: api.h:10
Linked to xmss instance id.
Definition: pqlr.h:50
Linked to drbg instance id.
Definition: pqlr.h:53
Linked to newhope instance id.
Definition: pqlr.h:39
struct pqlr_st * pqlr_t
Pqlr instance handle. Pqlr represents basic library and it's algorithms configuration....
Definition: pqlr.h:26
PQLR_API algorithm_id_t pqlr_get_algorithm_id(pqlr_t)
Detects algorithm type id.
PQLR_API pqlr_t pqlr_singleton_instance()
Pqlr singleton instance accessor Please, note that any change in the global PQLR configuration does n...
Singleton instance id.
Definition: pqlr.h:38
Linked to rainbow instance id.
Definition: pqlr.h:46
Linked to sphincs_plus instance id.
Definition: pqlr.h:42
Linked to falcon instance id.
Definition: pqlr.h:44
algorithm_id_t
Pqlr instance type id.
Definition: pqlr.h:34