Multi‐key homomorphic encryption based on MKCKKS
HEAAN is a software library that implements homomorphic encryption (HE) that supports fixed point arithmetics. This library supports approximate operations between rational numbers. The approximate error depends on some parameters and almost same with floating point operation errors.
This scheme is based on MKCKKS HEAAN (https://eprint.iacr.org/2018/153.pdf) and (https://github.com/snucrypto/HEAAN). The data is encrypted via an aggregated public key. For decryption, collaboration between all participating devices is required to prevent privacy leakage from publicly shared information.
make clean
make all
make clean
make
./TestHEAAN Encrypt 1 1
You can choose other operations from the following list : Encrypt, EncryptSingle, Add, Mult, iMult, RotateFast, Conjugate, DecryptSingle
CMake (>= 3.12), GNU G++ (>= 6.0) or Clang++ (>= 5.0) (https://cmake.org/install/)
GMP (>=6.1.2) (https://gmplib.org/)
NTL (>=11.4.3) (https://libntl.org/)
Copyright (c) by CryptoLab inc. This program is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License. You should have received a copy of the license along with this work. If not, see http://creativecommons.org/licenses/by-nc/3.0/.
Ma, J, Naas, S-A, Sigg, S, Lyu, X. Privacy-preserving federated learning based on multi-key homomorphic encryption. Int J Intell Syst. 2022; 1- 22. doi:10.1002/int.22818