Methodologies for deriving hardware architectures and VLSI implementations for cryptographic embedded systems

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 i...

Full description

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