Spelling suggestions: "subject:"αλγόριθμος AES"" "subject:"αλγόριθμους AES""
1 |
Συμμετρικοί αλγόριθμοι κρυπτογράφησης δεδομένων : η περίπτωση του αλγορίθμου AESΛυκούδης, Κωνσταντίνος 28 February 2013 (has links)
Στη σύγχρονη ζωή του ανθρώπου η ανταλλαγή και η διακίνηση της πληροφορίας αποτελεί πλέον αναπόσπαστο κομμάτι. Η τεράστια ανάπτυξη των δικτύων υπολογιστών και η επικοινωνία πληροφοριών κάθε μορφής έφερε ένα τεράστιο πρόβλημα στην επιφάνεια, την ανάγκη για προστασία αυτής της πληροφορίας. Το πρόβλημα αυτό καλείται να το αντιμετωπίσει η επιστήμη της Κρυπτογραφίας όπου μέσα από διάφορους μετασχηματισμούς προσπαθεί θα μετατρέψει τα δεδομένα σε μια ακατανόητη μορφή η οποία θα είναι δυνατόν να αντιστραφεί μόνο από τον νόμιμο παραλήπτη. Για το λόγο αυτό έχουν αναπτυχθεί πληθώρα αλγορίθμων κρυπτογράφησης όπου παρόλο που η δουλειά τους είναι η ίδια, χειρίζονται και μετασχηματίζουν τα δεδομένα με διαφορετικό τρόπο.
Στην παρούσα εργασία γίνεται παρουσίαση του αλγορίθμου AES (Advanced Encryption Standard) που αποτελεί το τρέχον πρότυπο από το NIST (National Institute of Standards and Technology). Ο AES ο οποίος είναι και γνωστός ως Rijndael, είναι ένας συμμετρικός αλγόριθμος τμήματος και βασίζεται στα δίκτυα μετάθεσης – αντικατάστασης, ενώ είναι υλοποιήσιμος και γρήγορος τόσο σε λογισμικό όσο και σε υλικό. Αντίθετα με τον προκάτοχο του DES, δεν χρησιμοποιεί το δίκτυο Feistel. Εφαρμόζεται σε έναν πίνακα Bytes 4x4 (128 bits), που ορίζεται ως κατάσταση (state), με τους περισσότερους μετασχηματισμούς να πραγματοποιούνται σε ένα πεπερασμένο πεδίο. Ο αλγόριθμος AES, δίνει τη δυνατότητα κρυπτογράφησης με τρία κλειδιά διαφορετικού μήκους, 128 bits κλειδί με 10 κύκλους επανάληψης, 192 bits κλειδί με 12 κύκλους επανάληψης και 256 bits κλειδί με 14 κύκλους επανάληψης παρουσιάζοντας κάθε φορά μεγάλη ανθεκτικότητα σε κρυπταναλυτικές επιθέσεις.Στα πλαίσια της εργασίας έγινε λεπτομερής ανάλυση των μετασχηματισμών που χρησιμοποιεί ο AES στην κρυπτογράφηση και αποκρυπτογράφηση σύμφωνα με το πρότυπο Fips-197 αρχικά σε θεωρητικό επίπεδο και έπειτα πραγματοποιήθηκαν υλοποιήσεις σε λογισμικό και σε υλικό. Συγκεκριμένα, στο 1ο κεφάλαιο της εργασίας γίνεται μια εισαγωγή στην Κρυπτογραφία, παρουσιάζοντας τις βασικές της έννοιες και την ιστορική της εξέλιξη από τα πρώτα χρόνια εμφάνισης της ως σήμερα. Στο κεφάλαιο 2, αρχικά παρουσιάζονται τα υπάρχοντα κρυπτοσυστήματα, αναδεικνύοντας κάθε φορά τον τρόπο με τον οποίο λειτουργούν, τους αλγόριθμους που υπάγονται σε αυτά και τις εφαρμογές που έχουν. Στη συνέχεια γίνεται σύγκριση μεταξύ των αλγορίθμων ενός συστήματος αλλά και μεταξύ των κρυπτοσυστημάτων. Το κεφάλαιο 3 αποτελεί το κυρίως σώμα της εργασίας καθώς σε αυτό παρουσιάζεται και επεξηγείται ο αλγόριθμος AES. Δίνεται το απαραίτητο μαθηματικό υπόβαθρο και αναλύονται οι μετασχηματισμοί του αλγορίθμου. Παρουσιάζεται ο τρόπος που επεκτείνονται τα κλειδιά του αλγορίθμου καθώς και οι διαδικασίες κρυπτογράφησης και αποκρυπτογράφησης. Τέλος γίνεται αναφορά σε ζητήματα ασφάλειας και στην αντοχή του AES σε κρυπταναλυτικές επιθέσεις, καθώς και στις εφαρμογές που χρησιμοποιείται. Στο 4ο κεφάλαιο παρουσιάζονται και συγκρίνονται οι μέθοδοι υλοποίησης του αλγορίθμου. Περιγράφεται μια υλοποίηση σε λογισμικό με τη χρήση της γλώσσας προγραμματισμού C++, η οποία επεκτείνεται και σε μια διαδικτυακή υλοποίηση και μια υλοποίηση σε υλικό με τη χρήση της περιγραφικής γλώσσας VHDL και το σχεδιαστικό εργαλείο Quartus II. Τέλος στο 5ο κεφάλαιο εξάγονται συμπεράσματα και γίνονται προτάσεις για μελλοντική εργασία. / In modern life the exchange and transfer of information has become an integral part. The enormous development of computer networks and the information communication of every form, has brought a new massive problem on the surface, the need to protect this information.The science of Cryptography is challenged to face this problem, so through various transformations is trying to convert tha data in a incomprehensive form, which will be possible to be inverted only from the legal receiver. For this reason a variety of algorithms have been developed and although their work is the same, they handle and convert data in different ways.
In the present thesis the AES (Advanced Encryption Standard) algorithm is presented, which is the current standard of NIST (National Institute of Standards and Technology). AES, which is also known as Rijndael, is a symmetric block cipher and is based on substitution - permutation networks, while it can be efficiently implemented both in software and hardware. Unlike it's predecessor DES, it does not use Feistel network. It is applied in 4x4 Bytes matrix (128 bits), which is defined as state, with the most transformations to be performed in a finite field. AES algorithm provides encryption capability with three keys of different size: key of 128 bits with 10 rounds, key of 192 bits with 12 rounds and key of 256 bits with 14 rounds.
This thesis includes detailed analysis of transformations that AES uses in ecryption and decryption according to the Fips-197 standard, along with software and hardware implementations. Specifically, in the first chapter an introduction to Cryptography is made, presenting basic concepts and a historical overview. In chapter 2, contemporary cryptosystems are introduced. In chapter 3 the AES algorithm is presented and explained. The necessary mathematical background is provided and the transformations of the algorithm are analysed. The way the algorithm keys are expanded is presented, as well as the encryption and decryption processes. In chapter 4 the implementations of AES are presented and compared. An implementation in software is described using the programming language C++, and an implementation in hardware is given using the VHDL language and the design tool Altera Quartus II. Finally in chapter 5 the conclusions are given and proposals are made for future work.
|
Page generated in 0.0315 seconds