Σχεδιασμός και υλοποίηση web εφαρμογής με γραφικό περιβάλλον για την παρουσίαση της λειτουργίας του αλγορίθμου κρυπτογράφησης AES
| datacite.contributor.RelatedPerson | Κακλαμάνης, Χρήστος | |
| datacite.contributor.RelatedPerson | Τσώλης, Δημήτρης | |
| datacite.contributor.Supervisor | Παπαϊωάννου, Εύη | |
| dc.contributor.author | Αλεξοπούλου, Αγγελική | |
| dc.contributor.other | Alexopoulou, Angeliki | |
| dc.date.accessioned | 2026-02-27T06:39:50Z | |
| dc.date.available | 2026-02-27T06:39:50Z | |
| dc.date.issued | 2026-02-26 | |
| dc.degree | graduateThesis | |
| dc.description.abstract | Η κρυπτογραφία είναι η διαδικασία της κρυπτογράφησης, δηλαδή της απόκρυψης ή κωδικοποίησης πληροφοριών, έτσι ώστε μόνο οι εξουσιοδοτημένοι αποδέκτες να μπορούν να τις αποκρυπτογραφήσουν, δηλαδή να τις διαβάσουν. Για τον σκοπό αυτό, έχουν σχεδιαστεί και χρησιμοποιούνται συγκεκριμένες μέθοδοι, δηλαδή αλγόριθμοι, για τη μετατροπή αναγνώσιμων δεδομένων (απλό κείμενο-plaintext) σε μη αναγνώσιμη μορφή (κρυπτογραφημένο κείμενο-ciphertext), ώστε να αποτρέπεται η μη εξουσιοδοτημένη πρόσβαση και αλλοίωση. Οι αλγόριθμοι κρυπτογράφησης έχουν καθοριστικό ρόλο στον σύγχρονο, έντονα διασυνδεδεμένο και δικτυοκεντρικό κόσμο μας, καθώς αποτελούν βασικό στοιχείο της ασφαλούς ψηφιακής επικοινωνίας και των σύγχρονων διαδικτυακών οικονομιών. Οι αλγόριθμοι κρυπτογράφησης βασίζονται σε μαθηματικές έννοιες και χρησιμοποιούν μυστικά κλειδιά για την κρυπτογράφηση και την αποκρυπτογράφηση δεδομένων. Ο AES (Advanced Encryption Standard) είναι ένας ιδιαίτερα ασφαλής αλγόριθμος συμμετρικής κρυπτογράφησης που χρησιμοποιείται παγκοσμίως για την προστασία ευαίσθητων ψηφιακών δεδομένων, μετατρέποντάς τα σε μη αναγνώσιμο κώδικα, χρησιμοποιώντας το ίδιο κλειδί τόσο για την κρυπτογράφηση όσο και για την αποκρυπτογράφηση. Ο αλγόριθμος AES αποτελεί πρότυπο του NIST (US National Institute of Standards and Technology) και υποστηρίζει κλειδιά 128, 192 ή 256 bit, ενώ αποτελεί θεμέλιο της ασφάλειας σε εφαρμογές που εκτείνονται από τις ηλεκτρονικές τραπεζικές συναλλαγές έως την αποθήκευση αρχείων. Χρησιμοποιείται ευρέως στα πρωτόκολλα ασφάλειας Wi-Fi για την κρυπτογράφηση δεδομένων που μεταδίδονται μέσω ασύρματων δικτύων. Ο AES κρυπτογραφεί δεδομένα σε μπλοκ σταθερού μεγέθους (128 bit) μέσω πολλαπλών γύρων μετασχηματισμών. Κάθε γύρος περιλαμβάνει διάφορα στάδια, όπως αντικατάσταση δεδομένων, μετατόπιση γραμμών, ανάμειξη στηλών και προσθήκη ενός μέρους του κλειδιού. Ο AES-256, με μήκος κλειδιού 256 bit, θεωρείται πρακτικά απρόσβλητος από επιθέσεις εξαντλητικής αναζήτησης (brute force) με την τρέχουσα υπολογιστική ισχύ, γεγονός που τον καθιστά ένα από τα ασφαλέστερα συστήματα κρυπτογράφησης που χρησιμοποιούνται σήμερα. Ο AES περιλαμβάνεται στην ύλη μαθημάτων Κρυπτογραφίας στην τριτοβάθμια εκπαίδευση. Ωστόσο, υπάρχει δυσκολία στη διδασκαλία του, κυρίως επειδή ο αλγόριθμος βασίζεται σε σύνθετη μαθηματική δομή που περιλαμβάνει αριθμητική πεπερασμένων σωμάτων (συμπεριλαμβανομένων πράξεων XOR και πολλαπλασιασμού πολυωνύμων), πολλαπλασιασμό μητρώων και μη γραμμικούς μετασχηματισμούς byte, απαιτώντας από τους φοιτητές να κατανοήσουν ταυτόχρονα τόσο τους υψηλού επιπέδου κρυπτογραφικούς στόχους όσο και την αριθμητική σε επίπεδο byte. Κατά συνέπεια, η διδασκαλία του AES συχνά επικεντρώνεται στην παρουσίαση γενικών εννοιών, αντί για εις βάθος ανάλυση των μαθηματικών και των επιμέρους συναρτήσεων κάθε γύρου, καθώς και της συνολικής διαδικασίας πολλών (10, 12 ή 14) γύρων μετασχηματισμών. Με αφορμή τις παραπάνω παρατηρήσεις και με στόχο να βοηθήσουμε στη διδασκαλία αλλά και την κατανόηση και εφαρμογή του αλγορίθμου AES, σχεδιάσαμε και υλοποιήσαμε μια διαδικτυακή εφαρμογή που δίνει τη δυνατότητα στους χρήστες να εξοικειωθούν τόσο με τη μαθηματική δομή όσο και με ολόκληρη τη διαδικασία των πολλαπλών γύρων μετασχηματισμών του AES. Η εφαρμογή μας περιλαμβάνει ενότητες μάθησης και εξάσκησης, καθώς και ενότητα για την παρουσίαση του S-box (Substitution box) και του αντίστροφου S-box, ενός σταθερού πίνακα αναζήτησης που χρησιμοποιείται στον AES κατά τις διαδικασίες κρυπτογράφησης και αποκρυπτογράφησης. Παρέχει επίσης mini υπολογιστή (calculator) ειδικά σχεδιασμένο για την εκτέλεση πράξεων XOR και μετατροπών μεταξύ δεκαεξαδικών και δυαδικών αριθμών, οι οποίες χρησιμοποιούνται εκτενώς στον AES. Στην εκπαιδευτική ενότητα, μπορεί να πραγματοποιηθεί βήμα προς βήμα εκτέλεση ολόκληρης της διαδικασίας AES για όλα τα μεγέθη κλειδιού, τόσο για κρυπτογράφηση όσο και για αποκρυπτογράφηση, συμπεριλαμβανομένης της οπτικοποίησης και αναλυτικών πληροφοριών που παρέχονται για όλους τους εφαρμοζόμενους μετασχηματισμούς. Η ενότητα εξάσκησης δίνει τη δυνατότητα στους χρήστες να εξασκούνται διαδραστικά σε κάθε στάδιο του αλγορίθμου AES, με καθοδήγηση καθ’ όλη τη διάρκεια της διαδικασίας. Από όσο γνωρίζουμε, δεν έχει παρουσιαστεί μέχρι σήμερα παρόμοια εφαρμογή. Η εφαρμογή μας, η οποία είναι προς το παρόν διαθέσιμη σε ελληνικά και αγγλικά, έχει αναπτυχθεί με χρήση της βιβλιοθήκης ανοιχτού κώδικα React ενώ φιλοξενείται στην υπηρεσία GitHub Pages. | |
| dc.description.translatedabstract | Cryptography is the process of encrypting, i.e., hiding or coding, information so that only the intended recipients can decrypt, i.e., read, them. To this aim, particular methods, i.e., algorithms are devised and used for transforming readable data (plaintext) into an unreadable format (ciphertext) so that unauthorized access and tampering are prevented. Cryptographic algorithms play essential and pivotal role in our current highly interconnected, network centric world since they form a key element of secure digital communication and modern online economies. Cryptographic algorithms rely on mathematical concepts and use secret keys for data encryption and decryption. AES (Advanced Encryption Standard) is a highly secure, symmetric encryption algorithm used globally to protect sensitive digital data by transforming it into unreadable code, using the same key for encryption and decryption. It is a NIST standard, supporting 128, 192, or 256-bit keys, and is a cornerstone for security from online banking to file storage. It is commonly used in Wi-Fi security protocols, to encrypt data transmitted over wireless networks. AES encrypts data in fixed-size blocks (128 bits) through multiple rounds of transformations. Each round involves several steps like substituting data, shifting rows, mixing columns and adding a part of the key. AES-256, which has a key length of 256 bits, is considered practically unbreakable by brute force with current computing power, making it one of the most secure encryption systems in use today. AES is included in the curriculum of Cryptography courses in higher education. However, AES is considered difficult to teach primarily because it moves toward a complex mathematical structure involving finite field arithmetic (including XOR and polynomial multiplication), matrix multiplication and non-linear byte transformations requiring students to understand both high-level cryptographic goals and low-level byte-level arithmetic simultaneously. Consequently, teaching AES often focuses on presenting general concepts rather than deep-diving into the math and on individual round functions rather than the entire 10-round process. Motivated by these observations and with an intention to make the AES algorithm easier for students to understand and use, we designed and implemented an online application which enables students to familiarize with the underlying math and the entire 10-round process of AES. Our application includes learning and training sections as well as section for forward and inverse S-box (Substitution box), a fixed lookup table used in AES during the encryption and decryption processes. It also provides a calculator particularly designed for performing XOR operations and conversions involving hexadecimal and binary numbers, which are extensively used in AES. Within the educational section, step-by-step execution of the complete AES process can be performed for all AES key-sizes for both encryption and decryption including visualization and detailed information for all applied transformations. The training section enables users to practice each step of the AES algorithm in an interactive manner with guidance provided along the way. To the best of our knowledge, no similar application has been presented so far. Our application, currently available in greek and english, has been developed using the React open-source JavaScript library as the main development ecosystem and GitHub Pages for online hosting. | |
| dc.identifier.uri | https://hdl.handle.net/10889/31487 | |
| dc.language.iso | el | |
| dc.rights | Attribution-NonCommercial-ShareAlike 3.0 Greece | en |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/gr/ | |
| dc.subject | Mαθήματα κρυπτογραφίας | |
| dc.subject | Αλγόριθμοι κρυπτογράφησης/αποκρυπτογράφησης AES | |
| dc.subject | Οπτικοποίηση αλγορίθμων | |
| dc.subject | Διαδραστική μάθηση και εξάσκηση | |
| dc.subject | Εκπαιδευτικές διαδικτυακές εφαρμογές | |
| dc.subject | Εργαλεία υπολογισμού XOR | |
| dc.subject.alternative | Cryptography courses | |
| dc.subject.alternative | AES encryption/decryption algorithms | |
| dc.subject.alternative | Algorithm visualization | |
| dc.subject.alternative | Interactive learning and training | |
| dc.subject.alternative | Educational web applications | |
| dc.subject.alternative | S-box | |
| dc.subject.alternative | XOR calculators | |
| dc.title | Σχεδιασμός και υλοποίηση web εφαρμογής με γραφικό περιβάλλον για την παρουσίαση της λειτουργίας του αλγορίθμου κρυπτογράφησης AES | |
| dc.title.alternative | Design and implementation of a web application for the AES encryption algorithm |