|
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.
|
#include <cstdint>Go to the source code of this file.
Namespaces | |
| intel | |
| intel::hexl | |
Functions | |
| void | intel::hexl::acquire_FPGA_resources () |
| Function acquire_FPGA_resources Called without any parameter, reserves the FPGA hardware resources. More... | |
| void | intel::hexl::release_FPGA_resources () |
| Function release_FPGA_resources Called without any parameter, releases the FPGA hardware resources once we are done. More... | |
| void | intel::hexl::set_worksize_DyadicMultiply (uint64_t ws) |
| Function set_worksize_DyadicMultiply Reserves software resources for the multiplication. More... | |
| void | intel::hexl::DyadicMultiply (uint64_t *results, const uint64_t *operand1, const uint64_t *operand2, uint64_t n, const uint64_t *moduli, uint64_t n_moduli) |
| Function DyadicMultiply Executes ciphertext ciphertext multiplication. More... | |
| bool | intel::hexl::DyadicMultiplyCompleted () |
| Function DyadicMultiplyCompleted Executed after ciphertext ciphertext multiplication to wrap up the task. More... | |
| void | intel::hexl::set_worksize_KeySwitch (uint64_t ws) |
| Function set_worksize_KeySwitch Reserves software resources for the KeySwitch. More... | |
| void | intel::hexl::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=nullptr) |
| Function KeySwitch Executes KeySwitch operation. More... | |
| bool | intel::hexl::KeySwitchCompleted () |
| Function KeySwitchCompleted Executed after KeySwitch to sync up the outstanding KeySwitch tasks. More... | |
| void | intel::hexl::_set_worksize_NTT (uint64_t ws) |
| Function _set_worksize_NTT [[deprecated]] Reserves software resources for the Number Theoretic Transform. More... | |
| void | intel::hexl::_NTT (uint64_t *operand, const uint64_t *root_of_unity_powers, const uint64_t *precon_root_of_unity_powers, uint64_t coeff_modulus, uint64_t n) |
| Function _NTT [[deprecated]] Executes in place the Number Theoretic Transform. More... | |
| bool | intel::hexl::_NTTCompleted () |
| Function _NTTCompleted [[deprecated]] Executed after the NTT to wrap up the computation No parameters. More... | |
| void | intel::hexl::_set_worksize_INTT (uint64_t ws) |
| Function _set_worksize_INTT [[deprecated]] Reserves software resources for the inverse Number Theoretic Transform. More... | |
| void | intel::hexl::_INTT (uint64_t *operand, 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) |
| Function _INTT [[deprecated]] Executes in place the inverse Number Theoretic Transform. More... | |
| bool | intel::hexl::_INTTCompleted () |
| Function _INTTCompleted [[deprecated]] Executed after the INTT to wrap up the computation No parameters. More... | |
1.8.5