Μεθοδολογία και υλοποίηση secure hash αλγορίθμων σε FPGA

Οι κρυπτογραφικές συναρτήσεις κατακερματισμού αποτελούν στις μέρες μας ένα από τα δημοφιλέστερα συστατικά των κρυπτογραφικών συστημάτων, λόγω των ιδιαίτερων ιδιοτήτων τους. Λαμβάνοντας υπόψη τη συνεχή αύξηση του όγκου δεδομένων και των ταχυτήτων επικοινωνίας, η χρήση μιας συνάρτησης κατακερματισμού...

Full description

Bibliographic Details
Main Author: Εμερετλής, Ανδρέας
Other Authors: Θεοδωρίδης, Γεώργιος
Language:gr
Published: 2012
Subjects:
Online Access:http://hdl.handle.net/10889/5622
Description
Summary:Οι κρυπτογραφικές συναρτήσεις κατακερματισμού αποτελούν στις μέρες μας ένα από τα δημοφιλέστερα συστατικά των κρυπτογραφικών συστημάτων, λόγω των ιδιαίτερων ιδιοτήτων τους. Λαμβάνοντας υπόψη τη συνεχή αύξηση του όγκου δεδομένων και των ταχυτήτων επικοινωνίας, η χρήση μιας συνάρτησης κατακερματισμού με χαμηλή ρυθμοαπόδοση μπορεί να επιβραδύνει το συνολικό ψηφιακό τηλεπικοινωνιακό σύστημα. Ο σχεδιασμός ενός δεδομένου αλγορίθμου κατακερματισμού ώστε να έχει τη βέλτιστη ρυθμοαπόδοση αποτελεί ζήτημα μεγάλης σημασίας. Στη συγκεκριμένη διπλωματική εργασία παρουσιάζεται μια μεθοδολογία σχεδιασμού με στόχο τη βέλτιστη ρυθμοαπόδοση κρυπτογραφικών αλγορίθμων που βασίζονται σε συγκεκριμένη επαναληπτική μορφή. Για το σκοπό αυτό αναπτύχθηκε ένα λογισμικό, που συνδυάζει δύο τεχνικές, τον επαναχρονισμό και την ξεδίπλωση, παράγοντας το βέλτιστο σχεδιαστικό αποτέλεσμα. Η μεθοδολογία εφαρμόστηκε σε δύο δημοφιλείς συναρτήσεις κατακερματισμού, τις 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.