Designing in hardware and description with VHDL of cipher algorithm Rijndael

 
see the original item page
in the repository's web site and access all digital files if the item*
share




2008 (EN)
Σχεδίαση σε υλικό και περιγραφή με VHDL του κρυπτογραφικού αλγόριθμου Rijndael
Designing in hardware and description with VHDL of cipher algorithm Rijndael

Χούμκοσλης, Αχιλλέας Αβραάμ

Η εργασία που επιτεύχθηκε ήταν η υλοποίηση του αλγόριθμου κρυπτογραφίας AES Rinjdael για δεδομένα μεγέθους λέξης 128bits.Η μεθοδολογία υλοποίησης και για διάταξη που δουλεύει με δεδομένα μεγέθους 192 και 256 bits είναι ακριβώς η ίδια. Για διδακτικούς σκοπούς και λόγους έχει επιλεχθεί το μέγεθος των 128bits αφού έχει λιγότερα bits και άρα μπορεί κάποιος να παρακολουθήσει ευκολότερα την διαδικασία κρυπτογράφησης/αποκρυπτογράφησης ανά στάδιο. Σκοπός της εργασίας ήταν η υλοποίηση της διάταξης που μπορεί να πραγματοποιήσει την κρυπτογράφηση/αποκρυπτογράφηση δεδομένων. Η γεννήτρια κλειδιών που απαιτείται για την πλήρη λειτουργία του αλγόριθμου και της αντίστοιχης μονάδας μνήμης RAM είναι στόχος κάποιας άλλης ευρύτερης εργασίας. Η αρχιτεκτονική που επιλέχθηκε για την υλοποίηση του αλγόριθμου είναι η pipelined αρχιτεκτονική.Η χρήση αυτής της αρχιτεκτονικής υπερισχύει της απλής υλοποίησης αρχιτεκτονικής . Δηλαδή, είναι προτιμότερο και περισσότερο χρήσιμο να χωρίζονται τα δεδομένα σε άλλα επιμέρους πακέτα δεδομένα έτσι ώστε να είναι συνέχεια <<απασχολημένη>> η μονάδα επεξεργασίας σε αντίθεση με την αρχιτεκτονική απλής υλοποίησης. Αντί λοιπόν να επεξεργάζεται ένα πακέτο δεδομένων την φορά στην μονάδα επεξεργασίας και έτσι το κάθε component που υλοποιεί τα 4 στάδια του αλγόριθμου επεξεργάζεται το πακέτο δεδομένων ενώ τα υπόλοιπα component αδρανούν component λοιπόν τα οποία δεν έχουν δεχθεί δεδομένα περιμένουν να υλοποιήσει το κάθε γύρο για να γεμίσει και πάλι με δεδομένα. Ο προγραμματισμός έγινε χρησιμοποιώντας την <<γλώσσα>> ψηφιακού προγραμματισμού VHDL( very high descriptive language ) με γνώμονα την την όσο γίνεται καλύτερη και ταχύτερη λειτουργία των επιμέρους components αλλά και την όσο γίνεται μικρότερη χρησιμοποίηση ψηφιακών κυκλωμάτων . Σκοπός μας ήταν λοιπόν η όσο το δυνατόν μικρότερη έκταση των κυκλωμάτων ( circuit area ). Σκοπός της περαιτέρω έρευνας είναι η προσπάθεια εξεύρεσης νέων τρόπων και μεθοδολογιών αποδοτικότερων , τόσο σε ταχύτητα επεξεργασίας όσο και σε επιφάνεια κυκλώματος , για την υλοποίηση του αλγόριθμου AES.Τα εργαλεία με τα οποία δουλέψαμε είναι τα Leonardo spectrum 2000.1b και το ModelSim SE-EE 5,4e. To πρώτο εργαλείο χρησιμοποιείται για τον έλεγχο του κώδικα προγραμματισμού αλλά και υλοποιεί το κύκλωμα το ψηφιακό. Το δεύτερο εργαλείο είναι αυτό στο οποίο και ελέγχουμε την σωστή λειτουργία του κωδικα.Ελεγχουμε το σωστό χρονισμό και την σωστή ροή δεδομένων του κάθε component ξεχωριστά αλλά και του συνολικού γενικού component. H εργασία και η υλοποίηση του αλγόριθμου με άλλα εργαλεία καινούργια και πιο εξελιγμένα θα έχει ως αποτέλεσμα καλυτέρα αποτελέσματα τόσο σε επίπεδο προγραμματισμού ( software ) όσο και σε επίπεδο δημιουργίας κυκλώματος ( hardware ) . Ωστόσο , θεωρούμε ότι τα μεγαλύτερα περιθώρια βελτίωσης του κυκλώματος υλοποίησης του αλγόριθμου υπάρχουν στον τομεα του καλύτερου και πιο << έξυπνου >> προγραμματισμου.Δηλαδη , μπορεί και άλλη αρχιτεκτονική πέρα της pipelined αρχιτεκτονικής να αποδώσει καλύτερα είτε ως έχει είτε με κάποια παραλλαγή άλλων αρχιτεκτονικών εφαρμογής. Αντικείμενο αυτής της εργασίας είναι η προσπάθεια υλοποίησης του αλγόριθμου κρυπτογραφίας AES Rinjdael αλλά και μέσω της υλοποίησης η καλύτερη εμβάθυνση του τρόπου χρήσης της <<γλώσσας προγραμματισμού>> ψηφιακών VHDL Η υλοποίηση λοιπόν γίνεται χρησιμοποιώντας τον προγραμματισμό μέσω της <<γλώσσας προγραμματισμού>> ψηφιακών VHDL και των εργαλείων Leonardo spectrum 2000.1b και ModelSim SE-EE 5,4e . Η VHDL υλοποιεί την δημιουργία κυκλωμάτων ψηφιακών που πραγματοποιούν τα στάδια που απαιτεί ο αλγόριθμος φύση της VHDL είναι μια περιγραφική << γλωσσά >>. Αυτό σημαίνει ότι με τον κατάλληλο κώδικα προγραμματισμού περιγράφουμε στα εργαλεία που χρησιμοποιούμε , τα component που απαιτούνται για την υλοποίηση των σταδίων του αλγόριθμου. Η κεντρική αρχιτεκτονική της συνολικής σχεδίασης του γενικού κυκλώματος είναι η pipelined αρχιτεκτονική . Η υλοποίηση δηλαδή των επιμέρους σταδίων έτσι ώστε να επεξεργάζονται συνέχεια δεδομένα το component που υλοποιεί την Enc/Dec_Unit βαθμίδα επεξεργασιας,αντι να επεξεργάζεται δεδομένα ένα component την φορά. Έτσι , γι’ αυτό το λόγο η σχεδίαση γίνεται πιο πολύπλοκη και απαιτείται ο σχεδιασμός κάποιων βαθμιδών παραπανω.Απαιτειται λοιπόν η χρήση components που πραγματοποιούν μετρητές , μονάδα εισόδου δεδομένων και κλειδιού αλλά μιας κεντρικής μονάδας FSM που ελέγχει και συντονίζει την λειτουργία όλων των υπόλοιπων βαθμιδών αλλά και της συνολικής διάταξης. Ο απόλυτος συγχρονισμός όλων αυτών των επιμέρους components είναι και το ζητούμενο κατά την σύνταξη του κώδικα που τα υλοποιεί Η αρχιτεκτονική που υλοποιείται είναι τέτοια ώστε να είναι δυνατή η λειτουργία της κρυπτογραφίας αλλά και της αποκρυπτογραφιάς από το ίδιο κύκλωμα σχεδίαση της διάταξης είναι τέτοια ώστε χρησιμοποιώντας μια κοινή κυκλωματική υλοποίηση που περιέχει components που πραγματοποιούν τόσο κρυπτογράφηση όσο και άλλα components που πραγματοποιούν όσο και αποκρυπτογραφηση.Αυτη η λειτουργία είναι εφικτή με την χρήση του κατάλληλου σήματος ελέγχου που επιλέγει τα αντίστοιχα components που απαιτουνται.Ετσι, μπορούμε να πούμε ότι όλα τα components που υλοποιούν τα 4 στάδια του αλγόριθμου αποτελούνται το καθένα από 2 άλλα επιμέρους components που το καθένα υλοποιεί η’ την μια λειτουργία η’ την άλλη. Η ροή δεδομένων μεγέθους 128bits αφού έχουν επεξεργασθεί , εξέρχονται από το κεντρικό component CORE και τότε η συνολική διάταξη είτε συνεχίζει την λειτουργία της επεξεργασίας είτε παραμένει σε αδράνεια και αναμένει τα καινούργια δεδομένα στην είσοδο της μονάδας εισόδου δεδομένων.
The effort to protect information and the safety of communications has always been a major and most significant task . During transmission of confidential information, there is always the fear of their interception or stealing by non-authorized persons or enemies. The effort to protect information has led to the need to find new ways for encryption in such a way that they are incomprehensible and protected from whoever tries to slip into their transmission, even if he manages to get them. This need and effort of encryption is nowdays a science and is called cryptography. In order to encrypt data in a message, an encryption algorithm is needed. The safety of the algorithm usually has nothing to do with its secrecy, but with its resistance to attacks. Therefore, the algorithm uses keys, meaning secret codes necessary for the encryption and decryption of the message. The object of this project is the development of the AES Rijndael algorithm.. Its design is rather conservative, yet still allows a very efficient implementation. For the implementation of the algorithm we choose the choice of pipelined architecture.It uses 4 different stages which operate on each byte idependently and an easy analysis that enables us to demonstrate its security against all known types of attack. We have a 128-bit data block, size and a 128-bit key. In this project, we develop the design that it will reproduce the algorithm using for tools the programs Leonardo and Modelsim. We design the circuit that it will accomplish the encryption and the decryption.We accomplish to design a unit which is able to operate both as encryption and as the decryptio . The circuit is composed of 7 components, which are: the counters , count_round count_final and count_mix , the load input units Load_input_unit and Load_key_unit , the FSM control and finally the main component Encr/Decr_unit. The algorithm constituted from 10 rounds from which the first and the 10th are different from the others. So , the FSM control unit is efforted to control amd <<know>> at which stage and which round the data are.The counters and the load input units are developed with such a way that it is possible to prepare the data for a the pipelined unit Encr/Decr. The language that was used is the VHDL and the mode of composing the codes is descriptive. For the implementation and development of the project, we use a design program, the Leonardo Spectrum and the simulation program (the Modelsim) in order to check the right timing and operation of components and circuits.

info:eu-repo/semantics/masterThesis
Postgraduate Thesis / Μεταπτυχιακή Εργασία

Algorithm Rijndael
Coynters
Key gennerator
Αλγόριθμοι Rijndael
Μετρητές
Καταχωρητές
Επιφάνεια κυκλώματος
Κρυπτογράφηση
Encoding
Registers
Γεννήτρια κλειδιών
Work area

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης (EL)
Aristotle University of Thessaloniki (EN)

Greek
English

2008
2009-10-07T09:59:42Z


Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης, Σχολή Θετικών Επιστημών, Τμήμα Φυσικής

This record is part of 'IKEE', the Institutional Repository of Aristotle University of Thessaloniki's Library and Information Centre found at http://ikee.lib.auth.gr. Unless otherwise stated above, the record metadata were created by and belong to Aristotle University of Thessaloniki Library, Greece and are made available to the public under Creative Commons Attribution-ShareAlike 4.0 International license (http://creativecommons.org/licenses/by-sa/4.0). Unless otherwise stated in the record, the content and copyright of files and fulltext documents belong to their respective authors. Out-of-copyright content that was digitized, converted, processed, modified, etc by AUTh Library, is made available to the public under Creative Commons Attribution-ShareAlike 4.0 International license (http://creativecommons.org/licenses/by-sa/4.0). You are kindly requested to make a reference to AUTh Library and the URL of the record containing the resource whenever you make use of this material.
info:eu-repo/semantics/openAccess



*Institutions are responsible for keeping their URLs functional (digital file, item page in repository site)