title: Implementation of homomorphic encryption techniques
title: Υλοποίηση τεχνικών ομομορφικής κρυπτογράφησης
Creators: name: Στειακακης Ιωαννης-Λεωνιδας
Publisher: name: Technical University of Crete
Year: 2024

description: Cryptography is the primary tool used to secure our data in public environments, where possible malicious adversaries may desire to intercept or tamper it. Encryption is the cryptographic technique used against eavesdropping adversaries. The newly arising concept of homomorphic encryption encompasses techniques for encrypting data in a way such that a desired algebraic structure is preserved, hence allowing to perform ``blind computations'', i.e., to perform operations directly on encrypted data, without the need for decryption first; the operand(s) and the result remain encrypted throughout the process. This diploma thesis is focused on lattice-based cryptosystems (i.e., the underlying mathematical problems ensuring security are problems on lattices), with lattice-based cryptography forming the new NIST post-quantum cryptography standard. We explore (a part of) the deep theory of lattice-based cryptography and study thoroughly the potentials and constraints of homomorphic encryption, which enables to design and implement efficiently a small suite of algorithms for encrypted computations. The programming library (written in C++) that we used for the implementation part is the Microsoft Simple Encrypted Arithmetic Library (SEAL), which provides some very basic encrypted math operations (like addition, subtraction, and multiplication). Using SEAL, some of the encrypted operations that we implemented are encrypted number inversion, encrypted square root, encrypted absolute value, encrypted linear algebra operations, encrypted fast Fourier transform (FFT), and an encrypted version of the if-else statement.

description: Η κρυπτογραφία είναι το κύριο εργαλείο που χρησιμοποιείται για την ασφάλεια των δεδομένων μας σε δημόσια περιβάλλοντα, όπου πιθανοί κακόβουλοι χρήστες μπορεί να επιθυμούν να τα υποκλέψουν ή να τα αλλοιώσουν. Η κρυπτογράφηση είναι η κρυπτογραφική τεχνική που χρησιμοποιείται κατά των υποκλοπέων. Η νέα έννοια της ομομορφικής κρυπτογράφησης περιλαμβάνει τεχνικές για την κρυπτογράφηση δεδομένων με τέτοιο τρόπο ώστε να διατηρείται μία επιθυμητή αλγεβρική δομή, επιτρέποντας έτσι την εκτέλεση «τυφλών υπολογισμών», δηλαδή την εκτέλεση πράξεων απευθείας σε κρυπτογραφημένα δεδομένα, χωρίς να απαιτείται πρώτα η αποκρυπτογράφηση. Οι τελεστέοι και το αποτέλεσμα παραμένουν κρυπτογραφημένα καθ' όλη τη διάρκεια της διαδικασίας. Αυτή η διπλωματική εργασία επικεντρώνεται σε κρυπτοσυστήματα που βασίζονται σε πλέγμα (δηλαδή, τα υποκείμενα μαθηματικά προβλήματα που διασφαλίζουν την ασφάλεια είναι προβλήματα στα πλέγματα), με την κρυπτογραφία βασισμένη σε πλέγμα να αποτελεί το νέο πρότυπο μετα-κβαντικής κρυπτογραφίας NIST. Εξερευνούμε (ένα μέρος από) τη βαθιά θεωρία της κρυπτογραφίας με βάση το πλέγμα και μελετάμε διεξοδικά τις δυνατότητες και τους περιορισμούς της ομομορφικής κρυπτογράφησης, η οποία δίνει τη δυνατότητα να σχεδιάσουμε και να εφαρμόσουμε αποτελεσματικά μία μικρή σειρά αλγορίθμων για κρυπτογραφημένους υπολογισμούς. Η βιβλιοθήκη προγραμματισμού (γραμμένη σε C++) που χρησιμοποιήσαμε για το μέρος υλοποίησης είναι η Microsoft Simple Encrypted Arithmetic Library (SEAL), η οποία παρέχει μερικές πολύ βασικές κρυπτογραφημένες μαθηματικές πράξεις (όπως πρόσθεση, αφαίρεση, και πολλαπλασιασμό). Χρησιμοποιώντας το SEAL, ορισμένες από τις κρυπτογραφημένες λειτουργίες που εφαρμόσαμε είναι η αντιστροφή κρυπτογραφημένου αριθμού, η κρυπτογραφημένη τετραγωνική ρίζα, η κρυπτογραφημένη απόλυτη τιμή, οι κρυπτογραφημένες πράξεις γραμμικής άλγεβρας, ο κρυπτογραφημένος γρήγορος μετασχηματισμός Fourier (FFT), και μία κρυπτογραφημένη έκδοση της εντολής if-else.