Οι κώδικες διόρθωσης λαθών αποτελούν βασική συνιστώσα ενός σύγχρονου τηλεπικοινωνιακού συστήματος. Η χρήση των κωδίκων αυτών, εγγυάται την αξιοπιστία και την εγκυρότητα των δεδομένων που ανταλλάσσονται και γενικά διασφαλίζει την ποιότητα της επικοινωνίας. Στην εργασία αυτή, μελετάται η κατηγορία των κωδίκων LDPC και πιο συγκεκριμένα μία ειδική περίπτωσή τους, οι Non Binary LDPC κώδικες. Σε αντίθεση με τους Binary κώδικες που περιλαμβάνουν τα δυαδικά στοιχεία (0 και 1), οι Non-Binary κώδικες περιλαμβάνουν στοιχεία που ανήκουν σε σύνολα Galois Field, GF(2^m). Έχει αποδειχθεί πως οι κώδικες Non-Binary αποδίδουν καλύτερα από τους δυαδικούς LDPC και η απόδοσή τους βελτιώνεται, αυξανόμενης της τάξης του αντίστοιχου Galois Field, στο οποίο ανήκουν. Στην διπλωματική αυτή, επικεντρωθήκαμε αρχικά στην ανάπτυξη ενός απλού τηλεπικοινωνιακού μοντέλου σε επίπεδο Matlab, βασικά δηλαδή στην κατασκευή ενός συστήματος κωδικοποίησης και αποκωδικοποίησης πάνω σε κώδικες Non-Binary LDPC. Στο στάδιο αυτό παρατηρήσαμε τις αποκρίσεις των διαφόρων κωδίκων σε μορφή διαγραμμάτων SNR-BER. Σε δεύτερο στάδιο, κατασκευάζοντας το fixed-point μοντέλο της υλοποίησης σε Matlab, αναπτύξαμε κατάλληλο κώδικα RTL σε περιβάλλον VHDL. Τέλος ο κώδικας αυτός ενσωματώθηκε σε κατάλληλο FPGA board, όπου και έγινε σύγκριση των αποκρίσεων σε σχέση με τις αποκρίσεις των εξομοιώσεων.
Οι κώδικες διόρθωσης λαθών αποτελούν βασική συνιστώσα ενός σύγχρονου τηλεπικοινωνιακού συστήματος. Η χρήση των κωδίκων αυτών, εγγυάται την αξιοπιστία και την εγκυρότητα των δεδομένων που ανταλλάσσονται και γενικά διασφαλίζει την ποιότητα της επικοινωνίας. Στην εργασία αυτή, μελετάται η κατηγορία των κωδίκων LDPC και πιο συγκεκριμένα μία ειδική περίπτωσή τους, οι Non Binary LDPC κώδικες. Σε αντίθεση με τους Binary κώδικες που περιλαμβάνουν τα δυαδικά στοιχεία (0 και 1), οι Non-Binary κώδικες περιλαμβάνουν στοιχεία που ανήκουν σε σύνολα Galois Field, GF(2^m). Έχει αποδειχθεί πως οι κώδικες Non-Binary αποδίδουν καλύτερα από τους δυαδικούς LDPC και η απόδοσή τους βελτιώνεται, αυξανόμενης της τάξης του αντίστοιχου Galois Field, στο οποίο ανήκουν. Στην διπλωματική αυτή, επικεντρωθήκαμε αρχικά στην ανάπτυξη ενός απλού τηλεπικοινωνιακού μοντέλου σε επίπεδο Matlab, βασικά δηλαδή στην κατασκευή ενός συστήματος κωδικοποίησης και αποκωδικοποίησης πάνω σε κώδικες Non-Binary LDPC. Στο στάδιο αυτό παρατηρήσαμε τις αποκρίσεις των διαφόρων κωδίκων σε μορφή διαγραμμάτων SNR-BER. Σε δεύτερο στάδιο, κατασκευάζοντας το fixed-point μοντέλο της υλοποίησης σε Matlab, αναπτύξαμε κατάλληλο κώδικα RTL σε περιβάλλον VHDL. Τέλος ο κώδικας αυτός ενσωματώθηκε σε κατάλληλο FPGA board, όπου και έγινε σύγκριση των αποκρίσεων σε σχέση με τις αποκρίσεις των εξομοιώσεων.
Η παρούσα διπλωματική εργασία αφορά τους κώδικες διόρθωσης λαθών LDPC και την υλοποίηση μιας αρχιτεκτονικής αποκωδικοποιητή LDPC για ένα σύστημα 5G New Radio Reduced Capability (RedCap). Γίνεται εισαγωγή στην Quasi-Cyclic δομή των κωδίκων για το πρότυπο αυτό και στους αλγόριθμους αποκωδικοποίησης που χρησιμοποιούνται στο υλικό. Δημιουργείται μοντέλο σε MATLAB για την προσομοίωση της διορθωτικής συμπεριφοράς των κωδίκων LDPC του 5G NR σε ένα εύρος τιμών SNR και για διαφορετικά σχήματα διαμόρφωσης με σκοπό την εξαγωγή σχεδιαστικών παραμέτρων. Μελετάται πώς η μέθοδος κανονικοποίησης των LLR fixed-point αναπαράστασης με 5-bit ακρίβεια επηρεάζει τη διορθωτική ικανότητα του αποκωδικοποιητή. Αναπτύσσεται αρχιτεκτονική που υιοθετεί στοιχεία της βιβλιογραφίας, στηρίζεται σε αυτά, αλλά διαφοροποιείται επιδιώκοντας να επιτύχει καλύτερους συμβιβασμούς μεταξύ εμβαδού και απόδοσης.
Η διόρθωση λαθών με κώδικες LDPC είναι μεγάλου ενδιαφέροντος σε σημαντικές νέες τηλεπικοινωνιακές εφαρμογές, όπως δορυφορικό Digital Video Broadcast (DVB) DVB-S2, IEEE 802.3an (10GBASE-T) και IEEE 802.16 (WiMAX). Οι κώδικες LDPC ανήκουν στην κατηγορία των γραμμικών μπλοκ κωδικών. Πρόκειται για κώδικες ελέγχου και διόρθωσης σφαλμάτων μετάδοσης, με κυριότερο χαρακτηριστικό τους τον χαμηλής πυκνότητας πίνακα ελέγχου ισοτιμίας (Low Density Parity Check), από τον οποίο και πήραν το όνομά τους. Η αποκωδικοποίηση γίνεται μέσω μιας επαναληπτικής διαδικασίας ανταλλαγής πληροφορίας μεταξύ δύο τύπων επεξεργαστικών μονάδων. Η υλοποίηση σε υλικό των LDPC αποκωδικοποιητών αποτελεί ένα ραγδαία εξελισσόμενο πεδίο για τη σύγχρονη επιστημονική έρευνα. Σκοπός της παρούσας διπλωματικής εργασίας υπήρξε ο σχεδιασμός, η υλοποίηση και η βελτιστοποίηση αρχιτεκτονικών αποκωδικοποιητών VLSI για κώδικες LDPC. Έχουν αναπτυχθεί διάφοροι αλγόριθμοι αποκωδικοποίησης, οι οποίοι είναι επαναληπτικοί. Μελετήθηκαν αρχιτεκτονικές βασισμένες σε δύο αλγόριθμους, τον log Sum-Product και τον Min-Sum. Ο πρώτος είναι θεωρητικά βέλτιστος, αλλά ο Min-Sum είναι αρκετά απλούστερος και έχει μεγαλύτερο πρακτικό ενδιαφέρον στα πλαίσια μιας ρεαλιστικής εφαρμογής. Συγκεκριμένα, αναπτύχθηκαν δύο αλγόριθμοι αποκωδικοποίησης, οι οποίοι χρησιμοποιούν ως δομικά στοιχεία, τους δύο προαναφερθέντες αλγορίθμους και τη φιλοσοφία του layered decoding. Η μελέτη μας επικεντρώθηκε σε κώδικες, η δομή των πινάκων ελέγχου ισοτιμίας των οποίων, προσφέρεται για υλοποίηση. Για αυτό το λόγο, χρησιμοποιήσαμε κώδικες του προτύπου WiMax 802.16e. Η συνεισφορά της παρούσας εργασίας έγκειται στο σχεδιασμό και την υλοποίηση αποδοτικών αρχιτεκτονικών σε επίπεδο επιφάνειας και ταχύτητας αποκωδικοποίησης (Mbps), καθώς και η διερεύνηση του σχετικού σχεδιαστικού χώρου, χρησιμοποιώντας ως σχεδιαστικές παραμέτρους, τον αλγόριθμο αποκωδικοποίησης, τη χρονοδρομολόγηση των πράξεων, το βαθμό παραλληλίας της αρχιτεκτονικής, το βάθος του pipelining και την αριθμητική αναπαράσταση των δεδομένων. Επιπλέον, είναι σημαντικό να αναφέρουμε πως, στα πλαίσια της σχεδίασης του LDPC αποκωδικοποιητή και με τη βοήθεια του εργαλείου Matlab, αναπτύχθηκαν παραμετρικά scripts για την παραγωγή του VHDL κώδικα. Οι δύο βασικές παράμετροι που χρησιμοποιήθηκαν ήταν το πλήθος των επεξεργαστικών μονάδων και το μήκος λέξης των δεδομένων. Τα scripts αυτά αποτέλεσαν ένα πολύ χρήσιμο εργαλείο κατά τη διαδικασία ανάπτυξης και βελτιστοποίησης της αρχιτεκτονικής, δίνοντας μας τη δυνατότητα να παράγουμε με αυτοματοποιημένο και γρήγορο τρόπο τον VHDL κώδικα, για τις επιμέρους μονάδες του αποκωδικοποιητή. Η υλοποίηση ενός μοντέλου αποκωδικοποιητή σε υλικό, μας δίνει τη δυνατότητα να διεξάγουμε ταχύτατες εξομοιώσεις, σε σχέση με αντίστοιχες υλοποιήσεις σε λογισμικό (π.χ. σε Matlab περιβάλλον). Διαθέτουμε, έτσι, ένα ισχυρό εργαλείο για τη μελέτη της επίδοσης διαφόρων ρεαλιστικών υλοποιήσεων αποκωδικοποιητών. Κατά τη διάρκεια της υλοποίησης, αξιοποιήθηκε αναπτυξιακό σύστημα βασισμένο σε virtex-4 fpga.
Η παρούσα διπλωματική εργασία αφορά την ανάπτυξη βιβλιοθήκης συναρτήσεων για κβαντικό υπολογισμό και τη δημιουργία γραφικού περιβάλλοντος το οποίο χρησιμοποιεί τη συγκεκριμένη βιβλιοθήκη. Αρχικά μελετήθηκαν: πρώτον, οι βασικές έννοιες που διέπουν τους κβαντικούς υπολογιστές και δεύτερον, η χρήση και οι δυνατότητες της γλώσσας python. Εν συνέχεια, ύστερα από εμβάθυνση στα ανωτέρω πεδία πραγματοποιήθηκε η συγγραφή της κβαντικής βιβλιοθήκης καθώς και η δημιουργία του γραφικού περιβάλλοντος που χρησιμοποιεί τη κβαντική αυτή βιβλιοθήκη. Επίσης δημιουργήθηκε και μία γραφική διεπαφή για την παρουσίαση των γραφικών παραστάσεων που παρουσιάζουν τα αποτελέσματα του κβαντικού υπολογισμού. Η ανάπτυξη του προγράμματος πραγματοποιήθηκε σε γλώσσα Python.
Οι κώδικες LDPC είναι κώδικες διόρθωσης σφαλμάτων που παρέχουν επιδόσεις ρυθμού μετάδοσης πληροφορίας κοντά στη χωρητικότητα του καναλιού και προτάθηκαν για πρώτη φορά από τον Gallager στις αρχές της δεκαετίας του 60. Ωστόσο, μέχρι τα μέσα της δεκαετίας του 90, παρέμειναν στο περιθώριο καθώς η υλοποίηση των αποκωδικοποιητών τους σε υλικό δεν ήταν δυνατή μέχρι τότε. Χαρακτηρίζονται από έναν αραιό πίνακα ελέγχου ισοτιμίας ο οποίος καθορίζει το κύκλωμα και κατά συνέπεια την πολυπλοκότητα του αποκωδικοποιητή. Στην παρούσα εργασία παρουσιάζονται οι κυριότεροι LDPC αλγόριθμοι αποκωδικοποίησης που έχουν αναπτυχθεί μέχρι σήμερα. Ακόμη, έγιναν συγκρίσεις μεταξύ τους για τους κώδικες του προτύπου IEEE 802.11ac σε απλές συνθήκες μετάδοσης και του προτύπου IEEE 802.11ah για όλες τις πιθανές συνθήκες μετάδοσης. Σκοπός αυτής της χαρτογράφησης ήταν η εύρεση της βέλτιστης επιλογής αλγορίθμου ανάλογα με τις εκάστοτε συνθήκες. Μετά από μελέτη των αλγορίθμων, διαπιστώθηκε μια έντονη μείωση της απόδοσης ορισμένων αποκωδικοποιητών όταν υπόκεινται σε puncturing, μια διαδικασία επεξεργασίας που έχει ως σκοπό την αύξηση του πραγματικού ρυθμού του κώδικα. Στην συνέχεια έγινε διερεύνηση της συμπεριφοράς των συγκεκριμένων αλγορίθμων και προτάθηκαν προσεγγίσεις ώστε να βελτιωθούν οι επιδόσεις τους σε επίπεδο ρυθμού σφαλμάτων. Τέλος, σχεδιάστηκε ένα από τα προτεινόμενα συστήματα αποκωδικοποίησης punctured κωδίκων σε γλώσσα υλικού και υλοποιήθηκε με την βοήθεια εργαλείων σχεδίασης. Χρησιμοποιήθηκαν διάφορες μέθοδοι σχεδίασης με σκοπό να μειωθεί η συνολική απαιτούμενη επιφάνεια υλικού της αρχιτεκτονικής και να αυξηθεί το throughput της σχεδίασης.
Οι ραγδαίες εξελίξεις στην επιστήμη της Κβαντικής Υπολογιστικής απειλούν τα θεμέλια ασφάλειας των κλασικών κρυπτογραφικών συστημάτων, καθιστώντας αναγκαία τη δημιουργία και την ανάπτυξη μετακβαντικών κρυπτογραφικών αλγορίθμων. Αυτή η διατριβή διερευνά τα θεωρητικά θεμέλια, τις πρακτικές υλοποιήσεις και τις αξιολογήσεις απόδοσης μετακβαντικών κρυπτογραφικών αλγορίθμων που έχουν σχεδιαστεί για να αντέχουν τις ικανότητες των κβαντικών αντιπάλων. Η έρευνά μας περιλαμβάνει τέτοια πιθανά κρυπτογραφικά πρωτόκολλα, με ιδιαίτερη έμφαση στους αλγόριθμους που βασίζονται σε δικτυωτά και επικεντρώνεται στην ασφάλεια, την αποτελεσματικότητά τους και τη δυνατότητα εφαρμογής τους στην καθημερινότητα. Οι αρχικές ενότητες της διατριβής παρέχουν μια ολοκληρωμένη ανασκόπηση των μαθηματικών θεμελίων της μετα-κβαντικής κρυπτογραφίας, περιγράφοντας λεπτομερώς τα τρωτά σημεία των σημερινών συστημάτων όπως το RSA υπό κβαντικές επιθέσεις, ιδιαίτερα εκείνα που αφορούν τον αλγόριθμο του Shor. Αναλύουμε τις θεμελιώδεις ισχυρές υποθέσεις που στηρίζουν τους μετακβαντικούς αλγόριθμους, όπως το δυσεπίλυτα προβλήματα των δικτυωτών, που δημιουργούν μια ισχυρή θεωρητική βάση για την ασφάλειά τους. Ο πυρήνας της διατριβής είναι αφιερωμένος στην περιγραφή και αξιολόγηση συγκεκριμένων μετακβαντικών κρυπτογραφικών αλγορίθμων που βασίζονται σε δικτυωτά. Η διατριβή εμβαθύνει στις θεωρητικές βάσεις, τις πρακτικές υλοποιήσεις και τις βελτιστοποιήσεις απόδοσης κρυπτογραφικών σχημάτων που βασίζονται σε δικτυωτά, με ιδιαίτερη έμφαση στη δυνατότητα εφαρμογής τους σε έναν μετα-κβαντικό κόσμο. Η έρευνα περιλαμβάνει μια ολοκληρωμένη ανάλυση των μαθηματικών κατασκευών που κρύβουν προβλήματα δικτυωτών,την εφαρμογή τους, την ανάπτυξη ισχυρών κρυπτογραφικών πρωτοκόλλων και την αξιολόγηση της αποτελεσματικότητας και της ασφάλειάς τους. Εξετάζουμε το σχεδιασμό και την υλοποίηση σχημάτων κρυπτογράφησης δημόσιου κλειδιού, όπως τα κρυπτοσυστήματα GGH, NTRU, LWE και Ring-LWE, όπως και ψηφιακών υπογραφών, επισημαίνοντας τις ιδιότητες ασφαλείας και την πρακτική τους απόδοση. ΤοLearning With Errors έχει συγκεντρώσει ιδιαίτερη προσοχή λόγω των ισχυρών αποδείξεων ασφαλείας και της ευελιξίας του στην κατασκευή κρυπτογραφικών σχημάτων. Επιπλέον, η παρούσα διατριβή διερευνά τις θεωρητικές βάσεις και τις πρακτικές εφαρμογές κρυπτογραφικών σχημάτων που βασίζονται στο πρόβλημα Learning With Errors (LWE). Στο δεύτερο και κύριο μέρος, αναπτύσσουμε ένα νέο κρυπτογραφικό πρωτόκολλο βασισμένο στο LWE κρυπτοσύστημα, το οποίο περιλαμβάνει πρωτόκολλο ανταλλαγής κλειδιών και ένα σχήμα κρυπτογράφησης δημόσιου κλειδιού. Ο κρυπτογραφικός μας αλγόριθμος εφαρμόζεται, αναλύεται αυστηρά ως προς την ασφάλεια και την αποτελεσματικότητά του, με έμφαση στη δυνατότητα εφαρμογής του. Εισάγουμε μια βελτιστοποίηση του LWE, κατασκευάζοντας ένα πιο σύνθετο κρυπτογραφικό πρωτόκολλο για κρυπτογράφηση one-to-oneκαι το σχήμα μας είναι ένα σύστημα που βασίζεται στο LWE και εφαρμόζεται σε σύγχρονες πλατφόρμες που χρησιμοποιούν κρυπτογράφηση. Αυτές οι εφαρμογές απεικονίζουν την ευελιξία και τις δυνατότητες του LWE ως θεμελιώδους εργαλείου στο ευρύτερο τοπίο της κρυπτογραφικής έρευνας.Αυτή η διατριβή συμβάλλει στην πρόοδο της κρυπτογραφίας με βάση τα δικτυωτά παρέχοντας θεωρητικές γνώσεις, πρακτικές υλοποιήσεις και ένα καινοτόμο βελτιστοποιημένο κρυπτοσύστημα βασισμένο στο Learning with Errors. Τα ευρήματα μας υποστηρίζουν την υιοθέτηση κρυπτογραφικών συστημάτων που βασίζονται στο LWE ως ακρογωνιαίο λίθο της ασφαλούς επικοινωνίας στη μετα-κβαντική εποχή.
Η παρούσα διπλωματική εργασία αφορά το σχεδιασμό και την υλοποίηση ενός LDPC (low density parity check ) κωδικοποιητή με τη μέθοδο Richardson-Urbanke (RU) και ενός αποκωδικοποιητή MaximumLikelihood. Στην αρχιτεκτονική που χρησιμοποιήσαμε υλοποιήθηκε επίσης ένα ακόμα κύκλωμα ενός binary κωδικοποιητή, για να ελεγχθεί η σωστή λειτουργία της μεθόδου αυτής. Κατά τη διάρκεια εκπόνησης της εργασίας χρησιμοποιήθηκαν διάφορα εργαλεία για την δημιουργία και επιβεβαίωση της ορθής λειτουργίας του αποκωδικοποιητή. Συγκεκριμένα, χρησιμοποιήθηκε το software MATLAB για την ανάπτυξη του μοντέλου του κωδικοποιητή και στη συνέχεια το ISE της Xilinx για την υλοποίηση/σύνθεση του κυκλώματος σε hardware. Τέλος, το κύκλωμα περάστηκε στο FPGA ( ML605 evaluation board ) του εργαστηρίου όπου έγιναν οι τελικές μετρήσεις.