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

Ψηφιακά συστήματα που χρησιμοποιούνται σε περιβάλλοντα με περιορισμένο περιθώριο ενεργειακής κατανάλωσης και διαθεσιμότητας πόρων απαιτούν ένα ικανό επίπεδο κρυπτογράφησης για ασφαλή επικοινωνία. Αλγόριθμοι που αναπτύσσονται για αυτό το σκοπό αποτελούν μια ικανοποιητική λύση, όμως, βελτιωμένες αρχιτ...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Ζυγούρος, Ιωάννης
Άλλοι συγγραφείς: Θεοδωρίδης, Γεώργιος
Μορφή: Thesis
Γλώσσα:Greek
Έκδοση: 2019
Θέματα:
Διαθέσιμο Online:http://hdl.handle.net/10889/12590
Περιγραφή
Περίληψη:Ψηφιακά συστήματα που χρησιμοποιούνται σε περιβάλλοντα με περιορισμένο περιθώριο ενεργειακής κατανάλωσης και διαθεσιμότητας πόρων απαιτούν ένα ικανό επίπεδο κρυπτογράφησης για ασφαλή επικοινωνία. Αλγόριθμοι που αναπτύσσονται για αυτό το σκοπό αποτελούν μια ικανοποιητική λύση, όμως, βελτιωμένες αρχιτεκτονικές υλοποιήσεις αυτών των αλγορίθμων δύναται να επιτύχουν πιο γρήγορη επικοινωνία και καλύτερα κυκλωματικά χαρακτηριστικά. Σκοπός της παρούσας διπλωματικής εργασίας είναι ο σχεδιασμός και η υλοποίηση κρυπτογραφικών συστημάτων με βάση τον αλγόριθμο PRESENT, η επαλήθευσή λειτουργίας τους και η σύγκριση των επιδόσεων τους. Συγκεκριμένα αναπτύχθηκαν και υλοποιήθηκαν τέσσερεις αρχιτεκτονικές. Με χρήση της γλώσσας περιγραφής υλικού VHDL, υλοποιήθηκε ένα συνδυαστικό κύκλωμα (Combined Module) που διαθέτει σύστημα παραγωγής κλειδιών, σύστημα κρυπτογράφησης και αποκρυπτογράφησης και τρείς αρχιτεκτικές για κρυπτογράφηση με χρήση της τεχνικής διοχέτευσης (Pipeline) των 2, 4 και 8 σταδίων. Η επιβεβαίωση της ορθής λειτουργίας των αρχιτεκτονικών έγινε σε προγραμματιστικό επίπεδο (software) στη γλώσσα C και σε επίπεδο υλικού (hardware) με χρήση της γλώσσας VHDL στη πλακέτα FPGA (Field Programmable Gate Array) Virtex 5. Οι αρχιτεκτονικές που αναπτύχθηκαν, εφαρμόστηκαν σε επιλεγμένες οικογένειες Xilinx FPGA (Spartan, Atrix, Virtex) με γνώμονα μικρή, μεσαία και μεγάλη διαθεσιμότητα πόρων. Συγκεκριμένα, από τα πειραματικά αποτελέσματα που προέκυψαν στο FPGA device Spartan 100, παρατηρήθηκε ότι η Combined Module υλοποίηση εμφάνισε συχνότητα λειτουργίας (Performance) 117 MHz, ρυθμό επεξεργασίας δεδομένων (Throughput) 107 Mbps, ρυθμό επεξεργασίας δεδομένων ανά επιφάνεια (Throughput/Area) 132 Mbps/Slice και ρυθμό επεξεργασίας δεδομένων προς ενεργειακή κατανάλωση (Throughput/Power) 986 Mbps/Watt. Παρόμοια αποτελέσματα εμφανίστηκαν και στα υπόλοιπα devices. Διακρίνεται πως οι αρχιτεκτονικές με χρήση της τεχνικής Pipeline παρουσίασαν βελτιωμένα κυκλωματικά χαρακτηριστικά συγκρίνοντας τα με την αρχιτεκτονική Combined Module. Στην αρχιτεκτονική Pipeline 2 Stages παρατηρήθηκε στο ίδιο device, αύξηση κατά 37% στην απόδοση με 161 MHz, 171 % στο Throughput με 291 Mbps και επιπλέον διπλάσιο Throughput/Area. Στην αρχιτεκτονική Pipeline 4 Stages η βελτίωση στην απόδοση ήταν 52% και φάνηκε πενταπλάσια βελτίωση σε Throughput και Throughput/Area, ενώ η Pipeline 8 Stages παρουσίασε βελτίωση 44% σε απόδοση με 170 MHz, 9,5 φορές καλύτερο Throughput με 1127 Mbps και 13 φορές βελτιωμένο Throughput/Area με 1316 Mbps/Slice. Παρατηρήθηκε επίσης μείωση στα Slices των FPGA καθώς αυξήθηκαν τα στάδια Pipeline. Το αντίθετο διακρίθηκε για τα LUT και τα Flip Flop. Παρόμοια αποτελέσματα είχαν και τα υπόλοιπα FPGA που χρησιμοποιήθηκαν. Επίσης έγινε αντιληπτό πως η στατική κατανάλωση εξαρτάται από το μέγεθος και το μοντέλο του εκάστοτε FPGA, ενώ όσο περισσότερα ήταν τα στάδια Pipeline, τόσο αυξήθηκε και η δυναμική κατανάλωση. Αξιοσημείωτο είναι πως η οικογένεια Virtex παρουσίασε συνολικά το καλύτερο Throughput σε όλες τις αρχιτεκτονικές με 660 Mbps, όμως είχε 62% λιγότερο Throughput/Power σε σχέση με τα μοντέλα Spartan και Atrix. Η παρούσα μελέτη έδειξε ότι αξιοποιώντας την τεχνική Pipeline αυξάνονται σημαντικά οι επιδόσεις ενός κρυπτογραφικού συστήματος PRESENT, ενώ θυσιάζονται ελάχιστοι πόροι και κατανάλωση. Επίσης, παρατηρήθηκε πως οι χρησιμοποιούμενοι πόροι της εκάστοτε αρχιτεκτονικής ήταν σημαντικά μειωμένοι συγκριτικά με τα FPGA devices που επιλέχθηκαν προκαλώντας αυξημένη ενεργειακή κατανάλωση. Η επιλογή devices με λίγους διαθέσιμους πόρους θα αποτελούσε καλύτερη λύση για περιβάλλοντα με περιορισμένο περιθώριο ενεργειακής κατανάλωσης και πόρων.