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

Η παρούσα διπλωματική εργασία πραγματεύεται την εφαρμογή και υλοποίηση αρχιτεκτονικών σε αλγορίθμους Χαμηλής Πολυπλοκότητας (Lightweight Cryptographic Algorithms). Οι αλγόριθμοι που επιλέχθηκαν είναι ο SIMON και ο RoadRunneR. Οι λόγοι για τους οποίους επιλέχθηκαν οι δύο αυτοί αλγόριθμοι είναι το μ...

Full description

Bibliographic Details
Main Author: Γεωργίου, Γεώργιος
Other Authors: Georgiou, George
Language:Greek
Published: 2021
Subjects:
Online Access:http://hdl.handle.net/10889/14671
id nemertes-10889-14671
record_format dspace
institution UPatras
collection Nemertes
language Greek
topic Κρυπτογραφικοί αλγόριθμοι χαμηλής πολυπλοκότητας
Lightweight crypto-algorithms
FPGA
spellingShingle Κρυπτογραφικοί αλγόριθμοι χαμηλής πολυπλοκότητας
Lightweight crypto-algorithms
FPGA
Γεωργίου, Γεώργιος
Αρχιτεκτονικές και FPGA υλοποιήσεις για κρυπτογραφικούς αλγορίθμους χαμηλής πολυπλοκότητας
description Η παρούσα διπλωματική εργασία πραγματεύεται την εφαρμογή και υλοποίηση αρχιτεκτονικών σε αλγορίθμους Χαμηλής Πολυπλοκότητας (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 αρχιτεκτονικής καθώς και την επίδραση του παράγοντα ξεδιπλώματος στην απόδοση των υλοποιήσεων.
author2 Georgiou, George
author_facet Georgiou, George
Γεωργίου, Γεώργιος
author Γεωργίου, Γεώργιος
author_sort Γεωργίου, Γεώργιος
title Αρχιτεκτονικές και FPGA υλοποιήσεις για κρυπτογραφικούς αλγορίθμους χαμηλής πολυπλοκότητας
title_short Αρχιτεκτονικές και FPGA υλοποιήσεις για κρυπτογραφικούς αλγορίθμους χαμηλής πολυπλοκότητας
title_full Αρχιτεκτονικές και FPGA υλοποιήσεις για κρυπτογραφικούς αλγορίθμους χαμηλής πολυπλοκότητας
title_fullStr Αρχιτεκτονικές και FPGA υλοποιήσεις για κρυπτογραφικούς αλγορίθμους χαμηλής πολυπλοκότητας
title_full_unstemmed Αρχιτεκτονικές και FPGA υλοποιήσεις για κρυπτογραφικούς αλγορίθμους χαμηλής πολυπλοκότητας
title_sort αρχιτεκτονικές και fpga υλοποιήσεις για κρυπτογραφικούς αλγορίθμους χαμηλής πολυπλοκότητας
publishDate 2021
url http://hdl.handle.net/10889/14671
work_keys_str_mv AT geōrgiougeōrgios architektonikeskaifpgaylopoiēseisgiakryptographikousalgorithmouschamēlēspolyplokotētas
AT geōrgiougeōrgios architecturesandfpgaimplementationsforlightweightcryptographicalgorithms
_version_ 1771297267262685184
spelling nemertes-10889-146712022-09-05T14:00:33Z Αρχιτεκτονικές και FPGA υλοποιήσεις για κρυπτογραφικούς αλγορίθμους χαμηλής πολυπλοκότητας Architectures and FPGA implementations for lightweight cryptographic algorithms Γεωργίου, Γεώργιος Georgiou, George Κρυπτογραφικοί αλγόριθμοι χαμηλής πολυπλοκότητας Lightweight crypto-algorithms FPGA Η παρούσα διπλωματική εργασία πραγματεύεται την εφαρμογή και υλοποίηση αρχιτεκτονικών σε αλγορίθμους Χαμηλής Πολυπλοκότητας (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 αρχιτεκτονικής καθώς και την επίδραση του παράγοντα ξεδιπλώματος στην απόδοση των υλοποιήσεων. This 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. 2021-03-11T15:15:23Z 2021-03-11T15:15:23Z 2021-03-11 http://hdl.handle.net/10889/14671 gr application/pdf