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
ntt.h
Go to the documentation of this file.
1 // Copyright (C) 2020-2021 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 
4 #ifndef __NTT_H__
5 #define __NTT_H__
6 
7 #include <cstdint>
8 
9 namespace intel {
10 namespace hexl {
11 namespace fpga {
17 void set_worksize_NTT(uint64_t ws);
29 void NTT(uint64_t* coeff_poly, const uint64_t* root_of_unity_powers,
30  const uint64_t* precon_root_of_unity_powers, uint64_t coeff_modulus,
31  uint64_t n);
36 bool NTTCompleted();
37 
38 } // namespace fpga
39 } // namespace hexl
40 } // namespace intel
41 
42 #endif
bool NTTCompleted()
NTTCompleted Called after completion of the Number Theoretic Transform
void set_worksize_NTT(uint64_t ws)
set_worksize_NTT Sets the work size for NTT
void 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)
NTT Calls the Number Theorectic Transform