title: Accelerating fully homomorphic encryption (FHE) schemes with FPGAs
title: Επιτάχυνση σχημάτων πλήρους ομομορφικής κρυπτογράφησης σε αναδιατασσόμενη λογική 
Creators: name: Αγοριτσης Γεωργιος
Publisher: name: Technical University of Crete
Year: 2023

description: This thesis delves into the exploration of FPGA acceleration possibilities for Fully Homomorphic Encryption (FHE), focusing on the OpenFHE library. Following a software profiling procedure, the thesis centers its attention on the Number Theoretic Transform (NTT) as a key acceleration point and investigates state-of-the-art optimization techniques from the existing literature. The chosen platform is the Xilinx Alveo U50 FPGA card, with the OpenFHE library as the foundation. The study demonstrates how a hardware-based project designed for the Alveo U50 card can be integrated into OpenFHE. Although this research does not introduce a novel acceleration method, it primarily focuses on showcasing the integration of an application developed in Xilinx Vitis IDE with OpenFHE. An essential contribution is the provision of a functional NTT implementation that supports various NTT sizes, complementing OpenFHE. The implementation encompasses an in-place forward NTT with the Cooley-Tukey butterfly and Harvey’s modular multiplication optimization, utilizing High-Level Synthesis (HLS). This work stands as the first hardware accelerator for OpenFHE, deployed on a Xilinx FPGA, supporting up to 2^18-point Number Theoretic Transforms without FPGA reconfiguration. The accelerator is seamlessly integrated with OpenFHE as a hardware component. While the project does not yield an immediate speedup for OpenFHE, it lays a solid foundation for future acceleration endeavors. Future work directions and optimization suggestions are identified and conclude the thesis.
description: Αυτή η εργασία διερευνά τη δυνατότητα χρήσης Αναδιατασσόμενης Λογικής (FPGA) για την επιτάχυνση της Πλήρους Ομομορφικής Κρυπτογράφησης (FHE), εστιάζοντας στη βιβλιοθήκη OpenFHE. Μετά από μια software profiling διαδικασία, η εργασία επικεντρώνεται στο Number Theoretic Transform (NTT) ως κύριο στόχο επιτάχυνσης και διερευνά την υφιστάμενη βιβλιογραφία για υπάρχουσες τεχνικές βελτιστοποίησης. Ως πλατφόρμα υλοποίησης επιλέγεται η FPGA κάρτα Xilinx Alveo U50. Η μελέτη δείχνει τον τρόπο με τον οποίο η υλοποίηση ενός αλγορίθμου στην κάρτα Alveo U50 μπορεί να ενσωματωθεί στο περιβάλλον της OpenFHE. Παρόλο που δεν παρουσιάζεται μια νέα μέθοδος επιτάχυνσης, η εργασία επικεντρώνεται κυρίως στην ενσωμάτωση μιας εφαρμογής που αναπτύχθηκε στο περιβάλλον του Xilinx Vitis IDE με τη βιβλιοθήκη OpenFHE. Στα πλαίσια της εργασίας παρέχεται μια πλήρως λειτουργική υλοποίηση του ΝΤΤ που είναι ισοδύναμη με την υπάρχουσα υλοποίηση του NTT από την OpenFHE. Η υλοποίηση γίνεται σε High-Level Synthesis (HLS) και περιλαμβάνει έναν in-place ευθύ NTT μετασχηματισμό, ο οποίος χρησιμοποιεί την πεταλούδα των Cooley και Tukey, καθώς και την βελτιστοποίηση του modular multiplication από τον D. Harvey. Η παρούσα εργασία αποτελεί τον πρώτο επιταχυντή σε αναδιατασσόμενη λογική για την OpenFHE, που εγκαθίσταται σε μια Xilinx FPGA, υποστηρίζει NTT μεγέθους έως και 2^18, χωρίς επαναπρογραμματισμό της FPGA και ενσωματώνεται απρόσκοπτα στο περιβάλλον της βιβλιοθήκης. Αν και δεν καταφέρνει να επιταχύνει τη βιβλιοθήκη, θέτει τη βάση για μελλοντικές προσπάθειες επιτάχυνσης. Τέλος, η εργασία ολοκληρώνεται με την πρόταση ιδεών βελτιστοποίησης και κατευθύνσεων για μελλοντικές εργασίες.