title: Hardware acceleration of adiantum cryptography algorithm on PYNQ
title: Επιτάχυνση σε επίπεδο υλικού του αλγορίθμου κρυπτογράφησης Adiantum πάνω στην πλατφόρμα προγραμματιζόμενης λογικής PYNQ
Creators: name: Αμπατζιδης Κωνσταντινος
Publisher: name: Technical University of Crete
Year: 2021

description: As technology is closely interwoven with everyday reality, an exponentially increasing volume of information is exposed to potential data breaches. In that context, the field of cryptography offers the necessary confidentiality and accuracy to sensitive data handling. Existing options such as AES can often lead to significant performance expense, yet recent appearance of more lightweight alternatives, like Adiantum, resolves the dilemma of choosing between speed and security. The connection between hardware development and cryptography is inevitable as hardware offers high parallelism which in turn results in faster deployments with balanced power consumption. In this thesis we present the first attempt at accelerating the entire Adiantum algorithm for big plaintexts with FPGAs. This thesis comprises of three parts: profiling of the Adiantum algorithm in order to determine the most computationally intensive parts; implementation of the ChaCha12 core which accounts for some 86% - 96% of the total load; and, full implementation of the ChaCha12 core and the Adiantum algorithm on a PYNQ Z1 FPGA board. Despite technology-related limitations the results are most encouraging. Specifically, the ChaCha12 core is 10,731 times faster and 77,000 times more energy efficient than the Intel i5-3230M processor. If it were to run on a present-day system with an Intel i5-3230M processor having a tightly-coupled FPGA, the Adiantum algorithm, including I/O overhead would run at speeds approaching the theoretical limits posed by Amdahl's Law. However, because the processor on the PYNQ Z1 is 15 times slower than the Intel i5-3230M processor, the full-Adiantum-algorithm performance of the Intel i5-3230M CPU is 4x times faster than our Pynq-z1 system, but at a 2x higher energy cost.
description: Ενώ στη σύγχρονη εποχή η τεχνολογία είναι συνυφασμένη με την καθημερινότητα, ένας εκθετικά αυξανόμενος όγκος πληροφορίας είναι εκτεθειμένος σε πιθανές παραβιάσεις δεδομένων. Σε αυτό το πλαίσιο, το πεδίο της κρυπτογραφίας προσφέρει την αναγκαία εμπιστευτικότητα και ακρίβεια στη διαχείριση ευαίσθητων δεδομένων. Υπάρχουσες επιλογές όπως ο AES μπορούν συχνά να οδηγήσουν σε σημαντικό κόστος στην απόδοση, ωστόσο η πρόσφατη εμφάνιση πιο ελαφριών εναλλακτικών, όπως ο Adiantum, επιλύουν το δίλημμα μεταξύ ταχύτητας και ασφάλειας. Η σύνδεση ανάπτυξης υλικού και κρυπτογραφίας είναι αναπόφευκτη καθώς το υλικό προσφέρει υψηλό παραλληλισμό, ο οποίος με τη σειρά του έχει ως αποτέλεσμα ταχύτερες εφαρμογές και ισορροπημένη κατανάλωση ενέργειας. Σε αυτή τη διπλωματική εργασία παρουσιάζουμε την πρώτη προσπάθεια επιτάχυνσης του αλγορίθμου Adiantum για μεγάλα μεγέθη κειμένου με χρήση FPGAs. Η διπλωματική αποτελείται από τρία μέρη: ανάλυση της κατανομής του αλγορίθμου Adiantum με σκοπό να διαπιστωθούν τα πιο υπολογιστικά απαιτητικά κομμάτια του, υλοποίηση του πυρήνα ChaCha12 ο οποίος καταλαμβάνει περίπου 86%-96% του συνολικού χρόνου, και πλήρης υλοποίηση του πυρήνα ChaCha12 και του αλγορίθμου Adiantum σε πλακέτα PYNQ Z1 FPGA. Παρά τους τεχνικούς περιορισμούς, τα αποτελέσματα είναι πολύ ενθαρρυντικά. Συγκεκριμένα ο πυρήνας ChaCha12 είναι 10,731 φορές πιο γρήγορος και 77,000 φορές πιο αποδοτικός ενεργειακά από τον επεξεργαστή Intel i5-3230M. Αν ο αλγόριθμος Adiantum εκτελούνταν σε σύγχρονο σύστημα με επεξεργαστή Intel i5-3230M άμεσα συνδεδεμένο με FPGA λογική, συμπεριλαμβανόμενου του κόστους για Ι/Ο, θα έτρεχε σε ταχύτητες που προσεγγίζουν τα θεωρητικά όρια του νόμου του Amdahl. Ωστόσο, επειδή ο επεξεργαστής του PYNQ Z1 είναι 15 φορές πιο αργός από τον επεξεργαστή Intel i5-3230M, ο πλήρης αλγόριθμος Adiantum στον Intel i5-3230M είναι 4 φορές πιο γρήγορος από ότι στο σύστημα Pynq-z1, αλλά με 2 φορές υψηλότερο ενεργειακό κόστος.