PERFORMANCE ANALYSIS OF HOMOMORPHIC ENCRYPTION CKKS IMPLEMENTATION WITH BOOTSTRAPPING AND NUMBER THEORITIC TRANSFORM PROCESS ON CLOUD COMPUTING

Accelerate development of technology making threats to technology, one of which is data leakage. To prevent data leakage, we can use total homomorphic encryption that allows computation on encrypted data. There are four generations of total homomorphic encryption, one of which is CKKS which can p...

Full description

Saved in:
Bibliographic Details
Main Author: IBNU SIDQI, MUCHAMMAD
Format: Final Project
Language:Indonesia
Online Access:https://digilib.itb.ac.id/gdl/view/65924
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Institut Teknologi Bandung
Language: Indonesia
Description
Summary:Accelerate development of technology making threats to technology, one of which is data leakage. To prevent data leakage, we can use total homomorphic encryption that allows computation on encrypted data. There are four generations of total homomorphic encryption, one of which is CKKS which can perform computations up to complex numbers so that it is suitable for online store problems. In the CKKS scheme, there are several processes, namely key generation, encoding, decoding, encryption, decryption, evaluation, rescaling, relinearization, and bootstrapping. The CKKS scheme is based on the RLWE problem so that the polynomials used are cyclotomic polynomial ring so that the NTT process can be implemented to shorten the computation time. The solution of using CKKS uses latigo library because of its speed in program execution. There are API architecture solutions used, namely REST is used because it is easy to implement. Five module solutions are implemented, namely activate for opening the balance, checkBalance to check the balance, topup to top up the balance, transact to store transaction history, and getTransact to get transaction history. The NTT implementation is done by changing the Poly data type in the program by activating the boolean isNTT, while the implementation of bootstrapping is done by adding a bootstrap() function call. Testing is done using two components, namely execution time and variable size. The execution time required for the homomorphic encryption process increases linearly with respect to the parameters, with the maximum processing time in the bootstrapping process and minimum time in the secret key generation process. The total execution time for homomorphic encryption using NTT process is lower than the total execution time without using NTT process. Considering execution time for the bootstrapping process, which reached an average of one minute for all parameters tested, homomorphic encryption cannot be implemented in real-world conditions.