Υλοποίηση αλγορίθμου κρυπτογραφίας post quantum, SPHINCS+ σε υλικό

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

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

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Μαντής, Άγγελος
Άλλοι συγγραφείς: Mantis, Aggelos
Γλώσσα:Greek
Έκδοση: 2022
Θέματα:
Διαθέσιμο Online:http://hdl.handle.net/10889/16395
Περιγραφή
Περίληψη:Η ραγδαία ανάπτυξη των κβαντικών υπολογιστών, στις μέρες μας, από τη μία αποπνέει αισιοδοξία για το μέλλον, από την άλλη γεννά ανασφάλεια στον χώρο της ηλεκτρονικής προστασίας δεδομένων. Για τον λόγο αυτό, μελετώνται ταυτοχρόνως αλγόριθμοι κρυπτογραφίας, οι οποίοι θα είναι σε θέση να αντιστέκονται σε επιθέσεις από κβαντικούς υπολογιστές. Στην παρούσα εργασία, θα εμβαθύνουμε -σε έναν βαθμό- στο θέμα της post quantum κρυπτογραφίας, προκειμένου να γνωρίσουμε γιατί είναι τόσο αναγκαία, πώς προέκυψε αυτή η ανάγκη για νέους αλγορίθμους, καθώς και ποιοι είναι μερικοί από αυτούς. Στη συνέχεια, θα επιλέξουμε έναν από τους αλγορίθμους που αναφέρθηκαν, τον SPHINCS+, και θα αναλύσουμε τον τρόπο λειτουργίας του. Αυτό θα περιλαμβάνει εξέταση της περίπτωσης κρυπτογράφησης και αποκρυπτογράφησης, καθώς και κάθε λεπτού σημείου που θα χρειαστεί πριν ξεκινήσουμε αυτή τη διαδικασία. Έπειτα, θα δημιουργήσουμε το κύκλωμα μίας σημαντικής συνάρτησης της δομής του SPHINCS+, την compute_root, με την οποία υπολογίζουμε το root ενός δυαδικού δέντρου, γνωστού μεγέθους. Εκεί, θα αποσαφηνιστούν τόσο το ποια κυκλωματικά στοιχεία χρησιμοποιούμε, με ποια διάταξη κ.λπ., όσο και η σειρά με την οποία ενεργοποιούνται, μέσω των μηχανών καταστάσεων. Το επόμενο βήμα, αφού δημιουργήσουμε το κύκλωμα, είναι να ελέγξουμε ότι παράγει τα επιθυμητά αποτελέσματα. Γι’ αυτό και θα συγκρίνουμε τους υπολογισμούς που προκύπτουν από αυτό, με τις τιμές που παρέχει ο κώδικας C. Τέλος, αφού βεβαιωθούμε ότι τα αποτελέσματα που λαμβάνουμε από το κύκλωμα που σχεδιάστηκε είναι όντως τα επιθυμητά, χρησιμοποιούμε το πρόγραμμα vivado για να το υλοποιήσουμε σε fpga. Εκεί, θα παρατηρήσουμε και θα συγκρίνουμε χαρακτηριστικά, όπως η κατανάλωση ισχύος, η χρήση επιφάνειας και η μέγιστη συχνότητα λειτουργίας.