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

struct Object_KeySwitch Stores the parameters for the keyswitch More...

#include <fpga.h>

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

Public Member Functions

 Object_KeySwitch (uint64_t *result, const uint64_t *t_target_iter_ptr, uint64_t n, uint64_t decomp_modulus_size, uint64_t key_modulus_size, uint64_t rns_modulus_size, uint64_t key_component_count, const uint64_t *moduli, const uint64_t **k_switch_keys, const uint64_t *modswitch_factors, const uint64_t *twiddle_factors, 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 * result_
 
const uint64_t * t_target_iter_ptr_
 
uint64_t n_
 
uint64_t decomp_modulus_size_
 
uint64_t key_modulus_size_
 
uint64_t rns_modulus_size_
 
uint64_t key_component_count_
 
const uint64_t * moduli_
 
const uint64_t ** k_switch_keys_
 
const uint64_t * modswitch_factors_
 
const uint64_t * twiddle_factors_
 
- 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_KeySwitch Stores the parameters for the keyswitch

Parameters
[out]resultsstores the keyswitch results
[in]t_target_iter_ptrstores the input ciphertext data
[in]nstores polynomial size
[in]decomp_modulus_sizestores modulus size
[in]key_modulus_sizestores key modulus size
[in]rns_modulus_sizestores the rns modulus size
[in]key_component_sizestores the key component size
[in]modulistores the moduli
[in]k_switch_keysstores the keys for keyswitch operation
[in]modswitch_factorsstores the factors for modular switch
[in]twiddle_factorsstores the twiddle factors
[in]fenceindicates whether the object is a fenced object or not

Constructor & Destructor Documentation

intel::hexl::fpga::Object_KeySwitch::Object_KeySwitch ( uint64_t *  result,
const uint64_t *  t_target_iter_ptr,
uint64_t  n,
uint64_t  decomp_modulus_size,
uint64_t  key_modulus_size,
uint64_t  rns_modulus_size,
uint64_t  key_component_count,
const uint64_t *  moduli,
const uint64_t **  k_switch_keys,
const uint64_t *  modswitch_factors,
const uint64_t *  twiddle_factors,
bool  fence = false 
)
explicit

Member Data Documentation

uint64_t intel::hexl::fpga::Object_KeySwitch::decomp_modulus_size_
const uint64_t** intel::hexl::fpga::Object_KeySwitch::k_switch_keys_
uint64_t intel::hexl::fpga::Object_KeySwitch::key_component_count_
uint64_t intel::hexl::fpga::Object_KeySwitch::key_modulus_size_
const uint64_t* intel::hexl::fpga::Object_KeySwitch::modswitch_factors_
const uint64_t* intel::hexl::fpga::Object_KeySwitch::moduli_
uint64_t intel::hexl::fpga::Object_KeySwitch::n_
uint64_t* intel::hexl::fpga::Object_KeySwitch::result_
uint64_t intel::hexl::fpga::Object_KeySwitch::rns_modulus_size_
const uint64_t* intel::hexl::fpga::Object_KeySwitch::t_target_iter_ptr_
const uint64_t* intel::hexl::fpga::Object_KeySwitch::twiddle_factors_

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