DESIGN AND ACCELERATION OF FULLY HOMOMORPHIC ENCRYPTION IN THE RNS- CKKS SCHEME USING GPU PARALLELIZATION
Homomorphic encryption is an encryption scheme that allows computation to be performed on ciphertext. One of the most widely used homomorphic encryption schemes is CKKS. The ciphertext of the CKKS scheme is representated in polynomial form. For good security, the degree and coefficients of said p...
Saved in:
Main Author: | |
---|---|
Format: | Final Project |
Language: | Indonesia |
Online Access: | https://digilib.itb.ac.id/gdl/view/81792 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Institut Teknologi Bandung |
Language: | Indonesia |
id |
id-itb.:81792 |
---|---|
spelling |
id-itb.:817922024-07-04T08:50:57ZDESIGN AND ACCELERATION OF FULLY HOMOMORPHIC ENCRYPTION IN THE RNS- CKKS SCHEME USING GPU PARALLELIZATION Jedidia Augustine, Jevant Indonesia Final Project Homomorphic Encryption, RNS-CKKS, GPU, acceleration INSTITUT TEKNOLOGI BANDUNG https://digilib.itb.ac.id/gdl/view/81792 Homomorphic encryption is an encryption scheme that allows computation to be performed on ciphertext. One of the most widely used homomorphic encryption schemes is CKKS. The ciphertext of the CKKS scheme is representated in polynomial form. For good security, the degree and coefficients of said polynomial need to have high values. For this reason, CKKS was further developed into RNS-CKKS in order to increase the efficiency of operations and data storage. However, some operations, such as ciphertext multiplication, still require high execution time, especially for higher polynomial degree. In order to solve this issue, parallelization of the RNS-CKKS scheme is used to accelerate the process. The serial implementation of the scheme is done using C++, while the parallel implementation is done using CUDA. Two main techniques used to optimize the parallel implementation are array flattening and kernel fusion. Testing is done by comparing the execution time of serial and parallel implementation and then calculating the speedup or slowdown of each operation. As a result, the NTT, iNTT, encryption, decryption, and multiplication processes experienced accelerations of 3.7x, 3.7x, 3.26x, 3.96x, and 4.68x, respectively. Meanwhile, the decoding and addition processes experienced a slowdowns of 0.57x dan 0.86x, respectively. No significant acceleration was observed during the encoding process. 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 is an encryption scheme that allows computation to be performed on
ciphertext. One of the most widely used homomorphic encryption schemes is CKKS. The
ciphertext of the CKKS scheme is representated in polynomial form. For good security, the
degree and coefficients of said polynomial need to have high values. For this reason, CKKS
was further developed into RNS-CKKS in order to increase the efficiency of operations and
data storage. However, some operations, such as ciphertext multiplication, still require high
execution time, especially for higher polynomial degree. In order to solve this issue,
parallelization of the RNS-CKKS scheme is used to accelerate the process. The serial
implementation of the scheme is done using C++, while the parallel implementation is done
using CUDA. Two main techniques used to optimize the parallel implementation are array
flattening and kernel fusion. Testing is done by comparing the execution time of serial and
parallel implementation and then calculating the speedup or slowdown of each operation. As a
result, the NTT, iNTT, encryption, decryption, and multiplication processes experienced
accelerations of 3.7x, 3.7x, 3.26x, 3.96x, and 4.68x, respectively. Meanwhile, the decoding and
addition processes experienced a slowdowns of 0.57x dan 0.86x, respectively. No significant
acceleration was observed during the encoding process. |
format |
Final Project |
author |
Jedidia Augustine, Jevant |
spellingShingle |
Jedidia Augustine, Jevant DESIGN AND ACCELERATION OF FULLY HOMOMORPHIC ENCRYPTION IN THE RNS- CKKS SCHEME USING GPU PARALLELIZATION |
author_facet |
Jedidia Augustine, Jevant |
author_sort |
Jedidia Augustine, Jevant |
title |
DESIGN AND ACCELERATION OF FULLY HOMOMORPHIC ENCRYPTION IN THE RNS- CKKS SCHEME USING GPU PARALLELIZATION |
title_short |
DESIGN AND ACCELERATION OF FULLY HOMOMORPHIC ENCRYPTION IN THE RNS- CKKS SCHEME USING GPU PARALLELIZATION |
title_full |
DESIGN AND ACCELERATION OF FULLY HOMOMORPHIC ENCRYPTION IN THE RNS- CKKS SCHEME USING GPU PARALLELIZATION |
title_fullStr |
DESIGN AND ACCELERATION OF FULLY HOMOMORPHIC ENCRYPTION IN THE RNS- CKKS SCHEME USING GPU PARALLELIZATION |
title_full_unstemmed |
DESIGN AND ACCELERATION OF FULLY HOMOMORPHIC ENCRYPTION IN THE RNS- CKKS SCHEME USING GPU PARALLELIZATION |
title_sort |
design and acceleration of fully homomorphic encryption in the rns- ckks scheme using gpu parallelization |
url |
https://digilib.itb.ac.id/gdl/view/81792 |
_version_ |
1822009585432526848 |