Spelling suggestions: "subject:"μετασχηματισμού"" "subject:"αυτοματισμού""
1 |
Σχεδίαση και υλοποίηση σε FPGA, αρχιτεκτονικών πολλαπλών λειτουργιών χαμηλής επιφάνειας ολοκλήρωσης, για κρυπτογραφικές συναρτήσεις κατακερματισμούΚομηνέας, Θεόδωρος 31 August 2012 (has links)
Η παρούσα διπλωματική εργασία πραγματεύεται σχεδιασμούς και υλοποιήσεις σε υλικό αρχιτεκτονικών για κρυπτογραφικές συναρτήσεις κατακερματισμού. Στόχος ήταν η ανάπτυξη αρχιτεκτονικών πολλαπλών λειτουργιών για συναρτήσεις κατακερματισμού της οικογένειας Secure Hash Algorithms (SHA). Αναλυτικότερα, αρχικά έλαβε χώρα μελέτη τριών συναρτήσεων κατακερματισμού, και συγκεκριμένα των SHA-1, SHA-256 και SHA-512, καθώς και των αντίστοιχων αρχιτεκτονικών τους (τέσσερα στάδια pipeline). Στη μελέτη αυτή έγινε ανάλυση και εντοπισμός ομοιοτήτων και διαφορών των αρχιτεκτονικών αυτών, όσον αφορά τα δομικά τους στοιχεία και τις επιμέρους παραμέτρους τους. Με βάση τα αποτελέσματα αυτά, και αξιοποιώντας τις ομοιότητες των αρχικών αρχιτεκτονικών, σχεδιάστηκαν δύο αρχιτεκτονικές πολλαπλών λειτουργιών με τέσσερα στάδια pipeline: α) η SHA-1/256 που ενσωματώνει τις λειτουργίες των SHA-1 και SHA-256 αλγορίθμων και b) η SHA-1/256/512 που ενσωματώνει τις λειτουργίες και των τριών. Λόγω της παραπάνω αξιοποίησης, οι αρχιτεκτονικές αυτές παρουσιάζουν μικρή απώλεια σε ταχύτητα, ενώ ταυτόχρονα η επιφάνεια ολοκλήρωσης κρατείται σε χαμηλά επίπεδα. Η ορθή λειτουργία των παραπάνω αρχιτεκτονικών επιβεβαιώθηκε, αρχικά, μέσω εξομοίωσης με το ModelSim της Mentor Graphics, Στη συνέχεια, εκτελέστηκε σύνθεση και place-&-route των αρχιτεκτονικών σε FPGAs της Xilinx (οικογένειες Virtex-4, Virtex-5, Virtex-6) με χρήση της σουίτας Xilinx ISE Design Suite v12.1, από όπου προέκυψαν οι μετρικές της απόδοσής τους (συχνότητα, επιφάνεια, ρυθμαδόποση). Τέλος, πραγματοποιήθηκε, ενδεικτικά, υλοποίηση της αρχιτεκτονικής SHA-1/256 στο board Spartan 3E (xc3s500E) και εκ νέου επιβεβαίωση της ορθής λειτουργίας. / This thesis deals with the design and implementation in hardware architectures for cryptographic hash functions. The aim was to develop multi-mode architectures for the Secure Hash Algorithms (SHA) famylies. Specifically, the study initially held three hash functions, namely SHA-1, SHA-256 and SHA-512, as well as their respective architectures (four-stage pipeline). This study has analyzed and identified similarities and differences of these architectures, on their components and sub-parameters. Based on these results, and using the similarities of the original architecture, we designed two multi-mode architectures with four-stage pipeline: a) SHA-1/256 that integrates the functions of the SHA-1 and SHA-256 algorithms and b) the SHA -1/256/512 incorporating the functions of all three. Due to the above use, the architectures have little loss in speed, while the chip area is kept low. The proper functioning of these architectures was, initially, through simulation with ModelSim (Mentor Graphics), then performed synthesis and place-&-route architectures of FPGAs to Xilinx (families of Virtex-4, Virtex-5, Virtex-6) using the Xilinx ISE Design Suite v12.1, from which emerged the metrics of performance (frequency, area, throughput). Finally, for demonstration reasons, an implementation of the architecture SHA-1/256 board Spartan 3E (xc3s500E) and re-confirmation of its correct operation took place.
|
2 |
Ανάπτυξη σε FPGA κρυπτογραφικού συστήματος για υλοποίηση της JH hash functionΜπάρδης, Δημήτριος 31 May 2012 (has links)
Στόχος της παρούσας Διπλωματικής Εργασίας είναι ο σχεδιασμός και υλοποίηση ενός Κρυπτογραφικού Συστήματος με βάση τον Αλγόριθμο κατακερματισμού JH. Ο σχεδιασμός του κρυπτογραφικού αυτού συστήματος έγινε με τη χρήση γλώσσας VHDL (Very High Speed Integrated Circuits hardware description language) και στη συνέχεια η υλοποίηση αυτή έγινε πάνω σε πλατφόρμα FPGA (Field Programmable Gate Array).
Ο αλγόριθμος JH είναι ένας αλγόριθμος κατακερματισμού (hash function) ο οποίος σχεδιάστηκε στα πλαίσια του διαγωνισμου κρυπτογραφιας NIST (National Institute of Standards and Technology). Η πρώτη του έκδοση έγινε στις 31 Οκτωβρίου 2008 ενώ η τελική του έκδοση έγινε στις 16 Ιανουαρίου 2011. Ο Αλγόριθμος JH έχει τρεις υποκατηγορίες. Υπάρχει ο JH-224, JH-256, JH-384 και ο JH-512.
Βασικό χαρακτηριστικό του αλγορίθμου αυτού είναι το γεγονός πώς οι λειτουργίες που συμβαίνουν σε κάθε γύρο είναι ίδιες. Επίσης σημαντικό γνώρισμα ειναι η ασφάλεια που παρέχει ο αλγόριθμος αυτός καθώς ο μεγάλος αριθμός των ενεργών S-boxes που χρησιμοποιούνται και ταυτόχρονα το γεγονός ότι σε κάθε γύρο χρησιμοποιείται ένα διαφορετικό κλειδι το οποίο παράγεται εκεινη τη στιγμή και δεν ειναι αποθηκευμένο σε ένα σημείο, στο οποίο θα μπορούσε κάποιος να επέμβει, κάνει το σύστημά μας εξαιρετικά δυνατό και ανθεκτικό απέναντι σε επιθέσεις όπως είναι η διαφορική κρυπτανάλυση.
Για την εξακρίβωση της ορθής λειτουργίας του συστήματος χρησιμοποιήθηκε μία υλοποίηση του Αλγορίθμου JH σε γλώσσα C. Χρησιμοποιώντας την υλοποίηση αυτή κάθε φορά που θέλουμε να κρυπτογραφήσουμε ένα μήνυμα το οποίο είναι μία σειρά από bit, λαμβάνουμε το κρυπτογραφημένο μήνυμα. Αυτο το κρυπτογραφημένο μήνυμα το συγκρίνουμε με αυτό που παίρνουμε στην έξοδο του συστήματος JH που σχεδιάσαμε και με αυτό το τρόπο επιβεβαιώνουμε την ορθότητα του αποτελέσματος.
Ύστερα από την non-pipelined υλοποίηση του συστήματος αυτού, χρησιμοποιήθηκε η τεχνική της συσωλήνωσης (pipeline). Πιο συγκεκριμένα εγιναν 4 διαφορετικές pipelined υλοποιήσεις με 2,3,6 και 7 στάδια. Σκοπός είναι για κάθε μία pipelined υλοποίηση να γίνει έλεγχος σε θέματα απόδοσης, κατανάλωσης ισχύος καθώς επίσης και σε θέματα επιφάνειας. Στη συνέχεια γίνεται μία σύγκριση στα προαναφερθέντα θέματα μεταξύ των διαφορετικών pipelined υλοποιήσεων και με την non-pipelined υλοποίηση του κρυπτογραφικού συστήματος JH. Επίσης αξίζει να σημειωθεί πώς γίνεται ιδιαίτερη αναφορά στο throughput και στο throughput per area των pipelined υλοποιήσεων.
Από τα πειραματικά αποτελέσματα που προέκυψαν η JH NON PIPELINED υλοποίηση έχει απόδοση 97 MHz με κατανάλωση ισχύος 137mW και συνολική επιφάνεια 2284 slices σε SPARTAN 3E FPGA συσκευή. Ενώ από την ανάλυση της JH NON PIPELINED υλοποίησης και των 4 pipelined υλοποιήσεων σε 4 διαφορετικά FPGA (2 της οικογένειας SPARTAN και 2 της οικογένειας VIRTEX) συμπεραίνουμε πώς στην οικογένεια VIRTEX η κατανάλωση ισχύος είναι πάντα μεγαλύτερη σε σχεση με την οικογένεια SPARTAN. / The purpose of this Thesis Project is the design and implementation of a Cryptographic System using the JH Hash Algorithm. The design of this Cryptographic System was performed using the VHDL language (Very High Speed Integrated Circuits hardware description language) and then this implementation was executed on a FPGA platform (Field Programmable Gate Array).The JH Algorithm is a hash algorithm that was developed during the NIST (National Institute of Standards and Technology) Cryptography Competition. Its first version was released on 31 October 2008 while its last version was released on 16 January 2011. The JH Hash Algorithm has three subcategories. There is JH-224, JH-256, JH-384, and JH-512.
Basic characteristic of this Algorithm is the fact that the functions that are executed in each round are identical. Moreover important characteristic is the security that this Algorithm provides us while the big number of active S-Boxes that is used and in the same time the fact that in each round a different key is produced on the fly, and is not stored in a place that a third person could have access, makes our system really strong and resistant to attacks such as the differential attack.
To confirm the right functionality of the system the implementation of the JH Algorithm in C Language is used. Using this implementation each time we want to cipher a message, which is a sequence of bits, we get the message digest. This message digest is compared with the message digest that we get from the JH system that we developed with VHDL and in this way we confirm the correctness of the result.
After the non pipelined implementation of the JH system the pipeline technique was used. To be more specific 4 different pipelined implementations with 2, 3, 6 and 7 stages were performed. The target was to check the performance, area and power dissipation for each pipelined implementation. Next a comparison was performed between the various pipelined implementations and the non pipelined implementation for the above mentioned issues. In addition to this it is worth to mention that considerable reference is made for throughput and throughput per area for the pipelined implementations.
According to the experimental results the JH NON PIPELINED implementation has a performance of 97 MHz, with power dissipation of 137mW and a total area of 2284 Slices on SPARTAN 3E FPGA device. From the JH NON PIPELINED implementation and the other 4 pipelined implementations on 4 different FPGA Devices (2 from the VIRTEX family and 2 from the SPARTAN family) we concluded that the power dissipation is bigger in VIRTEX family devices in comparison to SPARTAN family Devices.
|
3 |
Πολλαπλή αποστολή δεδομένων σε DHT δίκτυα / Multicasting over DHTsΚαπρίτσος, Εμμανουήλ 23 October 2007 (has links)
Η ραγδαία ανάπτυξη του διαδικτύου και των τεχνολογιών που το υποστηρίζουν έχει οδηγήσει στην ραγδαία αύξηση των εφαρμογών διαμοίρασης δεδομένων. Ταυτόχρονα, οι ανάγκες για ταχεία μεταφορά δεδομένων γίνονται ολοένα και μεγαλύτερες. Μία από τις πιο απαιτητικές κατηγορίες εφαρμογών που διανέμουν πληροφορία είναι οι εφαρμογές πολλαπλής αποστολής δεδομένων. Σε αυτές τις εφαρμογές, ένας αποστολέας θέλει να στείλει δεδομένα σε μία ομάδα παραληπτών, οι οποίοι στη γενική περίπτωση είναι γεωγραφικά κατανεμημένοι. Είναι προφανές ότι ο αποστολέας δεν μπορεί να στείλει τα δεδομένα σε όλους τους παραλήπτες ταυτόχρονα, γιατί το έυρος ζώνης που διαθέτει είναι περιορισμένο, ενώ οι παραλήπτες μπορεί να είναι χιλιάδες. Έτσι, υιοθετείται συνήθως η τακτική δημιουργίας ενός δέντρου διανομής, όπου ο αρχικός κόμβος στέλνει σε μερικούς μόνο παραλήπτες, οι οπόιοι προωθούν το μήνυμα στα παιδιά τους κ.ο.κ. Το δέντρο διανομής συνήθως κατασκευάζεται πάνω από ένα δομημένο δίκτυο ομοτίμων (p2p networks) και πιο συγκεκριμένα πάνω από ένα δίκτυο βασισμένο σε Κατανεμημένους Πίνακες Κατακερματισμού (Distributed Hash Tables - DHT). Αυτή η τεχνική, αν και λύνει το πρόβλημα της πολλαπλής αποστολής, αντιμετωπίζει όμως κάποια προβλήματα. Πιο συγκεκριμένα, το δέντρο διανομής είναι στατικό, δηλαδή δεν μπορεί να μεταβληθούν οι συνδέσεις μεταξύ των κόμβων αν αλλάξουν οι συνθήκες του υφιστάμενου δικτύου. Ακόμα, δεν υπάρχει κάποιος έλεγχος για τις δυνατότητες των κόμβων που βρίσκονται στα υψηλότερα επίπεδα του δέντρου. Αυτό έχει σαν αποτέλεσμα το δέντρο να χάνει μεγάλο μέρος από την αποδοτικότητά του. Στα πλαίσια της εργασίας αυτής, μελετάμε τη δημιουργία ενός δυναμικού δέντρου διανομής, το οποίο μπορεί να αναπροσαρμόζεται στις εκάστοτε συνθήκες, αυξάνοντας έτσι σημαντικά τη συνολική αποδοτικότητα. Πιο συγκεκριμένα, η βασική μετρική είναι το εύρος ζώνης που παρατηρούν οι χρήστες κατα τη διάρκεια μιας αποστολής δεδομένων. Παρουσιάζουμε διάφορα στατιστικά στοιχεία που δείχνουν τη δραστική βελτίωση που επιτυγχάνουμε με τη χρήση του συγκεκριμένου αλγορίθμου. Ακόμα, μελετάμε τη δημιουργία ενός δέντρου διανομής που θα εκμεταλλεύεται τη δομή των DHT δίκτύων και θα μπορεί να διανέμει την πληροφορία αξιόπιστα (με χρήση erasure coding τεχνικών) ενώ θα εγγυάται ένα λογαριθμικό μέσο αριθμό βημάτων για την αποστολή των δεδομένων. Ταυτόχρονα, το σύστημα προσπαθεί να ισοκατανείμει το φόρτο προώθησης των μηνυμάτων σε όλους τους κόμβους του δικτύου. Και τα δύο συστήματα έχουν υλοποιηθέι και αξιολογηθεί χρησιμοποιώντας το DHT σύστημα Pastry και την υλοποίησή του σε Java (FreePastry). / The rapid evolution of the Internet and network technologies has led to an equally rapid increase in data dissemination applications. At the same time, the need for quick data transfer increase daily. One of the most demanding categories of information disseminating applications are file sharing applications. In these applications, one transmitter wants to send data to a group of receivers, that are geographically distributed. It is obvious that the transmitter can not send the data to all receivers simultaneously, because his bandwidth is limited , while the receivers may be hundreds or even thousands. Therefore, the most common method is that of the creation of a dissemination tree, where the initial node forwards the information to some recipients and they forward it to their children, etc. The dissemination tree is usually constructed over a peer-to-peer network, and specifically over a Distributed Hash Table (DHT) network. This method, although solves the problem of multicasting, faces some problems. First, the dissemination tree is static, which means that the connections between the nodes can not be rearranged, if the conditions of the underlying network change. Moreover, there is no control over the efficiency of the nodes in the highest levels of the tree. This leads to a significant drop in tree efficiency. In this thesis, we study the creation of a dynamic dissemination tree, which can adapt to the network conditions, thereby increasing the tree performance. Specifically, the basic evaluation metric is the bandwidth that end users perceive. We present evidence that shows the improvement that our algorithm imposes. We also study the creation of a dissemination tree that uses the existing DHT structure to efficiently and reliably (using erasure coding techniques) disseminate information and guarantees a logarithmic number of hops for message delivery. At the same time, the system tries to balance the load among all network nodes. Both systems were implemented and evaluated using the Pastry system and its implementation in Java (FreePastry).
|
4 |
Σχεδιασμός και υλοποίηση σε υλικό κρυπτογραφικών μηχανισμών με δυνατότητα ανίχνευσης σφαλμάτωνΚοτσιώλης, Απόστολος 21 March 2011 (has links)
Σκοπός της διπλωματικής εργασίας είναι ο σχεδιασμός και η υλοποίηση σε υλικό κρυπτογραφικών μηχανισμών με τέτοιο τρόπο έτσι ώστε να αποκτήσουν ιδιότητες αυτό-ελέγχου χρησιμοποιώντας μηχανισμούς ανίχνευσης σφαλμάτων. Για το σκοπό αυτό θα προσπαθήσουμε να επιλέξουμε μέσα από γνωστούς μηχανισμούς ανίχνευσης λαθών που είναι διαθέσιμοι στη βιβλιογραφία, αυτούς που θα μας βοηθήσουν να εισάγουμε στο σύστημά μας τις επιθυμητές ιδιότητες αυτό-ελέγχου λαμβάνοντας παράλληλα φροντίδα για την διατήρηση των ιδιαίτερων χαρακτηριστικών του.
Λόγω της κρισιμότητας που έχει η διαδικασία κρυπτογράφησης είναι πολύ σημαντικό να πραγματοποιείται χωρίς σφάλματα. Πιθανά σφάλματα θα μπορούσε να τα εκμεταλλευτεί κάποιος εισβολέας ώστε να διαβάσει το περιεχόμενο του μηνύματος κατά τη διάρκεια μιας μετάδοσης ή θα μπορούσαν να προκαλέσουν λάθη στο ίδιο το μήνυμα και την hash value που του αντιστοιχεί. Για αυτούς τους λόγους θα προσπαθήσουμε να εισάγουμε στην υλοποίηση του αλγόριθμου κρυπτογράφησης μηχανισμούς ανίχνευσης σφαλμάτων ώστε να διασφαλιστεί η απροβλημάτιστη λειτουργία του. Παράλληλα λόγω των ιδιαίτερων απαιτήσεων που υπάρχουν για ένα σύστημα κρυπτογράφησης που έχουν να κάνουν με ταχύτητα επεξεργασίας και την όσο το δυνατόν μικρότερη επιφάνεια ολοκλήρωσης θα λάβουμε ιδιαίτερη φροντίδα ώστε το σύστημα μας να διατηρήσει αυτά τα επιθυμητά χαρακτηριστικά. / The purpose of this thesis is the design and implementation in hardware of cryptographic mechanisms in order to gain self-checking properties using error detection techniques. In order to do so we will try to pick through known error detection mechanisms, those who will help us apply the desired self-checking characteristics to our system while taking care to maintain its characteristics.
It is critical for the encryption process to be error-free. Possible errors could be exploited by an attacker to read the contents of the message during a broadcast or could cause errors in the message itself and the hash value that corresponds. For these reasons, we try to apply error detection mechanisms to the hardware implementation of the hash algorithms in order to ensure trouble free operation. At the same time, due to the special requirements of an encryption system about high processing speed and the smallest integration area possible we will take care so as our system to maintain these desired characteristics.
|
5 |
Βελτιστοποίηση επαναπροσδιοριζομένων αρχιτεκτονικών για απόδοση και κατανάλωση ενέργειας σε κρυπτογραφικές εφαρμογές κυριαρχούμενες από δεδομέναΜιχαήλ, Χαράλαμπος 12 April 2010 (has links)
Στη παρούσα διδακτορική διατριβή του κ. Χαράλαμπου Μιχαήλ με τίτλο «Βελτιστοποίηση Επαναπροσδιοριζόμενων Αρχιτεκτονικών για Απόδοση και Κατανάλωση Ενέργειας για Κρυπτογραφικές Εφαρμογές και Εφαρμογές Κυριαρχούμενες από Δεδομένα» προτείνονται, αναπτύσσονται και μελετώνται αποδοτικές τεχνικές βελτιστοποίησης της απόδοσης ή/και της κατανάλωσης ενέργειας για κρυπτογραφικές εφαρμογές καθώς και εφαρμογές κυριαρχούμενες από δεδομένα που υλοποιούνται σε ενσωματωμένες πλατφόρμες ειδικού σκοπού. Συνολικά, οι προτεινόμενες τεχνικές μελετήθηκαν για τις διάφορες παραμέτρους που έχουν και συνολικά οδήγησαν στην διαμόρφωση της προτεινόμενης γενικής μεθοδολογίας βελτιστοποίησης των κρυπτογραφικών και λοιπών εφαρμογών κυριαρχούμενων από δεδομένα. Τα θεωρούμενα συστήματα στοχεύουν σε αριθμητικά απαιτητικές εφαρμογές και προέκυψαν εντυπωσιακές βελτιστοποιήσεις ειδικά δε στην απόδοση συγκεκριμένων κρυπτογραφικών εφαρμογών όπως οι συναρτήσεις κατακερματισμού και ανάμειξης (hash functions) και κατά συνέπεια και των αντίστοιχων κρυπτογραφιών μηχανισμών στους οποίους αυτές χρησιμοποιούνται. Πρωταρχικός σχεδιαστικός στόχος είναι η αύξηση της ρυθμαπόδοσης σχεδιάζοντας κρυπτογραφικές εφαρμογές για διακομιστές υπηρεσιών ή γενικότερα εφαρμογές κυριαρχούμενες από δεδομένα.
Λαμβάνοντας επίσης υπόψη το γεγονός ότι η κρυπτογραφία αποτελεί σήμερα –πιο πολύ παρά ποτέ- ένα αναγκαίο και αναντικατάστατο συστατικό της ανάπτυξης ηλεκτρονικών υπηρεσιών μέσω διαδικτύου και της εν τέλει μετάβασης της ανθρωπότητας στο νέο οικονομικό μοντέλο της «ηλεκτρονικής οικονομίας» είναι προφανής η σημασία της προτεινόμενης μεθοδολογίας και των αντίστοιχων σχεδιασμών που προκύπτουν. Η ολοκλήρωση των κρυπτογραφικών συστημάτων ασφαλείας σε υλικό είναι σχεδόν αναγκαία για τα ενσωματωμένα συστήματα κρυπτογράφησης. Τα πλεονεκτήματα που έχουμε είναι η υψηλή απόδοση, η μειωμένη κατανάλωση ισχύος με μειονέκτημα το κόστος της ολοκλήρωσης σε υλικό. Νέες τεχνολογίες όπως FPGAs (Field-Programmable Gate Array), επιτρέπουν την πιο εύκολη ολοκλήρωση του αλγορίθμου και την ανανέωση - αντικατάστασή του από νεώτερους-βελτιωμένους. Ήδη τα τελευταίας γενιάς FPGAs τείνουν να έχουν τις ιδιότητες των ASICs (Application-Specific Integrated Circuit) -μειωμένη κατανάλωση ισχύος, υψηλή απόδοση, και ρύθμιση της λειτουργικότητας ανάλογα την εφαρμογή. Ένα άλλο πλεονέκτημα των υλοποιήσεων σε υλικό είναι πως από την φύση τους είναι λιγότερο ευαίσθητο σε επιθέσεις κρυπτανάλυσης ενώ μπορούν ευκολότερα να ενσωματώσουν πολιτικές αντιμετώπισης κρυπταναλυτικών τεχνικών .
Ερευνητική Συνεισφορά
Ανάπτυξη και μελέτη τεχνικών βελτιστοποίησης που οδηγούν σε σχέδια με πολύ υψηλή ρυθμαπόδοση και περιορισμένο κόστος σε επιφάνεια ολοκλήρωσης για κρυπτογραφικές και υπολογιστικά απαιτητικές εφαρμογές
Αναπτύσσονται και αναλύονται όλες οι επιμέρους τεχνικές που αξιολογήθηκαν κατά την εκπόνηση της εν λόγω διδακτορικής διατριβής και χρησιμοποιούνται για την βελτιστοποίηση των σχεδίων σε υλικό. Μελετώνται οι παράμετροι εφαρμογής ανάλογα με την υφή της κάθε τεχνικής και τα τιθέμενα σχεδιαστικά κριτήρια, τα οποία εξαρτώνται από τα επιθυμητά χαρακτηριστικά των σχεδίων σε υλικό καθώς και από τις εν γένει προδιαγραφές τους ανάλογα με τον εκάστοτε σχεδιαστικό στόχο.
Ανάπτυξη και μελέτη «πάνω-προς-τα-κάτω» μεθοδολογίας βελτιστοποίησης των σχεδίων που οδηγούν σε πολύ υψηλή ρυθμαπόδοση και περιορισμένο κόστος σε επιφάνεια ολοκλήρωσης για κρυπτογραφικές και υπολογιστικά απαιτητικές εφαρμογές
Αναπτύσσεται ολοκληρωμένη και δομημένη συνολική μεθοδολογία βελτιστοποίησης σχεδίων, με βάση τις επιμέρους τεχνικές που παρουσιάστηκαν και αναλύθηκαν, που οδηγεί σε γενική μεθοδολογία η οποία είναι εφαρμόσιμη σε όλες σχεδόν τις συναρτήσεις κατακερματισμού για τις οποίες καταφέρνει να παράγει σχέδια υψηλής απόδοσης με περιορισμένο κόστος σε επιφάνεια ολοκλήρωσης. Ταυτόχρονα, αναλύονται τα θεωρητικώς αναμενόμενα οφέλη από την κάθε επιμέρους τεχνική βελτιστοποίησης καθώς και από την συνολική εφαρμογή της μεθοδολογίας βελτιστοποίησης του σχεδιασμού σε υλικό ανάλογα με την επιλεχθείσα τιμή των παραμέτρων της κάθε εφαρμοζόμενης τεχνικής.
Ανάπτυξη σχεδίων σε υλικό πολύ υψηλής βελτιστοποίησης για τις συναρτήσεις κατακερματισμού SHA-1 και SHA-256
Παρουσιάζεται η διαδικασία βελτιστοποίησης του σχεδιασμού σε υλικό των δυο πιο σημαντικών συναρτήσεων κατακερματισμού αναφέροντας σε κάθε περίπτωση τα επιμέρους κέρδη, καθώς και την συνολική βελτίωση που επιτεύχθηκε με την εφαρμογή της προτεινόμενης μεθοδολογίας. Οι δύο συναρτήσεις είναι οι SHA-1 (η πιο δημοφιλής συνάρτηση κατακερματισμού στις σημερινές εφαρμογές) και SHA-256 (που αναμένεται να χρησιμοποιηθεί ευρύτατα στο μέλλον παρέχοντας υψηλότερο επίπεδο ασφάλειας). Υλοποιήσεις σε συγκεκριμένες επαναπροσδιοριζόμενες αρχιτεκτονικές συγκρίνονται με αντίστοιχες που έχουν προταθεί ερευνητικά ή είναι εμπορικά διαθέσιμες, αποδεικνύωντας την υπεροχή των προτεινόμενων σχεδίων. Έτσι προκύπτουν σχέδια πολύ υψηλής ρυθμαπόδοσης (τουλάχιστον 160% βελτιωμένοι σε σχέση με συμβατικές υλοποιήσεις) με περιορισμένο κόστος σε επιφάνεια ολοκλήρωσης (λιγότερο από 10% σε επίπεδο συνολικού κρυπτογραφικού συστήματος στην χειρότερη περίπτωση σε σχέση με συμβατικές υλοποιήσεις), βελτιστοποιώντας τον σχεδιαστικό παράγοντα «απόδοση x επιφάνεια ολοκλήρωσης» σε σχέση με άλλες εμπορικές ή ακαδημαϊκές υλοποιήσεις. / In this Ph.D dissertation, certain design techniques and methodologies, for various hardware platforms, aiming to boost performance of cryptographic modules and data intensive applications are presented. This way we manage to obtain hardware designs with extremely high throughput performing much better that anyone else that has been previously proposed either by academia or industry.
Taking in consideration the rapid evolution of e-commerce and the need to secure all kind of electronic transactions, it is obvious that there is a great need to achieve much higher throughputs for certain cryptographic primitives. Especially in IPv6, HMAC etc it is crucial to design hash functions that achieve the highest degree of throughput since hashing is the limiting factor in such security schemes. The proposed methodology achieves to tackle this problem achieving to offer design solutions for hashing cores that can increase their throughput up to 160%. The proposed methodology is generally applicable to all kind of hash functions and this is a main characteristic of its importance. The proposed techniques and methodologies go far beyond from just unrolling the rounds of the algorithm and/or using extended pipelining techniques. It offers an analysis on these techniques while at the same time proposes some new, which all together form a holistic methodology for designing high-throughput hardware implementations for hash functions or other data intensive applications. These designs that can achieve high throughput rates are appropriate for high-end applications that are not constrained in power consumption and chip covered area.
The main contributions of this PhD thesis involve:
Developing and study of certain optimizing techniques for increasing throughput in cryptographic primitives and data intensive applications
Certain design techniques that can take part in a generic methodology for improving hardware performance characteristics are proposed and studied. This study has been conducted in terms of each technique’s parameters and certain design criteria are mentioned in order to choose their values. These design criteria depend on the intended hardware characteristics, specifications and available hardware resources for the cryptographic primitive or data intensive application.
Developing and study of top-down methodology for increasing throughput in cryptographic primitives and data intensive applications
Techniques that were previously proposed and analyzed are merged in order to form propose a top-down methodology able to boost performance of cryptographic primitives and data intensive applications. Design parameters are studied in order to propose various design options with the default one being achieving the highest degree of throughput maintaining the best throughput/area ratio. The proposed methodology can significantly increase throughput of hardware designs leading theoretically even to 160% increase of throughput with less than 10% cost in integration area for the whole cryptographic system.
Highly optimized hardware designs for the two main hash functions: SHA-1 and SHA-256 with high-throughput properties.
In this contribution high throughput designs and implementations are proposed concerning the two most widely used hash functions SHA-1 and SHA-256. SHA-1 is currently the most widely deployed hashing function whereas SHA-256 has started to phase out SHA-1 due to security issues that have recently been reported. These two designs also serve as case studies for the application of the proposed methodology aiming to increase throughput in cryptographic modules and data intensive applications. Our implementation does not only increases throughput by a large degree, but it also utilizes limited area resources thus offering an advantageous "throughput x area" product in comparison with other hashing cores implementations, proposed either by academia or industry. The proposed design achieves maximum throughput over 4.7 Gbps for SHA-1 and over 4.4 Gbps for SHA-256 in Xilinx Virtex II platform with minor area penalty comparing to conventional implementations. These synthesis results are only slightly decreased after the place-and-route procedure
|
6 |
Σχεδιασμός και υλοποίηση μηχανισμού πολλαπλών συναρτήσεων κατακερματισμού (Sha-256, Sha-512 και Multi-mode)Μάλτη, Παναγιώτα 09 January 2012 (has links)
Στην παρούσα διπλωματική εργασία θα μελετήσουμε τις διαδικασίες της κρυπτογράφησης και της αποκρυπτογράφησης. Θα αναφερθούμε στους λόγους που τις έκαναν δημοφιλείς σε πολλά πεδία εφαρμογής (μαθηματικά, εμπόριο, στρατός κ.α).
Ιδιαίτερη αναφορά θα γίνει στους κρυπτογραφικούς αλγορίθμους SHA-256 και SHA-512. Θα μελετήσουμε τη δομή τους και τον τρόπο λειτουργίας τους.
Στη συνέχεια θα μελετήσουμε πως μπορούμε σε ένα κύκλωμα να συνδυάσουμε τόσο τη λειτουργία του αλγορίθμου SHA-256, όσο και του SHA-512. Το καινούργιο αυτό κύκλωμα καλείται multi-mode.
Τέλος, θα χρησιμοποιήσουμε το Modelsim για την εξομοίωση των αλγορίθμων και το εργαλείο Xilinx ISE θα βοηθήσει στη σύνθεσή τόσο των μεμονωμένων αλγορίθμων, όσο και του multi-mode κυκλώματος. / In this diploma thesis, we will study the process of encryption and decryption. We will refer to the reasons why these processes are so popular in many fields (mathematics, trade, army, etc).
A special reference will be made in the cryptographic algorithms SHA-256 and SHA-512. We will study their structure and function.
Furthermore, we will discuss the two above mentioned algorithms can be operated in the same circuit. This is called multi-mode.
Finally, we will use Modelsim in order to compile our algorithms and Xilinx ISE for the synthesis not only for the stand-alone algorithms, but for the multi-mode circuit, as well.
|
7 |
Μεθοδολογία και υλοποίηση secure hash αλγορίθμων σε FPGAΕμερετλής, Ανδρέας 24 October 2012 (has links)
Οι κρυπτογραφικές συναρτήσεις κατακερματισμού αποτελούν στις μέρες μας ένα από τα δημοφιλέστερα συστατικά των κρυπτογραφικών συστημάτων, λόγω των ιδιαίτερων ιδιοτήτων τους. Λαμβάνοντας υπόψη τη συνεχή αύξηση του όγκου δεδομένων και των ταχυτήτων επικοινωνίας, η χρήση μιας συνάρτησης κατακερματισμού με χαμηλή ρυθμοαπόδοση μπορεί να επιβραδύνει το συνολικό ψηφιακό τηλεπικοινωνιακό σύστημα. Ο σχεδιασμός ενός δεδομένου αλγορίθμου κατακερματισμού ώστε να έχει τη βέλτιστη ρυθμοαπόδοση αποτελεί ζήτημα μεγάλης σημασίας.
Στη συγκεκριμένη διπλωματική εργασία παρουσιάζεται μια μεθοδολογία σχεδιασμού με στόχο τη βέλτιστη ρυθμοαπόδοση κρυπτογραφικών αλγορίθμων που βασίζονται σε συγκεκριμένη επαναληπτική μορφή. Για το σκοπό αυτό αναπτύχθηκε ένα λογισμικό, που συνδυάζει δύο τεχνικές, τον επαναχρονισμό και την ξεδίπλωση, παράγοντας το βέλτιστο σχεδιαστικό αποτέλεσμα.
Η μεθοδολογία εφαρμόστηκε σε δύο δημοφιλείς συναρτήσεις κατακερματισμού, τις SHA-1 και SHA-256. Οι μετασχηματισμένοι αλγόριθμοι συνθέθηκαν και υλοποιήθηκαν σε FPGA, επιβεβαιώνοντας την αποτελεσματικότητα της μεθόδου. / Nowadays, cryptographic hash functions are one of the most popular primitive components in the cryptographic systems, due to their key features. Considering that data sizes and communication speeds are increasing every year, the use of a hash algorithm with low throughput can be a bottle neck in the digital communication system. Designing a given hash algorithm to be throughput optimum is a critical issue.
In this diploma thesis a design methodology is presented which oprimizes the throughput of cryptographic hash functions that rely on a specific iterative structure. For this purpose, a software was designed combining two techniques, retiming and unfolding, that generates the optimal throughput design.
The methodology was applied to two popular hash algorithms, SHA-1 and SHA-256. The transformed algorithms were synthesized and implemented in a FPGA device, confirming its effectiveness.
|
8 |
Methodologies for deriving hardware architectures and VLSI implementations for cryptographic embedded systems / Ανάπτυξη μεθοδολογιών εύρεσης αρχιτεκτονικών υλικού και VLSI υλοποιήσεις για ενσωματωμένα συστήματα κρυπτογραφίαςΑθανασίου, Γεώργιος 16 May 2014 (has links)
The 21st century is considered as the era of mass communication and electronic information
exchange. There is a dramatic increase in electronic communications and e-transactions worldwide.
However, this advancement results in the appearance of many security issues, especially when the
exchanged information is sensitive and/or confidential. A significant aspect of security is
authentication, which in most of the cases is provided through a cryptographic hash function.
As happens for the majority of security primitives, software design and implementation of hash
functions is becoming more prevalent today. However, hardware is the embodiment of choice for
military and safety-critical commercial applications due to the physical protection and increased
performance that they offer. Hence, similarly to general hardware designs, regarding cryptographic
hash function ones, three crucial issues, among others, arise: performance, reliability, and flexibility.
In this PhD dissertation, hardware solutions regarding cryptographic hash functions, addressing
the aforementionted three crucial issues are proposed. Specifically, a design methodology for
developing high-throughput and area-efficient sole hardware architectures of the most widely-used
cryptographic hash families, i.e. the SHA-1 and SHA-2, is proposed. This methodology incorporates
several algorithmic-, system-, and circuit-level techniques in an efficient, recursive way, exploiting the
changes in the design’s graph dependencies that are resulted by a technique’s application.
Additionally, high-throughput and area-efficient hardware designs for the above families as well as
new ones (e.g. JH and Skein), are also proposed. These architectures outperform significantly all the
similar ones existing in the literature.
Furthermore, a design methodology for developing Totally Self-Checking (TSC) architectures of the
most widely-used cryptographic hash families, namely the SHA-1 and SHA-2 ones is proposed for the
first time. As any RTL architecture for the above hash families is composed by similar functional
blocks, the proposed methodology is general and can be applied to any RTL architecture of the SHA-1
and SHA-2 families. Based on the above methodology, TSC architectures of the two representatice
hash functions, i.e. SHA-1 and SHA-256, are provided, which are significantlty more efficient in terms
of Throughput/Area, Area, and Power than the corresponding ones that are derived using only
hardware redundancy.
Moreover, a design methodology for developing hardware architectures that realize more than
one cryptographic hash function (mutli-mode architectures) with reasonable throughput and area
penalty is proposed. Due to the fact that any architecture for the above hash families is composed by
similar functional blocks, the proposed methodology can be applied to any RTL architecture of the
SHA-1 and SHA-2 families. The flow exploits specific features appeared in SHA-1 and SHA-2 families
and for that reason it is tailored to produce optimized multi-mode architectures for them. Based on
the above methodology, two multi-mode architectures, namely a SHA256/512 and a SHA1/256/512,
are introduced. They achieve high throughput rates, outperforming all the existing similar ones in
terms of throughput/area cost factor. At the same time, they are area-efficient. Specifically, they
occupy less area compared to the corresponding architectures that are derived by simply designing
the sole hash cores together and feeding them to a commercial FPGA synthesis/P&R/mapping tool.
Finally, the extracted knowledge from the above research activities was exploited in three
additional works that deal with: (a) a data locality methodology for matrix–matrix multiplication, (b) a
methodology for Speeding-Up Fast Fourier Transform focusing on memory architecture utilization,
and (c) a near-optimal microprocessor & accelerators co-design with latency & throughput constraints. / Ο 21ος αιώνας θεωρείται η εποχή της μαζικής επικοινωνίας και της ηλεκτρονικής πληροφορίας.
Υπάρχει μία δραματική αύξηση των τηλεπικοινωνιών και των ηλεκτρονικών συναλλαγών σε όλο τον
κόσμο. Αυτές οι ηλεκτρονικές επικοινωνίες και συναλλαγές ποικίλουν από αποστολή και λήψη
πακέτων δεδομένων μέσω του Διαδικτύου ή αποθήκευση πολυμεσικών δεδομένων, έως και κρίσιμες
οικονομικές ή/και στρατιωτικές υπηρεσίες. Όμως, αυτή η εξέλιξη αναδεικνύει την ανάγκη για
περισσότερη ασφάλεια, ιδιαίτερα στις περιπτώσεις όπου οι πληροφορίες που ανταλλάσονται
αφορούν ευαίσθητα ή/και εμπιστευτικά δεδομένα. Σε αυτές τις περιπτώσεις, η ασφάλεια θεωρείται
αναπόσπαστο χαρακτηριστικό των εμπλεκομένων εφαρμογών και συστημάτων. Οι συναρτήσεις κατακερματισμού παίζουν έναν
πολύ σημαντικό ρόλο στον τομέα της ασφάλειας και, όπως συμβαίνει στην πλειοψηφία των βασικών
αλγορίθμων ασφαλείας, οι υλοποιήσεις σε λογισμικό (software) επικρατούν στις μέρες μας. Παρόλα
αυτά, οι υλοποιήσεις σε υλικό (hardware) είναι η κύρια επιλογή οσον αφορά στρατιωτικές
εφαρμογές και εμπορικές εφαρμογές κρίσιμης ασφάλειας. Η NSA, για παράδειγμα, εξουσιοδοτεί
μόνο υλοποιήσεις σε υλικό. Αυτό γιατί οι υλοποιήσεις σε υλικό είναι πολύ γρηγορότερες από τις
αντίστοιχες σε λογισμικό, ενώ προσφέρουν και υψηλά επίπεδα «φυσικής» ασφάλειας λόγω
κατασκευής. Έτσι, όσον αφορά τις κρυπτογραφικές συναρτήσεις κατακερματισμού, όπως ίσχυει
γενικά στις υλοποιήσεις υλικού, ανακύπτουν τρία (ανάμεσα σε άλλα) κύρια θέματα: Επιδόσεις,
Αξιοπιστία, Ευελιξία. Σκοπός της παρούσας διατριβής είναι να παράσχει λύσεις υλοποίησης σε υλικό για
κρυπτογραφικές συναρτήσεις κατακερματισμού, στοχεύοντας στα τρία κύρια ζητήματα που
αφορούν υλοποιήσεις σε υλικό, τα οποία και προαναφέρθηκαν (Επιδόσεις, Αξιοπιστία, Ευελιξία).
Συγκεκριμένα, προτείνονται μεθοδολογίες σχεδιασμού αρχιτεκτονικών υλικού (καθώς και οι
αρχιτεκτονικές αυτές καθαυτές) για τις οικογένειες SHA-1 και SHA-2 οι οποίες επιτυγχάνουν υψηλή
ρυθμαπόδοση με λογική αύξηση της επιφάνειας ολοκλήρωσης. Επίσης, προτείνονται αρχιτεκτονικές
οι οποίες επιτυγχάνουν υψηλή ρυθμαπόδοση με λογική αύξηση της επιφάνειας ολοκλήρωσης για
νέες κρυπτογραφικές συναρτήσεις, δηλαδή για τις JH και Skein. Ακόμα, προτείνονται μεθοδολογίες
σχεδιασμού αρχιτεκτονικών υλικού (καθώς και οι αρχιτεκτονικές αυτές καθαυτές) για τις οικογένειες
SHA-1 και SHA-2 οι οποίες έχουν τη δυνατότητα να ανιχνέυουν πιθανά λάθη κατά τη λειτουργία τους
ενώ επιτυγχάνουν υψηλή ρυθμαπόδοση με λογική αύξηση της επιφάνειας ολοκλήρωσης. Τέλος,
προτείνονται μεθοδολογίες σχεδιασμού πολύ-τροπων αρχιτεκτονικών υλικού (καθώς και οι
αρχιτεκτονικές αυτές καθ’αυτές) για τις οικογένειες SHA-1 και SHA-2 οι οποίες έχουν τη δυνατότητα
να υποστηρίξουν παραπάνω από μία συνάρτηση ενώ επιτυγχάνουν υψηλή ρυθμαπόδοση με λογική
αύξηση της επιφάνειας ολοκλήρωσης.
|
9 |
Ενσωματωμένο σύστημα ασφαλούς ελέγχου, προστασίας και ανανέωσης λογισμικού απομακρυσμένου υπολογιστή μέσω διαδικτύουΣπανού, Ελένη 13 September 2011 (has links)
Είναι ευρέως αποδεκτό ότι η ασφάλεια δεδομένων έχει ήδη ξεκινήσει να διαδραματίζει κεντρικό ρόλο στον σχεδιασμό μελλοντικών συστημάτων τεχνολογίας πληροφορίας (IT – Information Technology). Μέχρι πριν από λίγα χρόνια, ο υπολογιστής αποτελούσε την κινητήρια δύναμη της ψηφιακής επικοινωνίας. Πρόσφατα, ωστόσο, έχει γίνει μια μετατόπιση προς τις εφαρμογές τεχνολογίας πληροφορίας που υλοποιούνται σαν ενσωματωμένα συστήματα. Πολλές από αυτές τις εφαρμογές στηρίζονται σε μεγάλο βαθμό σε μηχανισμούς ασφαλείας, περιλαμβάνοντας την ασφάλειας για ασύρματα τηλέφωνα, φαξ, φορητούς υπολογιστές, συνδρομητική τηλεόραση, καθώς και συστήματα προστασίας από αντιγραφή για audio / video καταναλωτικά προϊόντα και ψηφιακούς κινηματογράφους. Το γεγονός ότι ένα μεγάλο μέρος των ενσωματωμένων εφαρμογών είναι ασύρματο, καθιστά το κανάλι επικοινωνίας ιδιαίτερα ευάλωτο και φέρνει στο προσκήνιο την ανάγκη για ακόμη μεγαλύτερη ασφάλεια.
Παράλληλα με τα ενσωματωμένα συστήματα, η εκρηκτική ανάπτυξη των ψηφιακών επικοινωνιών έχει επιφέρει πρόσθετες προκλήσεις για την ασφάλεια. Εκατομμύρια ηλεκτρονικές συναλλαγές πραγματοποιούνται κάθε μέρα, και η ταχεία ανάπτυξη του ηλεκτρονικού εμπορίου κατέστησε την ασφάλεια ένα θέμα ζωτικής σημασίας για πολλές καταναλωτές. Πολύτιμες επιχειρηματικές ευκαιρίες , καθώς επίσης και πολλές υπηρεσίες πραγματοποιούνται κάθε μέρα μέσω του Διαδικτύου και πλήθος ευαίσθητων δεδομένων μεταφέρονται από ανασφαλή κανάλια επικοινωνίας σε όλο τον κόσμο.
Η επιτακτική ανάγκη για την αντιμετώπιση αυτών των προβλημάτων, κατέστησε πολύ σημαντική την συμβολή της κρυπτογραφίας, και δημιούργησε μια πολύ υποσχόμενη λύση, με την οποία ενσωματωμένα συστήματα σε συνδυασμό με κρυπτογραφικά πρωτόκολλα, θα μπορούσαν να μας οδηγήσουν στην εξασφάλιση των επιθυμητών αποτελεσμάτων.
Στην παρούσα εργασία, παρουσιάζουμε την υλοποίηση ενός ενσωματωμένου συστήματος, εμπλουτισμένο με κρυπτογραφικά πρωτόκολλα, που ουσιαστικά μεταμορφώνει έναν κοινό ηλεκτρονικό υπολογιστή σε ένα ισχυρό Crypto System PC, και έχει σαν κύρια αρμοδιότητα να μπορεί να επικοινωνεί με ένα υπολογιστικό σύστημα και να στέλνει πληροφορίες για την κατάσταση του μέσω ασφαλούς σύνδεσης διαδικτύου σε κάποιον απομακρυσμένο υπολογιστή ελέγχου/καταγραφής συμβάντων σε ώρες που δεν είναι εφικτή η παρουσία εξειδικευμένου προσωπικού για τον έλεγχο του.
Αξιολογούμε την απόδοση του και την λειτουργία του με την εκτέλεση διάφορων πειραμάτων, ενώ επίσης προτείνουμε λύσεις για πιο ιδανικές και αποδοτικές συνθήκες λειτουργίας για μελλοντικές εφαρμογές. / It is widely recognized that data security already plays a central role in the design of future IT systems.Until a few years ago, the PC had been the major driver of the digital economy. Recently, however, there has been a shift towards IT applications realized as embedded systems.Many of those applications rely heavily on security mechanisms, including security
for wireless phones, faxes, wireless computing, pay-TV, and copy protection schemes for audio/video consumer products and digital cinemas. Note that a large share of those embedded applications will be wireless, which makes the communication channel especially vulnerable and the need for security even more obvious. In addition to embedded devices, the explosive growth of digital communications also brings additional security challenges. Millions of electronic transactions are completed each
day, and the rapid growth of eCommerce has made security a vital issue for many consumers.
Valuable business opportunities are realized over the Internet and
megabytes of sensitive data are transferred and moved over insecure communication channels around the world. The urgent need to face these problems has made the contribution of cryptography very important , and created a very promising solution, in which embedded systems in combination with cryptographic protocols, could lead us to obtain the desired results.
In this paper, we present the implementation of an embedded system, enriched with cryptographic protocols, which turns a common computer into a powerful Crypto System PC, and has as its primary responsibility to be able to communicate with a computer system and send information for its situation through secure internet connections to a remote computer which is responsible for recording of events, when there is not qualified staff to control the computer system.
We evalauate its performance and operation, by executing various experiments and we also suggest solutions for more optimal and efficient operating conditions for future applications.
|
Page generated in 0.6635 seconds