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...
Saved in:
Main Author: | |
---|---|
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 |
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. |
---|