Fast CKKS Algorithm in the SEAL Library
摘要
Currently, artificial intelligence has been widely used, and customers can outsource large amounts of data to service providers through cloud-based machine learning services to reduce computing overhead. However, outsourcing sensitive data such as business and healthcare to service providers raises privacy issues. Homomorphic encryption can calculate encrypted data without knowing the encrypted data, but homomorphic encryption has the problem of low efficiency. The CKKS algorithm supports floating-point number operations and is widely used in the field of privacy-preserving deep learning. To solve the problem of long encryption times, this paper proposes the PF-CKKS algorithm, which uses OpenMP parallel computing in the NTT transformation and the lookup table algorithm instead of the SWAR algorithm to calculate the Hamming weight to improve the calculation speed and encryption efficiency. The experimental results show that while keeping the accuracy unchanged, the CKKS algorithm with the lookup table algorithm improves the encryption efficiency by 1.186% on the MNIST dataset, and the encryption efficiency on the CIFAR-10 dataset increases by 3.167%, which is better than that on the simple MNIST dataset. The encryption efficiency of the PF-CKKS algorithm is 7.574% and 4.904% higher than that of the CKKS algorithm on these two datasets, respectively.