Implementation of the SHA-2 Hash Family Standard Using FPGAs

The continued growth of both wired and wireless communications has triggered the revolution for the generation of new cryptographic algorithms. SHA-2 hash family is a new standard in the widely used hash functions category. An architecture and the VLSI implementation of this standard are proposed in this work. The proposed architecture supports a multi-mode operation in the sense that it performs all the three hash functions (256, 384 and 512) of the SHA-2 standard. The proposed system is compared with the implementation of each hash function in a separate FPGA device. Comparing with previous designs, the introduced system can work in higher operation frequency and needs less silicon area resources. The achieved performance in the term of throughput of the proposed system/architecture is much higher (in a range from 277 to 417%) than the other hardware implementations. The introduced architecture also performs much better than the implementations of the existing standard SHA-1, and also offers a higher security level strength. The proposed system could be used for the implementation of integrity units, and in many other sensitive cryptographic applications, such as, digital signatures, message authentication codes and random number generators.

[1]  Adrian Stoica,et al.  Reconfigurable VLSI architectures for evolvable hardware: from experimental field programmable transistor arrays to evolution-oriented chips , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[2]  Odysseas G. Koufopavlou,et al.  On the hardware implementations of the SHA-2 (256, 384, 512) hash functions , 2003, Proceedings of the 2003 International Symposium on Circuits and Systems, 2003. ISCAS '03..

[3]  Bernard P. Zajac Applied cryptography: Protocols, algorithms, and source code in C , 1994 .

[4]  Douglas R. Stinson,et al.  Cryptography: Theory and Practice , 1995 .

[5]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[6]  Michael Roe,et al.  Performance of Block Ciphers and Hash Functions - One Year Later , 1994, FSE.

[7]  Elaine B. Barker,et al.  The Keyed-Hash Message Authentication Code (HMAC) | NIST , 2002 .

[8]  Joan Daemen,et al.  AES Proposal : Rijndael , 1998 .

[9]  Bart Preneel,et al.  RIPEMD-160: A Strengthened Version of RIPEMD , 1996, FSE.

[10]  Hossam ElGindy,et al.  Dynamic scheduling of tasks on partially reconfigurable FPGAs , 2000 .

[11]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[12]  Odysseas G. Koufopavlou,et al.  Random number generator architecture and VLSI implementation , 2002, 2002 IEEE International Symposium on Circuits and Systems. Proceedings (Cat. No.02CH37353).

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

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

[15]  Gerhard Goos,et al.  Fast Software Encryption , 2001, Lecture Notes in Computer Science.

[16]  A. P. Chandrakasan,et al.  An energy-efficient reconfigurable public-key cryptography processor , 2001, IEEE J. Solid State Circuits.

[17]  E. Cerro-Prada,et al.  Core-based design methodology for reconfigurable computing applications , 2000 .

[18]  Marco Platzner,et al.  Synthesis of interfaces and communication in reconfigurable embedded systems , 2000 .

[19]  Máire O'Neill,et al.  Efficient single-chip implementation of SHA-384 and SHA-512 , 2002, 2002 IEEE International Conference on Field-Programmable Technology, 2002. (FPT). Proceedings..

[20]  Wayne Luk,et al.  Framework and tools for run-time reconfigurable designs , 2000 .

[21]  M. D. Edwards,et al.  Object oriented development method for reconfigurable embedded systems , 2000 .

[22]  Ueli Maurer,et al.  Cryptography 2000±10 , 2001, Informatics.