Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

Αρχιτεκτονική υλικού για κωδικοποιητές και αποκωδικοποιητές non-binary LDPC κωδίκων

Κυργιάζου, Ευαγγελία

Published Jul 1, 2019• 0 citations
OpenAlex

Abstract

Η παρούσα διπλωματική εργασία αφορά το σχεδιασμό και την υλοποίηση ενός LDPC (low density parity check ) κωδικοποιητή με τη μέθοδο Richardson-Urbanke (RU) και ενός αποκωδικοποιητή MaximumLikelihood. Στην αρχιτεκτονική που χρησιμοποιήσαμε υλοποιήθηκε επίσης ένα ακόμα κύκλωμα ενός binary κωδικοποιητή, για να ελεγχθεί η σωστή λειτουργία της μεθόδου αυτής. Κατά τη διάρκεια εκπόνησης της εργασίας χρησιμοποιήθηκαν διάφορα εργαλεία για την δημιουργία και επιβεβαίωση της ορθής λειτουργίας του αποκωδικοποιητή. Συγκεκριμένα, χρησιμοποιήθηκε το software MATLAB για την ανάπτυξη του μοντέλου του κωδικοποιητή και στη συνέχεια το ISE της Xilinx για την υλοποίηση/σύνθεση του κυκλώματος σε hardware. Τέλος, το κύκλωμα περάστηκε στο FPGA ( ML605 evaluation board ) του εργαστηρίου όπου έγιναν οι τελικές μετρήσεις.

Related papers

Αλγόριθμοι επαναληπτικής αποκωδικοποίησης κωδικών LDPC και μελέτη της επίδρασης του σφάλματος κβαντισμού στην απόδοση του αλγορίθμου Log Sum-Product

Νικόλαος Κάνιστρας

Οι κώδικες LDPC ανήκουν στην κατηγορία των block κωδικών. Πρόκειται για κώδικες ελέγχου σφαλμάτων μετάδοσης και πιο συγκεκριμένα για κώδικες διόρθωσης σφαλμάτων. Αν και η εφεύρεσή τους (από τον Gallager) τοποθετείται χρονικά στις αρχές της δεκαετίας του 60, μόλις τα τελευταία χρόνια κατάφεραν να κεντρίσουν το έντονο ενδιαφέρον της επιστημονικής-ερευνητικής κοινότητας για τις αξιόλογες επιδόσεις τους. Πρόκειται για κώδικες ελέγχου ισοτιμίας με κυριότερο χαρακτηριστικό τον χαμηλής πυκνότητας πίνακα ελέγχου ισοτιμίας (Low Density Parity Check) από τον οποίο και πήραν το όνομά τους. Δεδομένου ότι η κωδικοποίηση των συγκεκριμένων κωδικών είναι σχετικά απλή, η αποκωδικοποίηση τους είναι εκείνη η οποία καθορίζει σε μεγάλο βαθμό τα χαρακτηριστικά του κώδικα που μας ενδιαφέρουν, όπως είναι η ικανότητα διόρθωσης σφαλμάτων μετάδοσης (επίδοση) και η καταναλισκόμενη ισχύς. Για το λόγο αυτό έχουν αναπτυχθεί διάφοροι αλγόριθμοι αποκωδικοποίησης, οι οποίοι είναι επαναληπτικοί. Παρόλο που οι ανεπτυγμένοι αλγόριθμοι και οι διάφορες εκδοχές τους δεν είναι λίγοι, δεν έχει ακόμα καταστεί εφικτό να αναλυθεί θεωρητικά η επίδοσή τους. Στην παρούσα εργασία παρατίθενται οι κυριότεροι αλγόριθμοι αποκωδικοποίησης κωδικών LDPC, που έχουν αναπτυχθεί μέχρι σήμερα. Οι αλγόριθμοι αυτοί υλοποιούνται και συγκρίνονται βάσει των αποτελεσμάτων εξομοιώσεων. Ο πιο αποδοτικός από αυτούς είναι ο αποκαλούμενος αλγόριθμος log Sum-Product και στηρίζει σε μεγάλο βαθμό την επίδοσή του σε μία αρκετά πολύπλοκή συνάρτηση, την Φ(x). Η υλοποίηση της τελευταίας σε υλικό επιβάλλει την πεπερασμένη ακρίβεια αναπαράστασής της, δηλαδή τον κβαντισμό της. Το σφάλμα κβαντισμού που εισάγεται από την διαδικασία αυτή θέτει ένα όριο στην επίδοση του αλγορίθμου. Η μελέτη που έγινε στα πλαίσια της εργασίας οδήγησε στον προσδιορισμό δύο μηχανισμών εισαγωγής σφάλματος κβαντισμού στον αλγόριθμο log Sum-Product και στη θεωρητική έκφραση της πιθανότητας εμφάνισης κάθε μηχανισμού κατά την πρώτη επανάληψη του αλγορίθμου. Μελετήθηκε επίσης ο τρόπος με τον οποίο το εισαγόμενο σφάλμα κβαντισμού επιδρά στην απόφαση του αλγορίθμου στο τέλος της κάθε επανάληψης και αναπτύχθηκε ένα θεωρητικό μοντέλο αυτού του μηχανισμού. Το θεωρητικό μοντέλο δίνει την πιθανότητα αλλαγής απόφασης του αλγορίθμου λόγω του σφάλματος κβαντισμού της συνάρτησης Φ(x), χωρίς όμως να είναι ακόμα πλήρες αφού βασίζεται και σε πειραματικά δεδομένα. Η ολοκλήρωση του μοντέλου, ώστε να είναι πλήρως θεωρητικό, θα μπορούσε να αποτελέσει αντικείμενο μελλοντικής έρευνας, καθώς θα επιτρέψει τον προσδιορισμό του περιορισμού της επίδοσης του αλγορίθμου για συγκεκριμένο σχήμα κβαντισμού της συνάρτησης, αποφεύγοντας χρονοβόρες εξομοιώσεις.

•Jan 1, 2008•0 citations

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

Γιώργος Περρής-Σάμιος

Ο στόχος αυτής της εργασίας είναι η μελέτη των κωδίκων LDPC και των κατάλληλων αλγορίθμων για την αποκωδικοποίηση μηνύματος το οποίο στέλνεται μέσω ενθόρυβου καναλιού AWGN και τη διόρθωση των λαθών τα οποία προκύπτουν. Επιλέχθηκαν μερικοί από τους αλγορίθμους αποκωδικοποίησης όπως θα παρουσιαστούν παρακάτω, των οποίων μελετάται η απόδοσή για διάφορες τιμές θορύβου συγκρίνοντας τη χρησιμότητα του καθενός με trade-off ανάμεσα στην βέλτιστη απόδοση και την πολυπλοκότητα κατά την υλοποίηση. Η επιλογή αυτών πρέπει να γίνει με βάση τις απαιτήσεις του συστήματος στο οποίο χρησιμοποιούνται κάθε φορά. Οι αλγόριθμοι αυτοί υλοποιήθηκαν σε MATLAB, όπως και το κανάλι AWGN το οποίο μπορεί να δεχτεί ως είσοδο διαφορετικές τιμές θορύβου. Εξομοιώνοντας τη διαδικασία αποστολής επανειλημμένων μηνυμάτων από τον πομπό μέχρι τον τελικό προορισμό συγκρίνουμε την απόδοση των αλγορίθμων. Μετά μελετάται η συμπεριφορά και οι απαιτήσεις κάθε αλγόριθμου με αναπαράσταση των αριθμών ως fixed-point. Αναφέρονται κάποιες τεχνικές μείωσης την κατανάλωσης για χρήση σε κώδικες LDPC και τελικά προτείνεται μία αρχιτεκτονική hardware για υλοποίηση του αποκωδικοποιητή και μελέτη του μέσω του εργαλείου Xilinx ISE.

•Dec 23, 2016•0 citations

Σχεδίαση αποκωδικοποιητή VLSI για κώδικες LDPC

Ioannis Tsatsaragkos

Η διόρθωση λαθών με κώδικες 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.

•Mar 6, 2009•0 citations

Πλήρως παράλληλοι στοχαστικοί σποδωδικοποιητές με χαμηλής πυκνότητας κώδικες ελέγχου ισοτιμίας

Αλέξιος Μαντάς

Οι χαμηλής πυκνότητας κώδικες ελέγχου ισοτιμίας (Low Density Parity Check Codes), που συντομογραφικά σε αυτή την εργασία θα αναφέρουμε ως LDPC κώδικες, είναι γραμμικοί μπλοκ κώδικες που πετυχαίνουν μεταδόσεις κοντά στη χωρητικότητα του καναλιού, και τους διακρίνει ένα αραιό μητρώο ελέγχου ισοτιμίας (parity check matrix). Οι LDPC κώδικες ανήκουν στην κατηγορία των επαναληπτικών κωδίκων διόρθωσης σφαλμάτων. Η επαναληπτική αποκωδικο- ποίηση (Γνωστή και ως message-passing ή probabilistic decoding κωδικοποίηση) μπορεί να επιτευχθεί με ένα μεγάλου βαθμού παραλληλισμό, πετυχαίνοντας έτσι ένα μεγάλο κέρδος τοσο απο τη μεριά της κωδικοποίησης όσο και από τη μεριά της ρυθμοαπόδοσης (throughput). Ο στοχαστικός υπολογισμός (stochastic computing) έχει αποδειχτεί ότι μειώνει τόσο τη ψηφιακή λογική που χρησιμοποιείται σε επίπεδο αριθμού πυλών, όσο και την πολυπλοκότητα στην καλωδίωση των LDPC αποκωδικποιητών. Σκοπός της παρούσας διπλωματικής είναι η μελέτη της εισαγωγής των στοχα- στικών LDPC κωδίκων με υλοποίηση αλγορίθμων αποκωδικοποίησης σε λογικό και σε υλικό.

•Feb 1, 2020•0 citations

Μελέτη πρωτοκόλλων ανταλλαγής και εγκαθίδρυσης κρυπτογραφικών κλειδιών

Μαντάς, Στυλιανός Η.

Στις επικοινωνίες ανάμεσα σε ανοιχτά συστήματα υπάρχουν τέσσερις κύριες κατηγορίες απειλών: Μη εξουσιοδοτημένη απόκτηση της πληροφορίας, Μη εξουσιοδοτημένη τροποποίηση της πληροφορίας, Πλαστοπροσωπία χρήστη, Αποκήρυξη της επικοινωνίας. Ο βασικός μηχανισμός για την παροχή ασφάλειας με τα χαρακτηριστικά που περιγράφηκαν πιο πάνω είναι η κρυπτογραφία. Οι συμμετρικοί αλγόριθμοι κρυπτογραφίας είναι πολύ ασφαλείς, γρήγοροι και έχουν διαδεδομένη χρήση. Ωστόσο, υπάρχουν διάφορες ελλείψεις που σχετίζονται με σχήματα συμμετρικού κλειδιού, όπως το πρόβλημα της διανομής κλειδιού, το μεγάλο πλήθος των κλειδιών που απαιτούνται και επίσης δεν παρέχουν καμία προστασία ενάντια σε επιθέσεις της επικοινωνίας. Τα παραπάνω προβλήματα λύνονται με τη χρήση ασύμμετρων αλγορίθμων ή αλλιώς δημοσίου κλειδιού σε καλά σχεδιασμένα πρωτόκολλα ασφάλειας και ανταλλαγής κλειδιού. Υπάρχουν τρεις κυρίαρχες οικογένειες αλγορίθμων δημοσίου κλειδιού οι οποίες έχουν πρακτικό αντίκρισμα. Μπορούν να ταξινομηθούν με βάση το υπολογιστικό πρόβλημα που τις χαρακτηρίζουν: Συστήματα παραγοντοποίησης ακεραίου, Συστήματα διακριτού λογαρίθμου, Συστήματα ελλειπτικών καμπυλών. Κάθε μία από αυτές τις τρεις οικογένειες μπορούν να παρέχουν τους βασικούς μηχανισμούς δημοσίου κλειδιού, όπως της εγκαθίδρυσης κλειδιού, της μη αποποίησης μέσω ψηφιακών υπογραφών και της κρυπτογράφησης δεδομένων. Ο RSA ανήκει στη κατηγορία των κρυπτογραφικών συστημάτων παραγοντοποίησης ακεραίου και είναι κατάλληλος για κρυπτογράφηση/αποκρυπτογράφηση δεδομένων, για την δημιουργία ψηφιακών υπογραφών και την επαλήθευσή τους καθώς και για την ασφαλή μεταφορά κλειδιών. Ο αλγόριθμος Diffie-Hellman Key Exchange (DHKE) ανήκει στη κατηγορία των κρυπτογραφικών συστημάτων διακριτού λογαρίθμου και αποτελεί μία εντυπωσιακή εφαρμογή του προβλήματος του διακριτού λογαρίθμου. Η θεμελιώδης αυτή τεχνική συμφωνίας κλειδιού υλοποιείται σε πολλά ανοιχτά και εμπορικά κρυπτογραφικά πρωτόκολλα όπως, στο SSH (Secure Shell) και στο IPsec (Internet Protocol Security). Στη τρίτη κατηγορία ανήκει το Elliptic Curve Diffie-Hellman ECDH το οποίο βρίσκεται σε πλήρη αναλογία με τον παραδοσιακό DHKE που αναφέραμε προηγουμένως, μόνο που εδώ πραγματοποιείται ανταλλαγή κλειδιού χρησιμοποιώντας ελλειπτικές καμπύλες. Κάποια από τα πιο γνωστά πρωτόκολλα ασφάλειας πρωτοκόλλων που χρησιμοποιούνται σήμερα κατά κόρον και χρησιμοποιούν ανταλλαγή και εγκαθίδρυση κλειδιού είναι το IPSec σε συνδυασμό με το IKE και το SSL. Ο βασικός στόχος οποιουδήποτε πρωτοκόλλου εγκαθίδρυσης επικυρωμένου κλειδιού είναι να διανέμει δεδομένα κλειδιού με ασφαλή τρόπο χρησιμοποιώντας πρωτόκολλα με έμμεση πιστοποίηση κλειδιού, με ρητή επιβεβαίωση κλειδιού κ.α. Στα πλαίσια της διατριβής αυτής και με σκοπό τη πρακτική μελέτη κάποιων από των πιο διαδεδομένων πρωτοκόλλων κρυπτογράφησης που παρουσιάστηκε και αναλύθηκε στα προηγούμενα κεφάλαια, αναπτύχθηκε μια εφαρμογή σε Java SE. Χρησιμοποιήθηκαν κυρίως το πλαίσιο ανάπτυξης Java Cryptography Architecture (JCA), το περιβάλλον ανάπτυξης λογισμικού netbeans, καθώς και κρυπτογραφικές βιβλιοθήκες JCE provider, και τη συλλογή Bouncy Castle.

•Dec 23, 2013•0 citations

Εργαστηριακή εισαγωγή στην κβαντική υπολογιστική

Ιωάννης Θεοδώνης

Γίνεται όλο και πιο φανερό ότι η περίοδος που διανύουμε αποτελεί μια περίοδο άνθησης των κβαντικών υπολογιστών. Οι κβαντικοί υπολογιστές είναι πλέον ελεύθερα διαθέσιμοι για την εκτέλεση κβαντικών αλγορίθμων που έχουν υλοποιηθεί σε Python με τη χρήση των βιβλιοθηκών ανοιχτού κώδικα Qiskit που έχει αναπτύξει η ΙΒΜ. Η εκπαιδευτική μας πρόταση αποτελείται από: α)Σημειωματάριο Jupyter το οποίο οι εκπαιδευόμενοι έρχονται άμεσα σε επαφή με τις αρχές των κβαντικών υπολογιστών μέσω παραδειγμάτων κα κβαντικών αλγορίθμων με τη χρήση της γλώσσας κβαντικού προγραμματισμού Qiskit της IBM, β)διάλεξη-παρουσίαση και συζήτηση του προαναφερθέντος σημειωματάριου με παράλληλη εργαστηριακή άσκηση των εκπαιδευομένων και γ) ασκήσεις με προτεινόμενες λύσεις. Θα γίνει εισαγωγή στο κβαντικό μπιτ (qubit), στις κβαντικές πύλες, στα κβαντικά κυκλώματα και θα παρουσιαστεί ως παράδειγμα υπεροχής των κβαντικών υπολογιστών, ο αλγόριθμος υπέρπυκνης κωδικοποίησης.

13o Πανελλήνιο Συνέδριο της Διδακτικής των Φυσικών Επιστημών και Νέων Τεχνολογιών στην Εκπαίδευση•Sep 24, 2023•0 citations
Η παρούσα διπλωματική εργασία αφορά το σχεδιασμό και την υλοποίηση ενός LDPC (low density parity check ) κωδικοποιητή με τη μέθοδο Richardson-Urbanke (RU) και ενός αποκωδικοποιητή MaximumLikelihood. Στην αρχιτεκτονική που χρησιμοποιήσαμε υλοποιήθηκε επίσης ένα ακόμα κύκλωμα ενός binary κωδικοποιητή, για να ελεγχθεί η σωστή λειτουργία της μεθόδου αυτής. Κατά τη διάρκεια εκπόνησης της εργασίας χρησιμοποιήθηκαν διάφορα εργαλεία για την δημιουργία και επιβεβαίωση της ορθής λειτουργίας του αποκωδικοποιητή. Συγκεκριμένα, χρησιμοποιήθηκε το software MATLAB για την ανάπτυξη του μοντέλου του κωδικοποιητή και στη συνέχεια το ISE της Xilinx για την υλοποίηση/σύνθεση του κυκλώματος σε hardware. Τέλος, το κύκλωμα περάστηκε στο FPGA ( ML605 evaluation board ) του εργαστηρίου όπου έγιναν οι τελικές μετρήσεις.
Οι κώδικες LDPC ανήκουν στην κατηγορία των block κωδικών. Πρόκειται για κώδικες ελέγχου σφαλμάτων μετάδοσης και πιο συγκεκριμένα για κώδικες διόρθωσης σφαλμάτων. Αν και η εφεύρεσή τους (από τον Gallager) τοποθετείται χρονικά στις αρχές της δεκαετίας του 60, μόλις τα τελευταία χρόνια κατάφεραν να κεντρίσουν το έντονο ενδιαφέρον της επιστημονικής-ερευνητικής κοινότητας για τις αξιόλογες επιδόσεις τους. Πρόκειται για κώδικες ελέγχου ισοτιμίας με κυριότερο χαρακτηριστικό τον χαμηλής πυκνότητας πίνακα ελέγχου ισοτιμίας (Low Density Parity Check) από τον οποίο και πήραν το όνομά τους. Δεδομένου ότι η κωδικοποίηση των συγκεκριμένων κωδικών είναι σχετικά απλή, η αποκωδικοποίηση τους είναι εκείνη η οποία καθορίζει σε μεγάλο βαθμό τα χαρακτηριστικά του κώδικα που μας ενδιαφέρουν, όπως είναι η ικανότητα διόρθωσης σφαλμάτων μετάδοσης (επίδοση) και η καταναλισκόμενη ισχύς. Για το λόγο αυτό έχουν αναπτυχθεί διάφοροι αλγόριθμοι αποκωδικοποίησης, οι οποίοι είναι επαναληπτικοί. Παρόλο που οι ανεπτυγμένοι αλγόριθμοι και οι διάφορες εκδοχές τους δεν είναι λίγοι, δεν έχει ακόμα καταστεί εφικτό να αναλυθεί θεωρητικά η επίδοσή τους. Στην παρούσα εργασία παρατίθενται οι κυριότεροι αλγόριθμοι αποκωδικοποίησης κωδικών LDPC, που έχουν αναπτυχθεί μέχρι σήμερα. Οι αλγόριθμοι αυτοί υλοποιούνται και συγκρίνονται βάσει των αποτελεσμάτων εξομοιώσεων. Ο πιο αποδοτικός από αυτούς είναι ο αποκαλούμενος αλγόριθμος log Sum-Product και στηρίζει σε μεγάλο βαθμό την επίδοσή του σε μία αρκετά πολύπλοκή συνάρτηση, την Φ(x). Η υλοποίηση της τελευταίας σε υλικό επιβάλλει την πεπερασμένη ακρίβεια αναπαράστασής της, δηλαδή τον κβαντισμό της. Το σφάλμα κβαντισμού που εισάγεται από την διαδικασία αυτή θέτει ένα όριο στην επίδοση του αλγορίθμου. Η μελέτη που έγινε στα πλαίσια της εργασίας οδήγησε στον προσδιορισμό δύο μηχανισμών εισαγωγής σφάλματος κβαντισμού στον αλγόριθμο log Sum-Product και στη θεωρητική έκφραση της πιθανότητας εμφάνισης κάθε μηχανισμού κατά την πρώτη επανάληψη του αλγορίθμου. Μελετήθηκε επίσης ο τρόπος με τον οποίο το εισαγόμενο σφάλμα κβαντισμού επιδρά στην απόφαση του αλγορίθμου στο τέλος της κάθε επανάληψης και αναπτύχθηκε ένα θεωρητικό μοντέλο αυτού του μηχανισμού. Το θεωρητικό μοντέλο δίνει την πιθανότητα αλλαγής απόφασης του αλγορίθμου λόγω του σφάλματος κβαντισμού της συνάρτησης Φ(x), χωρίς όμως να είναι ακόμα πλήρες αφού βασίζεται και σε πειραματικά δεδομένα. Η ολοκλήρωση του μοντέλου, ώστε να είναι πλήρως θεωρητικό, θα μπορούσε να αποτελέσει αντικείμενο μελλοντικής έρευνας, καθώς θα επιτρέψει τον προσδιορισμό του περιορισμού της επίδοσης του αλγορίθμου για συγκεκριμένο σχήμα κβαντισμού της συνάρτησης, αποφεύγοντας χρονοβόρες εξομοιώσεις.
Ο στόχος αυτής της εργασίας είναι η μελέτη των κωδίκων LDPC και των κατάλληλων αλγορίθμων για την αποκωδικοποίηση μηνύματος το οποίο στέλνεται μέσω ενθόρυβου καναλιού AWGN και τη διόρθωση των λαθών τα οποία προκύπτουν. Επιλέχθηκαν μερικοί από τους αλγορίθμους αποκωδικοποίησης όπως θα παρουσιαστούν παρακάτω, των οποίων μελετάται η απόδοσή για διάφορες τιμές θορύβου συγκρίνοντας τη χρησιμότητα του καθενός με trade-off ανάμεσα στην βέλτιστη απόδοση και την πολυπλοκότητα κατά την υλοποίηση. Η επιλογή αυτών πρέπει να γίνει με βάση τις απαιτήσεις του συστήματος στο οποίο χρησιμοποιούνται κάθε φορά. Οι αλγόριθμοι αυτοί υλοποιήθηκαν σε MATLAB, όπως και το κανάλι AWGN το οποίο μπορεί να δεχτεί ως είσοδο διαφορετικές τιμές θορύβου. Εξομοιώνοντας τη διαδικασία αποστολής επανειλημμένων μηνυμάτων από τον πομπό μέχρι τον τελικό προορισμό συγκρίνουμε την απόδοση των αλγορίθμων. Μετά μελετάται η συμπεριφορά και οι απαιτήσεις κάθε αλγόριθμου με αναπαράσταση των αριθμών ως fixed-point. Αναφέρονται κάποιες τεχνικές μείωσης την κατανάλωσης για χρήση σε κώδικες LDPC και τελικά προτείνεται μία αρχιτεκτονική hardware για υλοποίηση του αποκωδικοποιητή και μελέτη του μέσω του εργαλείου Xilinx ISE.
Η διόρθωση λαθών με κώδικες 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.
Οι χαμηλής πυκνότητας κώδικες ελέγχου ισοτιμίας (Low Density Parity Check Codes), που συντομογραφικά σε αυτή την εργασία θα αναφέρουμε ως LDPC κώδικες, είναι γραμμικοί μπλοκ κώδικες που πετυχαίνουν μεταδόσεις κοντά στη χωρητικότητα του καναλιού, και τους διακρίνει ένα αραιό μητρώο ελέγχου ισοτιμίας (parity check matrix). Οι LDPC κώδικες ανήκουν στην κατηγορία των επαναληπτικών κωδίκων διόρθωσης σφαλμάτων. Η επαναληπτική αποκωδικο- ποίηση (Γνωστή και ως message-passing ή probabilistic decoding κωδικοποίηση) μπορεί να επιτευχθεί με ένα μεγάλου βαθμού παραλληλισμό, πετυχαίνοντας έτσι ένα μεγάλο κέρδος τοσο απο τη μεριά της κωδικοποίησης όσο και από τη μεριά της ρυθμοαπόδοσης (throughput). Ο στοχαστικός υπολογισμός (stochastic computing) έχει αποδειχτεί ότι μειώνει τόσο τη ψηφιακή λογική που χρησιμοποιείται σε επίπεδο αριθμού πυλών, όσο και την πολυπλοκότητα στην καλωδίωση των LDPC αποκωδικποιητών. Σκοπός της παρούσας διπλωματικής είναι η μελέτη της εισαγωγής των στοχα- στικών LDPC κωδίκων με υλοποίηση αλγορίθμων αποκωδικοποίησης σε λογικό και σε υλικό.
Στις επικοινωνίες ανάμεσα σε ανοιχτά συστήματα υπάρχουν τέσσερις κύριες κατηγορίες απειλών: Μη εξουσιοδοτημένη απόκτηση της πληροφορίας, Μη εξουσιοδοτημένη τροποποίηση της πληροφορίας, Πλαστοπροσωπία χρήστη, Αποκήρυξη της επικοινωνίας. Ο βασικός μηχανισμός για την παροχή ασφάλειας με τα χαρακτηριστικά που περιγράφηκαν πιο πάνω είναι η κρυπτογραφία. Οι συμμετρικοί αλγόριθμοι κρυπτογραφίας είναι πολύ ασφαλείς, γρήγοροι και έχουν διαδεδομένη χρήση. Ωστόσο, υπάρχουν διάφορες ελλείψεις που σχετίζονται με σχήματα συμμετρικού κλειδιού, όπως το πρόβλημα της διανομής κλειδιού, το μεγάλο πλήθος των κλειδιών που απαιτούνται και επίσης δεν παρέχουν καμία προστασία ενάντια σε επιθέσεις της επικοινωνίας. Τα παραπάνω προβλήματα λύνονται με τη χρήση ασύμμετρων αλγορίθμων ή αλλιώς δημοσίου κλειδιού σε καλά σχεδιασμένα πρωτόκολλα ασφάλειας και ανταλλαγής κλειδιού. Υπάρχουν τρεις κυρίαρχες οικογένειες αλγορίθμων δημοσίου κλειδιού οι οποίες έχουν πρακτικό αντίκρισμα. Μπορούν να ταξινομηθούν με βάση το υπολογιστικό πρόβλημα που τις χαρακτηρίζουν: Συστήματα παραγοντοποίησης ακεραίου, Συστήματα διακριτού λογαρίθμου, Συστήματα ελλειπτικών καμπυλών. Κάθε μία από αυτές τις τρεις οικογένειες μπορούν να παρέχουν τους βασικούς μηχανισμούς δημοσίου κλειδιού, όπως της εγκαθίδρυσης κλειδιού, της μη αποποίησης μέσω ψηφιακών υπογραφών και της κρυπτογράφησης δεδομένων. Ο RSA ανήκει στη κατηγορία των κρυπτογραφικών συστημάτων παραγοντοποίησης ακεραίου και είναι κατάλληλος για κρυπτογράφηση/αποκρυπτογράφηση δεδομένων, για την δημιουργία ψηφιακών υπογραφών και την επαλήθευσή τους καθώς και για την ασφαλή μεταφορά κλειδιών. Ο αλγόριθμος Diffie-Hellman Key Exchange (DHKE) ανήκει στη κατηγορία των κρυπτογραφικών συστημάτων διακριτού λογαρίθμου και αποτελεί μία εντυπωσιακή εφαρμογή του προβλήματος του διακριτού λογαρίθμου. Η θεμελιώδης αυτή τεχνική συμφωνίας κλειδιού υλοποιείται σε πολλά ανοιχτά και εμπορικά κρυπτογραφικά πρωτόκολλα όπως, στο SSH (Secure Shell) και στο IPsec (Internet Protocol Security). Στη τρίτη κατηγορία ανήκει το Elliptic Curve Diffie-Hellman ECDH το οποίο βρίσκεται σε πλήρη αναλογία με τον παραδοσιακό DHKE που αναφέραμε προηγουμένως, μόνο που εδώ πραγματοποιείται ανταλλαγή κλειδιού χρησιμοποιώντας ελλειπτικές καμπύλες. Κάποια από τα πιο γνωστά πρωτόκολλα ασφάλειας πρωτοκόλλων που χρησιμοποιούνται σήμερα κατά κόρον και χρησιμοποιούν ανταλλαγή και εγκαθίδρυση κλειδιού είναι το IPSec σε συνδυασμό με το IKE και το SSL. Ο βασικός στόχος οποιουδήποτε πρωτοκόλλου εγκαθίδρυσης επικυρωμένου κλειδιού είναι να διανέμει δεδομένα κλειδιού με ασφαλή τρόπο χρησιμοποιώντας πρωτόκολλα με έμμεση πιστοποίηση κλειδιού, με ρητή επιβεβαίωση κλειδιού κ.α. Στα πλαίσια της διατριβής αυτής και με σκοπό τη πρακτική μελέτη κάποιων από των πιο διαδεδομένων πρωτοκόλλων κρυπτογράφησης που παρουσιάστηκε και αναλύθηκε στα προηγούμενα κεφάλαια, αναπτύχθηκε μια εφαρμογή σε Java SE. Χρησιμοποιήθηκαν κυρίως το πλαίσιο ανάπτυξης Java Cryptography Architecture (JCA), το περιβάλλον ανάπτυξης λογισμικού netbeans, καθώς και κρυπτογραφικές βιβλιοθήκες JCE provider, και τη συλλογή Bouncy Castle.
Γίνεται όλο και πιο φανερό ότι η περίοδος που διανύουμε αποτελεί μια περίοδο άνθησης των κβαντικών υπολογιστών. Οι κβαντικοί υπολογιστές είναι πλέον ελεύθερα διαθέσιμοι για την εκτέλεση κβαντικών αλγορίθμων που έχουν υλοποιηθεί σε Python με τη χρήση των βιβλιοθηκών ανοιχτού κώδικα Qiskit που έχει αναπτύξει η ΙΒΜ. Η εκπαιδευτική μας πρόταση αποτελείται από: α)Σημειωματάριο Jupyter το οποίο οι εκπαιδευόμενοι έρχονται άμεσα σε επαφή με τις αρχές των κβαντικών υπολογιστών μέσω παραδειγμάτων κα κβαντικών αλγορίθμων με τη χρήση της γλώσσας κβαντικού προγραμματισμού Qiskit της IBM, β)διάλεξη-παρουσίαση και συζήτηση του προαναφερθέντος σημειωματάριου με παράλληλη εργαστηριακή άσκηση των εκπαιδευομένων και γ) ασκήσεις με προτεινόμενες λύσεις. Θα γίνει εισαγωγή στο κβαντικό μπιτ (qubit), στις κβαντικές πύλες, στα κβαντικά κυκλώματα και θα παρουσιαστεί ως παράδειγμα υπεροχής των κβαντικών υπολογιστών, ο αλγόριθμος υπέρπυκνης κωδικοποίησης.