Αρχιτεκτονικές και FPGA υλοποιήσεις για κρυπτογραφικούς αλγορίθμους χαμηλής πολυπλοκότητας

datacite.rightshttp://purl.org/coar/access_right/c_abf2el
dc.contributor.authorΓεωργίου, Γεώργιος
dc.contributor.otherGeorgiou, George
dc.date.accessioned2021-03-11T15:15:23Z
dc.date.available2021-03-11T15:15:23Z
dc.date.copyright2021-03-11
dc.degreegraduateThesisel
dc.description.abstractΗ παρούσα διπλωματική εργασία πραγματεύεται την εφαρμογή και υλοποίηση αρχιτεκτονικών σε αλγορίθμους Χαμηλής Πολυπλοκότητας (Lightweight Cryptographic Algorithms). Οι αλγόριθμοι που επιλέχθηκαν είναι ο SIMON και ο RoadRunneR. Οι λόγοι για τους οποίους επιλέχθηκαν οι δύο αυτοί αλγόριθμοι είναι το μεγάλο εύρος των εφαρμογών που βρίσκουν, η διαφορετικότητα των δομών τους και η ευκολία στο να υλοποιηθούν οι μεικτές τους εκδόσεις κρυπτογράφησης-αποκρυπτογράφησης. Οι εφαρμοσμένες αρχιτεκτονικές είναι οι Reuse, Unrolling και Pipeline, καθώς και ο συνδυασμός αυτών. Η επιλογή την αρχιτεκτονικών έγινε με γνώμονα την επαναληπτική φύση των προαναφερόμενων αλγορίθμων, ενώ οι συνδυασμοί τους επιλέχθηκαν προκειμένου να μελετηθεί η επίδραση των αρχιτεκτονικών στην απόδοση των αλγορίθμων εκτενέστερα. Εφαρμόσαμε τους παράγοντες ξεδιπλώματος 1, 2, 3 και 6 στην Unrolling αρχιτεκτονική και δύο στάδια διασωλήνωσης στην Pipeline αρχιτεκτονική. Ο λόγος της επιλογής μας αυτής εντοπίζεται στον αριθμό των κύκλων του RoadRunneR. Επιλέξαμε να εφαρμόσουμε τις αρχιτεκτονικές αυτές σε τρείς εκδόσεις των αλγορίθμων. Ο λόγος γίνεται για την έκδοση Κρυπτογράφησης (Encryption-Only), την έκδοση Αποκρυπτογράφησης (Decryption-only) και την Μεικτή έκδοση (Combined). Η περιγραφή των αλγορίθμων σε υλικό έγινε στο ελεύθερο προς χρήση λογισμικό Modelsim της Mentor Graphics με την χρήση της γλώσσας VHDL. Για την επιβεβαίωση της ορθής λειτουργίας των εκδόσεων, αναπτύχθηκαν προγράμματα σε γλώσσα C και Python. Τα δεδομένα για την επιβεβαίωση (test vectors) προήλθαν από αξιόπιστες πηγές στο διαδίκτυο. Την επιβεβαίωσης ορθής λειτουργίας ακολούθησε η πραγματοποίηση πειραματικών μετρήσεων με χρήση του λογισμικού υλοποίησης Vivado της Xilinx. Τα μεγέθη τα οποία επιλέχθηκαν να παρθούν πειραματικά είναι η Μέγιστη Συχνότητα Λειτουργίας (Maximum Frequency), η Επιφάνεια Ολοκλήρωσης (Area), η Ρυθμαπόδοση (Throughput), η Ρυθμαπόδοση ανά Επιφάνεια Ολοκλήρωσης (Throughput/Area) και η Ενέργεια ανά Bit (Energy per Bit). Τα συμπεράσματα για την απόδοση των δύο αλγορίθμων διεξάχθηκαν από την μελέτη της συμπεριφοράς τους ως προς αυτά τα μεγέθη όταν εφαρμόζονταν οι προαναφερόμενες αρχιτεκτονικές. Για την διεξαγωγή των μετρήσεων επιλέχθηκαν δύο συσκευές FPGA, το xc7k70tfbg484 της οικογένειας Kintex-7 και το xc7s50fgga484 της οικογένειας Spartan-7. Εκτός από την σύγκριση των αποδόσεων των αλγορίθμων έγινε και η σύγκριση των αποδόσεων των δύο χρησιμοποιούμενων FPGA ως προς τις προαναφερόμενες μετρικές. Από την μελέτη των πειραματικών μετρήσεων εξάγουμε σημαντικές παρατηρήσεις και συμπεράσματα που σχετίζονται με την γενική απόδοση των αλγορίθμων, τα πλεονεκτήματα της Pipeline αρχιτεκτονικής καθώς και την επίδραση του παράγοντα ξεδιπλώματος στην απόδοση των υλοποιήσεων.el
dc.description.translatedabstractThis diploma thesis deals with the design and implementation of Lightweight Cryptographic Algorithms. The chosen algorithms are SIMON and RoadRunneR. The reasons of their choice are their wide range of application, their different structures and their low decryption-overhead. These algorithms were deployed using the architectures Reuse, Unrolling and Pipeline with their combinations. The repetitive nature of the algorithms is the reason we chose to implement these exact architectures. Their combination was implemented so as to study comprehensibly their characteristics. The preferred unrolling factors are 1, 2, 3 and 6 with 2 stage pipelining. RoadRunneRs total rounds for completion is the reason of this choice. We chose to implement these architectures in three editions, regarding the algorithms. We talk about the Encryption-Only edition, the Decryption-Only edition and the Combined edition. We used VHDL and the free to use software Modelsim from Mentor Graphics to describe in hardware these algorithms. For validation we developed C and Python programs. This procedure was followed by experimental measuring using Vivado tool from Xilinx. The measured quantities are Maximum Frequency, Area, Throughput, Throughput/Area and Energy per Bit. Our conclusion regarding the algorithm performances came from the study of these quantities when we implemented our models with the pre-mentioned architectures. For the experiments we chose the Kintex-7 xc7k70tfbg484 FPGA device and the Spartan-7 xc7s50fgga484 FPGA device. Finally, apart from the algorithms performance comparison, we compared the performances of those two devices, in terms of the pre-mentioned quantities as well. From the study of the prementioned experimental measurements we come across important conclusions regarding the overall performance of the algorithms, the benefits of Pipelining and the impact of the unrolling factor on the algorithms performance.el
dc.identifier.urihttp://hdl.handle.net/10889/14671
dc.language.isogrel
dc.subjectΚρυπτογραφικοί αλγόριθμοι χαμηλής πολυπλοκότηταςel
dc.subject.alternativeLightweight crypto-algorithmsel
dc.subject.alternativeFPGAel
dc.titleΑρχιτεκτονικές και FPGA υλοποιήσεις για κρυπτογραφικούς αλγορίθμους χαμηλής πολυπλοκότηταςel
dc.title.alternativeArchitectures and FPGA implementations for lightweight cryptographic algorithmsel
oaire.licenseConditionnullel

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
George Georgiou thesis.pdf
Size:
8.75 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
4.53 KB
Format:
Item-specific license agreed upon to submission
Description: