public API, key handling
More...
#include <ntru.h>
#include <fmpz_poly.h>
#include <fmpz.h>
#include <stdbool.h>
#include <stdint.h>
Go to the source code of this file.
|
bool | ntru_create_keypair (keypair *pair, const fmpz_poly_t f, const fmpz_poly_t g, const ntru_params *params) |
|
bool | export_public_key (char const *const filename, const fmpz_poly_t pub, const ntru_params *params) |
|
bool | export_priv_key (char const *const filename, const fmpz_poly_t priv, const ntru_params *params) |
|
bool | import_public_key (fmpz_poly_t pub, char const *const filename, const ntru_params *params) |
|
bool | import_priv_key (fmpz_poly_t priv, fmpz_poly_t priv_inv, char const *const filename, const ntru_params *params) |
|
void | ntru_delete_keypair (keypair *pair) |
|
public API, key handling
This file holds the public API of generating, exporting and importing public and private keys of the pqc NTRU implementation and is meant to be installed on the client system.
Definition in file ntru_keypair.h.
bool export_priv_key |
( |
char const *const |
filename, |
|
|
const fmpz_poly_t |
priv, |
|
|
const ntru_params * |
params |
|
) |
| |
Export the private key to a file.
- Parameters
-
filename | the file to save the private key into |
priv | the private key |
params | the NTRU context |
- Returns
- true for success, false if any of the file operations failed
bool export_public_key |
( |
char const *const |
filename, |
|
|
const fmpz_poly_t |
pub, |
|
|
const ntru_params * |
params |
|
) |
| |
Export the public key to a file.
- Parameters
-
filename | the file to save the public key into |
pub | the public key |
params | the NTRU context |
- Returns
- true for success, false if any of the file operations failed
bool import_priv_key |
( |
fmpz_poly_t |
priv, |
|
|
fmpz_poly_t |
priv_inv, |
|
|
char const *const |
filename, |
|
|
const ntru_params * |
params |
|
) |
| |
Import the private key from a file and store him along with his inverse.
- Parameters
-
priv | where to save the private key, must be initialized [out] |
priv_inv | where to save the inverse of the private key, must be initialized [out] |
filename | the file to get the private key from |
params | the NTRU context |
- Returns
- true for success, false if any of the file operations failed
bool import_public_key |
( |
fmpz_poly_t |
pub, |
|
|
char const *const |
filename, |
|
|
const ntru_params * |
params |
|
) |
| |
Import the public key from a file.
- Parameters
-
pub | where to save the public key, must be initialized [out] |
filename | the file to get the public key from |
params | the NTRU context |
- Returns
- true for success, false if any of the file operations failed
bool ntru_create_keypair |
( |
keypair * |
pair, |
|
|
const fmpz_poly_t |
f, |
|
|
const fmpz_poly_t |
g, |
|
|
const ntru_params * |
params |
|
) |
| |
Creates an NTRU key pair, consisting of public and private components.
- Parameters
-
pair | store private and public components here (the polynomials inside the struct will be automatically initialized) [out] |
f | a random polynomial |
g | a random polynomial |
params | the NTRU context |
- Returns
- true for success, false if f or g are not invertible (then the caller hast to try different ones)
void ntru_delete_keypair |
( |
keypair * |
pair | ) |
|
Used to free the inner structure of a keypair. This will not call free() on the pair itself.
- Parameters
-
pair | the pair to free the inner structure of |