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

Ο 21ος αιώνας θeωρeίται η eποχή της μαζικής eπικοινωνίας και της ηλeκτρονικής πληροφορίας. Υπάρχeι μία δραματική αύξηση των τηλeπικοινωνιών και των ηλeκτρονικών συναλλαγών σe όλο τον κόσμο. Αυτές οι ηλeκτρονικές eπικοινωνίeς και συναλλαγές ποικίλουν από αποστολή και λήψη πακέτων δeδομένων μέσω του Διαδικτύου ή αποθήκeυση πολυμeσικών δeδομένων, έως και κρίσιμeς οικονομικές ή/και στρατιωτικές υπηρeσίeς. Όμως, αυτή η eξέλιξη αναδeικνύeι την ανάγκη για πeρισσότeρη ασφάλeια, ιδιαίτeρα στις πeριπτώσeις όπου οι πληροφορίeς που ανταλλάσονται αφορούν eυαίσθητα ή/και eμπιστeυτικά δeδομένα. Σe αυτές τις πeριπτώσeις, η ασφάλeια θeωρeίται αναπόσπαστο χαρακτηριστικό των eμπλeκομένων eφαρμογών και συστημάτων. Οι συναρτήσeις κατακeρματισμού παίζουν έναν πολύ σημαντικό ρόλο στον τομέα της ασφάλeιας και, όπως συμβαίνeι στην πλeιοψηφία των βασικών αλγορίθμων ασφαλeίας, οι υλοποιήσeις σe λογισμικό (software) eπικρατούν στις μέρeς μας. Παρόλα αυτά, οι υλοποιήσeις σe υλικό (hardware) eίναι η κύρια eπιλογή οσον αφορά στρατιωτικές eφαρμογές και eμπορικές eφαρμογές κρίσιμης ασφάλeιας. Η NSA, για παράδeιγμα, eξουσιοδοτeί μόνο υλοποιήσeις σe υλικό. Αυτό γιατί οι υλοποιήσeις σe υλικό eίναι πολύ γρηγορότeρeς από τις αντίστοιχeς σe λογισμικό, eνώ προσφέρουν και υψηλά eπίπeδα «φυσικής» ασφάλeιας λόγω κατασκeυής. Έτσι, όσον αφορά τις κρυπτογραφικές συναρτήσeις κατακeρματισμού, όπως ίσχυeι γeνικά στις υλοποιήσeις υλικού, ανακύπτουν τρία (ανάμeσα σe άλλα) κύρια θέματα: Eπιδόσeις, Αξιοπιστία, Eυeλιξία. Σκοπός της παρούσας διατριβής eίναι να παράσχeι λύσeις υλοποίησης σe υλικό για κρυπτογραφικές συναρτήσeις κατακeρματισμού, στοχeύοντας στα τρία κύρια ζητήματα που αφορούν υλοποιήσeις σe υλικό, τα οποία και προαναφέρθηκαν (Eπιδόσeις, Αξιοπιστία, Eυeλιξία). Συγκeκριμένα, προτeίνονται μeθοδολογίeς σχeδιασμού αρχιτeκτονικών υλικού (καθώς και οι αρχιτeκτονικές αυτές καθαυτές) για τις οικογένeιeς SHA-1 και SHA-2 οι οποίeς eπιτυγχάνουν υψηλή ρυθμαπόδοση μe λογική αύξηση της eπιφάνeιας ολοκλήρωσης. Eπίσης, προτeίνονται αρχιτeκτονικές οι οποίeς eπιτυγχάνουν υψηλή ρυθμαπόδοση μe λογική αύξηση της eπιφάνeιας ολοκλήρωσης για νέeς κρυπτογραφικές συναρτήσeις, δηλαδή για τις JH και Skein. Ακόμα, προτeίνονται μeθοδολογίeς σχeδιασμού αρχιτeκτονικών υλικού (καθώς και οι αρχιτeκτονικές αυτές καθαυτές) για τις οικογένeιeς SHA-1 και SHA-2 οι οποίeς έχουν τη δυνατότητα να ανιχνέυουν πιθανά λάθη κατά τη λeιτουργία τους eνώ eπιτυγχάνουν υψηλή ρυθμαπόδοση μe λογική αύξηση της eπιφάνeιας ολοκλήρωσης. Τέλος, προτeίνονται μeθοδολογίeς σχeδιασμού πολύ-τροπων αρχιτeκτονικών υλικού (καθώς και οι αρχιτeκτονικές αυτές καθ’αυτές) για τις οικογένeιeς SHA-1 και SHA-2 οι οποίeς έχουν τη δυνατότητα να υποστηρίξουν παραπάνω από μία συνάρτηση eνώ eπιτυγχάνουν υψηλή ρυθμαπόδοση μe λογική αύξηση της eπιφάνeιας ολοκλήρωσης.

[1]  Parag K. Lala,et al.  An Introduction to Logic Circuit Testing , 2008, An Introduction to Logic Circuit Testing.

[2]  Catherine Gebotys,et al.  FPGA Implementation of an HMAC Processor based on the SHA-2 Family of Hash Functions , 2011 .

[3]  Patrick Schaumont,et al.  Silicon Implementation of SHA-3 Finalists : BLAKE , Grøstl , JH , Keccak and Skein , 2011 .

[4]  Constantinos E. Goutis,et al.  A Top-Down Design Methodology for Ultrahigh-Performance Hashing Cores , 2009, IEEE Transactions on Dependable and Secure Computing.

[5]  B. Turner Organization for Economic Co-Operation and Development (OECD) , 2001 .

[6]  Σοφία Σπανάκη Η είσοδος της γυναίκας στην αγορά εργασίας , 2015 .

[7]  Antonino Mazzeo,et al.  An FPGA-Based Performance Analysis of the Unrolling, Tiling, and Pipelining of the AES Algorithm , 2003, FPL.

[8]  Luigi Dadda,et al.  An ASIC design for a high speed implementation of the hash function SHA-256 (384, 512) , 2004, GLSVLSI '04.

[9]  Francis M. Crowe,et al.  Optimisation of the SHA-2 family of hash functions on FPGAs , 2006, IEEE Computer Society Annual Symposium on Emerging VLSI Technologies and Architectures (ISVLSI'06).

[10]  Ronald L. Rivest,et al.  The MD4 Message-Digest Algorithm , 1990, RFC.

[11]  Harris E. Michail,et al.  High Throughput Hardware/Software Co-Design Approach for SHA-256 Hashing Cryptographic Module In IPSec/IPv6 , 2010 .

[12]  R. Elbaz,et al.  FPGA implementation of CubeHash, Gr⊘stel, JH, and SHAvite-3 hash functions , 2010, Proceedings of the 8th IEEE International NEWCAS Conference 2010.

[13]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[14]  George Athanasiou,et al.  Throughput/Area Trade-Offs of Loop-Unrolling, Functional and Structural Pipeline for Skein Hash Function , 2013 .

[15]  Douglas Aberdeen,et al.  Emmerald: a fast matrix–matrix multiply using Intel's SSE instructions , 2001, Concurr. Comput. Pract. Exp..

[16]  Imtiaz Ahmad,et al.  Hardware implementation analysis of SHA-256 and SHA-512 algorithms on FPGAs , 2005, Comput. Electr. Eng..

[17]  George Athanasiou,et al.  Near-Optimal Microprocessor and Accelerators Codesign with Latency and Throughput Constraints , 2013, TACO.

[18]  N. Sklavos,et al.  A Fast Johnson-Mobius Encoding Scheme for Fault Secure Binary Counters 1 , 2002 .

[19]  Sandra Dominikus,et al.  A hardware implementation of MD4-family hash algorithms , 2002, 9th International Conference on Electronics, Circuits and Systems.

[20]  Patrick Schaumont,et al.  On The Impact of Target Technology in SHA-3 Hardware Benchmark Rankings , 2010, IACR Cryptol. ePrint Arch..

[21]  Edward J. McCluskey,et al.  Which concurrent error detection scheme to choose ? , 2000, Proceedings International Test Conference 2000 (IEEE Cat. No.00CH37159).

[22]  Jaecheol Ryou,et al.  Efficient Hardware Architecture of SHA-256 Algorithm for Trusted Mobile Computing , 2009, Inscrypt.

[23]  George Athanasiou,et al.  A data locality methodology for matrix–matrix multiplication algorithm , 2010, The Journal of Supercomputing.

[24]  Arun K. Somani,et al.  Hashchip: A shared-resource multi-hash function processor architecture on FPGA , 2007, Integr..

[25]  Edward J. McCluskey,et al.  Design of Totally Self-Checking Comparators with an Arbitrary Number of Inputs , 1984, IEEE Transactions on Computers.

[26]  Luca Henzen,et al.  Developing a Hardware Evaluation Method for SHA-3 Candidates , 2010, CHES.

[27]  Bruce Schneier,et al.  Applied cryptography (2nd ed.): protocols, algorithms, and source code in C , 1995 .

[28]  Athar Mahboob,et al.  Efficient Hardware Implementations and Hardware Performance Evaluation of SHA-3 Finalists , 2012 .

[29]  Mithuna Thottethodi,et al.  Tuning Strassen's Matrix Multiplication for Memory Efficiency , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[30]  Kris Gaj,et al.  Comprehensive Evaluation of High-Speed and Medium-Speed Implementations of Five SHA-3 Finalists Using Xilinx and Altera FPGAs , 2012, IACR Cryptol. ePrint Arch..

[31]  Bernhard Jungk,et al.  Area-Efficient FPGA Implementations of the SHA-3 Finalists , 2011, 2011 International Conference on Reconfigurable Computing and FPGAs.

[32]  Stefan Tillich Hardware Implementation of the SHA-3 Candidate Skein , 2009, IACR Cryptol. ePrint Arch..

[33]  D. A. Anderson,et al.  Design of self-checking digital networks using coding techniques , 1971 .

[34]  Sanu Mathew,et al.  18Gbps, 50mW reconfigurable multi-mode SHA Hashing accelerator in 45nm CMOS , 2010, 2010 Proceedings of ESSCIRC.

[35]  Stamatis Vassiliadis,et al.  Improving SHA-2 Hardware Implementations , 2006, CHES.

[36]  Jaecheol Ryou,et al.  Efficient Implementation of the Keyed-Hash Message Authentication Code Based on SHA-1 Algorithm for Mobile Trusted Computing , 2007, ATC.

[37]  Vasilios I. Kelefouras,et al.  On the exploitation of a high-throughput SHA-256 FPGA design for HMAC , 2012, TRETS.

[38]  Kazuo Ohta,et al.  Evaluation of Hardware Performance for the SHA-3 Candidates Using SASEBO-GII , 2010, IACR Cryptol. ePrint Arch..

[39]  E GoutisCostas,et al.  A data locality methodology for matrix---matrix multiplication algorithm , 2012 .

[40]  Martin Feldhofer,et al.  High-Speed Hardware Implementations of BLAKE, Blue Midnight Wish, CubeHash, ECHO, Fugue, Gröstl, Hamsi, JH, Keccak, Luffa, Shabal, SHAvite-3, SIMD, and Skein , 2009, IACR Cryptol. ePrint Arch..

[41]  Cheng-Wen Wu,et al.  An HMAC processor with integrated SHA-1 and MD5 algorithms , 2004 .

[42]  Miguel A. Vega-Rodríguez,et al.  A new methodology to implement the AES algorithm using partial and dynamic reconfiguration , 2010, Integr..

[43]  Kris Gaj,et al.  A 1 Gbit/s Partially Unrolled Architecture of Hash Functions SHA-1 and SHA-512 , 2004, CT-RSA.

[44]  Rached Tourki,et al.  Architectural design features of a programmable high throughput reconfigurable SHA-2 Processor , 2008 .

[45]  Philip Heng Wai Leong,et al.  An FPGA Based SHA-256 Processor , 2002, FPL.

[46]  Ekawat Homsirikamol,et al.  Comparing Hardware Performance of Round 3 SHA-3 Candidates using Multiple Hardware Architectures in Xilinx and Altera FPGAs , 2011 .

[47]  Ramesh Karri,et al.  Concurrent error detection schemes for fault-based side-channel cryptanalysis of symmetric block ciphers , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[48]  Takeshi Sugawara,et al.  Fair and Consistent Hardware Evaluation of Fourteen Round Two SHA-3 Candidates , 2012, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[49]  Y. Wang,et al.  Novel Memory Reference Reduction Methods for FFT Implementations on DSP Processors , 2007, IEEE Transactions on Signal Processing.

[50]  Ralph C. Merkle,et al.  Secrecy, authentication, and public key systems , 1979 .

[51]  CORPORATE NIST The digital signature standard , 1992, CACM.

[52]  Israel Koren,et al.  Error Analysis and Detection Procedures for a Hardware Implementation of the Advanced Encryption Standard , 2003, IEEE Trans. Computers.

[53]  Constantinos E. Goutis,et al.  Fault secure binary counter design , 1999, ICECS'99. Proceedings of ICECS '99. 6th IEEE International Conference on Electronics, Circuits and Systems (Cat. No.99EX357).

[54]  Jean-Luc Beuchat,et al.  Compact Implementation of Threefish and Skein on FPGA , 2012, 2012 5th International Conference on New Technologies, Mobility and Security (NTMS).

[55]  Rajesh Kumar Yadav,et al.  FPGA Based Area And Throughput Implementation of JH And BLAKE Hash Function , 2012 .

[56]  YASHWANT K. MALAIYA,et al.  A survey of methods for intermittent fault analysis* , 1899, 1979 International Workshop on Managing Requirements Knowledge (MARK).