Please use this identifier to cite or link to this item:
Title: Αρχιτεκτονικές και FPGA υλοποιήσεις κρυπτογραφικών αλγορίθμων χαμηλής πολυπλοκότητας
Other Titles: Architectures and FPGA implementations of lightweight cryptographic algorithms
Authors: Μωραΐτης, Στυλιανός
Σεϊτανίδης, Δημήτριος-Ιωάννης
Keywords: Κρυπτογραφία χαμηλής πολυπλοκότητας
Keywords (translated): Lightweight cryptography
Field-Programmable Gate Array (FPGA)
Abstract: Η παρούσα διπλωματική εργασία πραγματεύεται το σχεδιασμό και την υλοποίηση Κρυπτογραφικών Αλγορίθμων Χαμηλής Πολυπλοκότητας (Lightweight Cryptographic Algorithms). Στόχος της είναι η ανάπτυξη τεσσάρων κρυπτογραφικών αλγορίθμων με την εφαρμογή διαφόρων αρχιτεκτονικών και συγκεκριμένα των Reuse, Unrolling, Pipeline και συνδυασμών αυτών, ώστε να μπορέσουν να αναδειχθούν με σαφήνεια τα χαρακτηριστικά κάθε μιας από αυτές. Η μελέτη που διεξήχθη αφορούσε τους αλγορίθμους LBlock, Piccolo, Twine και Klein. Για κάθε έναν από τους παραπάνω αλγορίθμους προκύπτουν τρεις εκδόσεις: μια για λειτουργία κρυπτογράφησης (Encryption Only), μια για λειτουργία αποκρυπτογράφησης (Decryption Only), καθώς και μία που προκύπτει ως συνδυασμός αυτών στο ίδιο κύκλωμα (Combined). Κατά την διάρκεια του σχεδιασμού κάθε μίας εκ των προηγούμενων εκδόσεων σε κάθε αλγόριθμο, εφαρμόστηκαν οι αρχιτεκτονικές Reuse, Pipeline δύο σταδίων, Reuse με Unrolling δύο, τεσσάρων και οκτώ σταδίων καθώς και Pipeline δύο σταδίων με Unrolling δύο, τεσσάρων και οκτώ σταδίων. Αυτό οδήγησε στην υλοποίηση συνολικά 93 διαφορετικών σχεδιασμών. Η περιγραφή των αλγορίθμων στο υλικό έγινε σε γλώσσα VHDL. Η προσομοίωση και η επιβεβαίωση της ορθής λειτουργίας τους έγινε μέσω του εργαλείου Modelsim της Mentor Graphics, αφού αρχικά υλοποιήθηκαν σε γλώσσα προγραμματισμού C για την εξακρίβωση των αποτελεσμάτων τους. Με το πέρας των υλοποιήσεων, διεξήχθησαν πειραματικές μετρήσεις των παραμέτρων που αναφέρονται παρακάτω, με την βοήθεια του εργαλείου σχεδιασμού Vivado της Xilinx. Αυτές αφορούν τη μέγιστη συχνότητα λειτουργίας, την επιφάνεια ολοκλήρωσης, τη ρυθμαπόδοση, την κατανάλωση ισχύος καθώς και κάποιες που προκύπτουν συναρτήσει αυτών, όπως ο λόγος της ρυθμαπόδοσης προς την επιφάνεια ολοκλήρωσης (Throughput/Area) και της κατανάλωσης ισχύος ανά bit (Power/Bit). Οι μετρικές αυτές προέκυψαν από την εφαρμογή των υλοποιημένων σχεδιασμών σε τρία διαφορετικά FPGA devices της Xilinx: το xc7k70tfbg484 της οικογένειας Kintex-7, το xc7vx330tffg1 της οικογένειας Virtex-7 και το xc7s50fgga484 της οικογένειας Spartan-7. Σκοπός αυτού ήταν η μελέτη της συμπεριφοράς της κάθε αρχιτεκτονικής στους τέσσερις αυτούς Κρυπτογραφικούς Αλγορίθμους Χαμηλής Πολυπλοκότητας, βάσει των παραπάνω μετρικών. Τέλος, έγινε η σύγκριση των τριών αυτών devices ως προς τις συγκεκριμένες μετρικές, με σκοπό την εξαγωγή συμπερασμάτων σχετικά με τις αποδόσεις τους. Από τη διερεύνηση των αποτελεσμάτων προκύπτει το συμπέρασμα ότι οι σχεδιασμοί που εκτελούν λίγα συνδυαστικά βήματα (ένα ή δύο) σε έναν κύκλο ρολογιού, έχουν μεγάλη συχνότητα λειτουργίας και μικρή επιφάνεια ολοκλήρωσης, ενώ αυτοί με περισσότερα βήματα (δύο ή τέσσερα) παρουσιάζουν ικανοποιητική ρυθμαπόδοση και αποδεκτές τιμές του λόγου της ρυθμαπόδοσης προς την επιφάνεια ολοκλήρωσης. Με την εκτέλεση πολλών βημάτων (οκτώ) η απόδοση πέφτει. Όσο αυξάνεται ο αριθμός αυτών παρατηρείται αύξηση στην κατανάλωση ισχύος.
Abstract (translated): This diploma thesis deals with the design and the implementation of Lightweight Cryptographic Algorithms. Its purpose is the development of four cryptographic algorithms by applying various architectures, in particular the Reuse, Unrolling, Pipeline and combinations thereof, so that the characteristics of each one of them can be clearly demonstrated. The study that was conducted concerned the algorithms LBlock, Piccolo, Twine and Klein. Three different versions are produced for each one of the aforementioned algorithms: one for encryption mode (Encryption Only), one for decryption mode (Decryption Only), as well as one that results as a combination of these in the same circuit (Combined). The architectures of Reuse, two-stages Pipeline, Reuse with two, four and eight stages of Unrolling as well as two-stages Pipeline with two, four and eight stages of Unrolling were applied during the design of each previous version in each algorithm. This led to the implementation of 93 different designs in total. The hardware description of the algorithms was made in VHDL language. The simulation and the confirmation of their correct operation was done by the Modelsim tool of Mentor Graphics, after they were initially implemented in programming language C for the verification of their results. By the end of these implementations, experimental measurements were conducted over the parameters listed below, with the use of the Vivado Design Suite of Xilinx. These parameters concern the maximum frequency, the integration area, the throughput, the power dissipation as well as some others that ensue therefrom, such as the throughput to area ratio (Throughput/Area) and the power per bit (Power/Bit). These metrics have been extracted by downloading the implemented designs on three different Xilinx FPGA devices: xc7k70tfbg484 of the Kintex-7 family, xc7vx330tffg1 of the Virtex-7 family and xc7s50fgga484 of the Spartan-7 family. The purpose of this was the study of the behavior of each architecture over the four Lightweight Cryptographic Algorithms, according to the metrics mentioned above. Finally, a comparison between these three devices was made with respect to these metrics, with the aim of providing some conclusions regarding their performances. After investigating the results it is concluded that designs that execute a few combinational steps (one or two) in a single clock cycle, have a high frequency of operation and a low integration area, while the ones with more steps (two or four) demonstrate a satisfactory throughput and acceptable values of the throughput to area ratio. By executing multiple steps (eight) the performance drops. As the number of them increases, an increase in power dissipation is observed.
Appears in Collections:Τμήμα Ηλεκτρολ. Μηχαν. και Τεχνολ. Υπολογ. (ΔΕ)

Files in This Item:
File Description SizeFormat 
Architectures and FPGA implementations of Lightweight Cryptographic Algorithms.pdf4.01 MBAdobe PDFView/Open

This item is licensed under a Creative Commons License Creative Commons