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_INTT Struct Reference

Struct Object INTT Stores the Inverse Number Theoretic Transform parameters. More...

#include <fpga.h>

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

Public Member Functions

 Object_INTT (uint64_t *coeff_poly, const uint64_t *inv_root_of_unity_powers, const uint64_t *precon_inv_root_of_unity_powers, uint64_t coeff_modulus, uint64_t inv_n, uint64_t inv_n_w, 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 * inv_root_of_unity_powers_
 
const uint64_t * precon_inv_root_of_unity_powers_
 
uint64_t coeff_modulus_
 
uint64_t inv_n_
 
uint64_t inv_n_w_
 
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 INTT Stores the Inverse Number Theoretic Transform parameters.

Parameters
[in]coeff_polypolynomial coefficients
[out]coeff_polypolynomial coefficients
[in]inv_root_of_unity_powerstwiddle factors for the inverse transform
[in]precon_inv_root_of_unity_powersinverse twiddle factors for the inverse transform
[in]coeff_moduluspolynomial coefficients modulus
[in]inv_nnormalization factor for the coefficients
[in]inv_n_wnormalization factor for the constant factor
[in]npolynomial size

Constructor & Destructor Documentation

intel::hexl::fpga::Object_INTT::Object_INTT ( uint64_t *  coeff_poly,
const uint64_t *  inv_root_of_unity_powers,
const uint64_t *  precon_inv_root_of_unity_powers,
uint64_t  coeff_modulus,
uint64_t  inv_n,
uint64_t  inv_n_w,
uint64_t  n,
bool  fence = false 
)
explicit

Member Data Documentation

uint64_t intel::hexl::fpga::Object_INTT::coeff_modulus_
uint64_t* intel::hexl::fpga::Object_INTT::coeff_poly_
uint64_t intel::hexl::fpga::Object_INTT::inv_n_
uint64_t intel::hexl::fpga::Object_INTT::inv_n_w_
const uint64_t* intel::hexl::fpga::Object_INTT::inv_root_of_unity_powers_
uint64_t intel::hexl::fpga::Object_INTT::n_
const uint64_t* intel::hexl::fpga::Object_INTT::precon_inv_root_of_unity_powers_

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