DESIGN AND ACCELERATION OF CHEON, KIM, KIM, SONG (CKKS) TOTAL HOMOMORPHIC ENCRYPTION ALGORITHM ON GPU
Homomorphic encryption algorithms are encryptions that facilitate computation directly on encrypted data. An example of a homomorphic encryption algorithm is CKKS which allows homomorphic encryption of complex numbers. Homomorphic encryptions are proven to be highly secure due to its quantum safe...
Saved in:
Main Author: | |
---|---|
Format: | Final Project |
Language: | Indonesia |
Online Access: | https://digilib.itb.ac.id/gdl/view/74368 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Institut Teknologi Bandung |
Language: | Indonesia |
id |
id-itb.:74368 |
---|---|
spelling |
id-itb.:743682023-07-11T16:14:42ZDESIGN AND ACCELERATION OF CHEON, KIM, KIM, SONG (CKKS) TOTAL HOMOMORPHIC ENCRYPTION ALGORITHM ON GPU Mario Reynaldi, Daniel Indonesia Final Project Homomorphic Encryption, CKKS, speedup, GPU INSTITUT TEKNOLOGI BANDUNG https://digilib.itb.ac.id/gdl/view/74368 Homomorphic encryption algorithms are encryptions that facilitate computation directly on encrypted data. An example of a homomorphic encryption algorithm is CKKS which allows homomorphic encryption of complex numbers. Homomorphic encryptions are proven to be highly secure due to its quantum safe characteristics and the fact that data are always encrypted. However the adoption rate of homomorphic encryption in daily applications is still minimal due to the high execution time. Therefore, there needs to be an effort to parallelize homomorphic encryption algorithms to reduce the execution time. GPU is chosen to be the parallelization platform due to its ubiquity and high parallel processing capabilities for algorithms of single instruction multiple data stream type. Parallel implementation is done with the CUDA platform on Nvidia GPU. Serial implementation is done with C++ as a comparison. Tests are performed to verify the correctness and the performance of the implementations. The correctness or functionality test is done by encrypting a BMP image then decrypting the image, the resulting image is then compared visually to the input and the PSNR score is measured. The result is the implementation has been able to encrypt the image without significant loss of quality as displayed in the output image having visually no differences compared to the original image, and the PSNR value of 102. The performance tests are done by measuring the execution time of both serial and parallel implementations and measuring the speedup of the algorithms. The result of the tests show that the parallel implementations are able to achieve significant speedup compared to the serial implementation. text |
institution |
Institut Teknologi Bandung |
building |
Institut Teknologi Bandung Library |
continent |
Asia |
country |
Indonesia Indonesia |
content_provider |
Institut Teknologi Bandung |
collection |
Digital ITB |
language |
Indonesia |
description |
Homomorphic encryption algorithms are encryptions that facilitate computation directly on
encrypted data. An example of a homomorphic encryption algorithm is CKKS which allows
homomorphic encryption of complex numbers. Homomorphic encryptions are proven to be
highly secure due to its quantum safe characteristics and the fact that data are always encrypted.
However the adoption rate of homomorphic encryption in daily applications is still minimal due
to the high execution time. Therefore, there needs to be an effort to parallelize homomorphic
encryption algorithms to reduce the execution time. GPU is chosen to be the parallelization
platform due to its ubiquity and high parallel processing capabilities for algorithms of single
instruction multiple data stream type. Parallel implementation is done with the CUDA platform
on Nvidia GPU. Serial implementation is done with C++ as a comparison. Tests are performed to
verify the correctness and the performance of the implementations. The correctness or
functionality test is done by encrypting a BMP image then decrypting the image, the resulting
image is then compared visually to the input and the PSNR score is measured. The result is the
implementation has been able to encrypt the image without significant loss of quality as
displayed in the output image having visually no differences compared to the original image, and
the PSNR value of 102. The performance tests are done by measuring the execution time of both
serial and parallel implementations and measuring the speedup of the algorithms. The result of
the tests show that the parallel implementations are able to achieve significant speedup compared
to the serial implementation. |
format |
Final Project |
author |
Mario Reynaldi, Daniel |
spellingShingle |
Mario Reynaldi, Daniel DESIGN AND ACCELERATION OF CHEON, KIM, KIM, SONG (CKKS) TOTAL HOMOMORPHIC ENCRYPTION ALGORITHM ON GPU |
author_facet |
Mario Reynaldi, Daniel |
author_sort |
Mario Reynaldi, Daniel |
title |
DESIGN AND ACCELERATION OF CHEON, KIM, KIM, SONG (CKKS) TOTAL HOMOMORPHIC ENCRYPTION ALGORITHM ON GPU |
title_short |
DESIGN AND ACCELERATION OF CHEON, KIM, KIM, SONG (CKKS) TOTAL HOMOMORPHIC ENCRYPTION ALGORITHM ON GPU |
title_full |
DESIGN AND ACCELERATION OF CHEON, KIM, KIM, SONG (CKKS) TOTAL HOMOMORPHIC ENCRYPTION ALGORITHM ON GPU |
title_fullStr |
DESIGN AND ACCELERATION OF CHEON, KIM, KIM, SONG (CKKS) TOTAL HOMOMORPHIC ENCRYPTION ALGORITHM ON GPU |
title_full_unstemmed |
DESIGN AND ACCELERATION OF CHEON, KIM, KIM, SONG (CKKS) TOTAL HOMOMORPHIC ENCRYPTION ALGORITHM ON GPU |
title_sort |
design and acceleration of cheon, kim, kim, song (ckks) total homomorphic encryption algorithm on gpu |
url |
https://digilib.itb.ac.id/gdl/view/74368 |
_version_ |
1822007377745936384 |