Intel HEXL
Intel Homomorphic Encryption Acceleration Library, accelerating the modular arithmetic operations used in homomorphic encryption.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ckks-switch-key.hpp
Go to the documentation of this file.
1 // Copyright (C) 2020-2021 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 
4 #pragma once
5 
6 #include <stdint.h>
7 
8 namespace intel {
9 namespace hexl {
10 
31 void CkksSwitchKey(uint64_t* result, const uint64_t* t_target_iter_ptr,
32  uint64_t n, uint64_t decomp_modulus_size,
33  uint64_t key_modulus_size, uint64_t rns_modulus_size,
34  uint64_t key_component_count, uint64_t* moduli,
35  const uint64_t** kswitch_keys, uint64_t* modswitch_factors);
36 
37 } // namespace hexl
38 } // namespace intel
void CkksSwitchKey(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, uint64_t *moduli, const uint64_t **kswitch_keys, uint64_t *modswitch_factors)
Computes CKKS key switching in-place.
Definition: eltwise-add-mod.hpp:8