post quantum cryptography
Highly optimized implementation of the NTRUEncrypt algorithm
|
public API, basic data types More...
#include <fmpz_poly.h>
#include <fmpz.h>
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | ntru_params |
struct | string |
Typedefs | |
typedef struct ntru_params | ntru_params |
typedef struct string | string |
Functions | |
void | prints (const string *print_string) |
void | string_delete (string *del_string) |
void | poly_new (fmpz_poly_t new_poly, int const *const c, const size_t len) |
void | poly_delete (fmpz_poly_t poly) |
void | poly_delete_array (fmpz_poly_t **poly_array) |
void | poly_delete_all (fmpz_poly_t poly,...) |
void | poly_draw (const fmpz_poly_t poly) |
void | poly_draw_pretty (const fmpz_poly_t poly) |
string * | read_file (char const *const filename) |
void | write_file (string const *wstring, char const *const filename) |
public API, basic data types
This file holds the public API of the most basic data types and operations of the pqc NTRU implementation and is meant to be installed on the client system.
Definition in file ntru.h.
typedef struct ntru_params ntru_params |
void poly_delete | ( | fmpz_poly_t | poly | ) |
This deletes the internal structure of a polynomial, and frees the pointer.
poly | the polynomial to delete |
Definition at line 123 of file ntru_poly.c.
void poly_delete_all | ( | fmpz_poly_t | poly, |
... | |||
) |
This deletes the internal structure of all polynomials, and frees the pointers. You must call this with NULL as last argument!
poly | the polynomial to delete |
... | follow up polynomials |
Definition at line 149 of file ntru_poly.c.
void poly_delete_array | ( | fmpz_poly_t ** | poly_array | ) |
Delete the internal structure of a polynomial array which must be NULL terminated. It is expected that poly_array is not on the stack and was obtained by a function like ascii_to_poly().
poly_array | the polynomial array |
Definition at line 131 of file ntru_poly.c.
void poly_draw | ( | const fmpz_poly_t | poly | ) |
void poly_draw_pretty | ( | const fmpz_poly_t | poly | ) |
Draws a polynomial to stdout, in pretty format.
poly | draw this |
Definition at line 583 of file ntru_poly.c.
void poly_new | ( | fmpz_poly_t | new_poly, |
int const *const | c, | ||
const size_t | len | ||
) |
Initializes and builds a polynomial with the coefficient values of c[] of size len within NTRU parameters and returns a newly allocated polynomial. For an empty polynom, both c and len can be NULL/0.
new_poly | the polynomial to initialize and fill with coefficients [out] |
c | array of polynomial coefficients, can be NULL |
len | size of the coefficient array, can be 0 |
Definition at line 110 of file ntru_poly.c.
Prints the given string to stdout.
print_string | the print to string |
Definition at line 37 of file ntru_string.c.
Reads a file and returns a newly allocated string.
filename | file to open |
Reads a file and returns a newly allocated string.
filename | file to open |
Definition at line 50 of file ntru_file.c.
void string_delete | ( | string * | del_string | ) |
Delete the inner structure of the string and frees the string itself from the heap. Must not be called on stack variables.
del_string | the string to delete |
Definition at line 47 of file ntru_string.c.
void write_file | ( | string const * | wstring, |
char const *const | filename | ||
) |
Write a string to a file. The file will be pruned or created if it does not exist.
wstring | the string to write to the file |
filename | the name of the file to write to |
Write a string to a file. The file will be pruned or created if it does not exist.
wstring | the string to write to the file |
filename | the name of the file to write to |
Definition at line 107 of file ntru_file.c.