Intel HEXL for FPGA
Intel Homomorphic Encryption FPGA Acceleration Library, accelerating the modular arithmetic operations used in homomorphic encryption.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
intt.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 __INTT_H__
5 #define __INTT_H__
6 
7 #include <cstdint>
8 
9 namespace intel {
10 namespace hexl {
11 namespace fpga {
16 void set_worksize_INTT(uint64_t ws);
17 
31 void INTT(uint64_t* coeff_poly, const uint64_t* inv_root_of_unity_powers,
32  const uint64_t* precon_inv_root_of_unity_powers,
33  uint64_t coeff_modulus, uint64_t inv_n, uint64_t inv_n_w, uint64_t n);
34 
39 bool INTTCompleted();
40 
41 } // namespace fpga
42 } // namespace hexl
43 } // namespace intel
44 
45 #endif
void set_worksize_INTT(uint64_t ws)
set_worksize_INTT Sets the work size of the INTT operation
void 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)
INTT Calls the Inverse Number Theoretic Transform
bool INTTCompleted()
INTTCompleted Called after the completion of the INTT operation