Intel HE Acceleration Library for FPGAs
Intel Homomorphic Encryption Acceleration Library for FPGAs, accelerating the modular arithmetic operations used in homomorphic encryption on Intel FPGAs.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | List of all members
intel::hexl::fpga::Object_NTT Struct Reference

Struct Object NTT Stores the Number Theoretic Transform parameters. More...

#include <fpga.h>

Inheritance diagram for intel::hexl::fpga::Object_NTT:
intel::hexl::fpga::Object

Public Member Functions

 Object_NTT (uint64_t *coeff_poly, const uint64_t *root_of_unity_powers, const uint64_t *precon_root_of_unity_powers, uint64_t coeff_modulus, uint64_t n, bool fence=false)
 
- Public Member Functions inherited from intel::hexl::fpga::Object
 Object (kernel_t type=kernel_t::NONE, bool fence=false)
 
virtual ~Object ()=default
 

Public Attributes

uint64_t * coeff_poly_
 
const uint64_t * root_of_unity_powers_
 
const uint64_t * precon_root_of_unity_powers_
 
uint64_t coeff_modulus_
 
uint64_t n_
 
- Public Attributes inherited from intel::hexl::fpga::Object
bool ready_
 
int id_
 
kernel_t type_
 
bool fence_
 

Additional Inherited Members

- Static Public Attributes inherited from intel::hexl::fpga::Object
static unsigned int g_wid_
 

Detailed Description

Struct Object NTT Stores the Number Theoretic Transform parameters.

Parameters
[in]coeff_polypolynomial coefficients
[out]coeff_polypolynomial coefficients
[in]root_of_unity_powerstwiddle factors
[in]precon_root_of_unity_powersinverse twiddle factors
[in]coeff_moduluspolynomial coefficients modulus
[in]npolynomial size in powers of two

Constructor & Destructor Documentation

intel::hexl::fpga::Object_NTT::Object_NTT ( uint64_t *  coeff_poly,
const uint64_t *  root_of_unity_powers,
const uint64_t *  precon_root_of_unity_powers,
uint64_t  coeff_modulus,
uint64_t  n,
bool  fence = false 
)
explicit

Member Data Documentation

uint64_t intel::hexl::fpga::Object_NTT::coeff_modulus_
uint64_t* intel::hexl::fpga::Object_NTT::coeff_poly_
uint64_t intel::hexl::fpga::Object_NTT::n_
const uint64_t* intel::hexl::fpga::Object_NTT::precon_root_of_unity_powers_
const uint64_t* intel::hexl::fpga::Object_NTT::root_of_unity_powers_

The documentation for this struct was generated from the following file: