Skip to main content

Hardware Implementation of Hash Functions

  • Chapter
  • First Online:
Introduction to Hardware Security and Trust

Abstract

Hash algorithm is a type of cryptographic primitives that is widely used in many security protocols for the purposes like data integrity, digital signature, and authentication. In this chapter, we summarize some techniques to improve the hardware implementation of two commonly used hash algorithms MD5 and SHA-2. We also give an overview of the hardware implementation of the five candidates in the last round of SHA-3 competition.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 179.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Rivest R (1992) The MD5 message-digest algorithm. In: The Internet Engineering Task Force (ITEF) Internet Draft, no. RFC-1321, April 1992

    Google Scholar 

  2. National Institute of Standards and Technology (1994) Secure hash standard. In: Federal Information Processing Standards Publication 180–1, April 1994

    Google Scholar 

  3. Menezes A, Oorschot P, Vanstone S (1996) Handbook of Applied Cryptography, 1st edn. CRC Press, West Palm Beach, FL, USA

    Book  Google Scholar 

  4. Damgard I (1990) A design principle for hash functions. In: Proceedings of Cryptology, Crypto ’89, vol 435, pp 416–427

    Google Scholar 

  5. Wang X, Feng D, Lai X, Yu H (2004) Collisions for hash functions: MD4, MD5, HAVAL-128 and RIPEMD. http://eprint.iacr.org/2004/199.pdf. Accessed August 2004

  6. Wang X, Yu H, Yin YL (2005) Efficient collision search attacks on SHA-0. In: Advances in Cryptology – CRYPTO’05, vol 3621, pp 1–16

    Google Scholar 

  7. Wang X, Yin YL, Yu H (2005) Finding collisions in the full SHA-1. In: Advances in Cryptology – CRYPTO’05, vol 3621, pp 17–36

    Google Scholar 

  8. Wang X, Hongbo Y (2005) How to break MD5 and other hash functions. In: Advances in Cryptology EUROCRYPT 2005, pp 19–35

    Google Scholar 

  9. National Institute of Standard and Technology (2007) Cryptographic hash algorithm competition. http://csrc.nist.gov/groups/ST/hash/sha-3/index.html. Accessed November 2007

  10. Matyas SM, Meyer CH, Oseas J (1985) Generating strong one-way functions with cryptographic algorithm. IBM Tech Disclosure Bull 27(10A): 5658–5659

    Google Scholar 

  11. Preneel B, Govaerts R, Vandewalle J (1989) Cryptographically secure hash functions: an overview. In: ESAT Internal Report, K. U. Leuven

    Google Scholar 

  12. Miyaguchi S, Iwata M, Ohta K (1989) New 128-bit hash function. In: Proceedings 4th International Joint Workshop on Computer Communications, pp 279–288

    Google Scholar 

  13. Barreto PSLM, Rijmen V (2000) The Whirpool hash function. http://www.larc.usp.br/~ pbarreto/WhirlpoolPage.html. Accessed November 2000

  14. Nakajima J, Matsui M (2002) Performance analysis and parallel implementation of dedicated hash functions. In: Proceedings of EUROCRYPT 2002, Lecture Notes in Computer Science, vol 2332, pp 165–180

    Google Scholar 

  15. Lloyd B et al. (1992) PPP authentication protocols. In: The Internet Engineering Task Force (ITEF) Internet Draft, RFC-1334, October 1992

    Google Scholar 

  16. Simpson W (1994) The point-to-point protocol. In: The Internet Engineering Task Force (ITEF) Internet Draft, RFC-1661, July 1994

    Google Scholar 

  17. National Institute of Standards and Technology (2002) The keyed-hash message authentication code (HMAC). In: FIPS PUB, vol 198

    Google Scholar 

  18. Hoang AT, Yamazaki K, Oyanagi S (2008) Multi-stage pipelining MD5 implementations on FPGA with data forwarding. In: 16th International Symposium on Field-Programmable Custom Computing Machines, pp 271–272, April 2008

    Google Scholar 

  19. Wang Y, Zhao Q, Jiang L, Yi S (2010) Ultra high throughput implementations for MD5 hash algorithm on FPGA. In: High Performance Computing and Applications, pp 433–441

    Google Scholar 

  20. Chaves R, Kuzmanov G, Sousa L, Vassiliadis S (2006) Improving SHA-2 hardware implementations. In: Cryptographic Hardware and Embedded Systems-CHES 2006, pp 298–310

    Article  Google Scholar 

  21. Jarvinen K, Tommiska M, Skytta J (2005) Hardware implementation analysis of the MD5 hash algorithm. In: Proceedings of the 38th Annual Hawaii International Conference on System Sciences, vol 9, p 298a

    Google Scholar 

  22. Lee YK, Chan H, Verbauwhede I (2007) Iteration bound analysis and throughput optimum architecture of SHA-256 (384,512) for hardware implementations. In: Proceedings of the 8th international conference on Information security applications, vol 256, pp 102–114

    Google Scholar 

  23. Lien R, Grembowski T, Gaj K (2004) A 1 Gbit/s partially unrolled architecture of hash functions SHA-1 and SHA-512. In: Topics in Cryptologyâ CT-RSA 2004, pp 1995–1995

    Google Scholar 

  24. Crowe F, Daly A, Kerins T, Marnane W (2005) Single-chip FPGA implementation of a cryptographic co-processor. In: Proceedings. 2004 IEEE International Conference on Field-Programmable Technology (IEEE Cat. No.04EX921), pp 279–285

    Google Scholar 

  25. Athanasiou G, Gregoriades A, Panagiotou L, Goutis C, Michail H (2010) High throughput hardware/software co-design approach for SHA-256 hashing cryptographic module in IPSec/IPv6. Global J Comput Sci Technol 10(4): 54–59

    Google Scholar 

  26. Dadda L, Macchetti M, Owen J (2004) An ASIC design for a high speed implementation of the hash function SHA-256 (384, 512). In: ACM Great Lakes Symposium on VLSI, pp 421–425

    Google Scholar 

  27. Dadda L, Macchetti M, Owen J (2004) The design of a high speed ASIC unit for the hash function SHA-256 (384, 512). In: Proceedings Design, Automation and Test in Europe Conference and Exhibition, vol 256, pp 70–75

    Article  Google Scholar 

  28. Feldhofer M, Wolkerstorfer J (2007) Strong crypto for RFID tags – a comparison of low-power hardware implementations. In: 2007 IEEE International Symposium on Circuits and Systems, pp 1839–1842, May 2007

    Google Scholar 

  29. Peris-Lopez P, Hernandez-Castro J, Tapiador J, Ribagorda A (2009) Advances in ultralightweight cryptography for low-cost RFID tags: Gossamer protocol. Inform Security Appl 56–68

    Google Scholar 

  30. Kim M, Ryou J, Jun S (2009) Efficient hardware architecture of SHA-256 algorithm for trusted mobile computing. Architecture. Springer Verlag, Berlin, Heidelberg, New York, pp 240–252

    Google Scholar 

  31. Perlner R, Chang S, Kelsey J, Nandi M, Paul S, Regenscheid A (2009) Status Report on the First Round of the SHA-3 Cryptographic Hash Algorithm Competition. September 2009

    Google Scholar 

  32. Bertoni G, Daemen J, Peeters M, Assche GV (2009) Keccak specifications Version 2. http://keccak.noekeon.org/Keccak-specifications-2.pdf. Accessed July 2011

  33. Morawiecki P, Srebrny M (2010) A SAT-based Preimage Analysis of Reduced KECCAK Hash Functions. Santa Barbara, CA, 23–24 August 2010

    Google Scholar 

  34. Bertoni G, Daemen J, Peeters M, Assche GV (2010) Keccak sponge function family main document. http://keccak.noekeon.org/Keccak-main-2.1.pdf. Accessed June 2010

  35. Biham E, Dunkelman O (2006) A framework for iterative hash functions: HAIFA. In: Second NIST Cryptographic Hash Workshop

    Google Scholar 

  36. Henzen L, Meier W, Raphael C-W, Phan, Aumasson J-P (2009) SHA3 Proposal BLAKE. 7 May 2009

    Google Scholar 

  37. Knudsen LR, Matusiewicz K, Mendel F, Rechberger C, Schlaffer M, Søren S, Gauravaram TP (2008) Grøstl – a SHA-3 Candidate

    Google Scholar 

  38. Lucks S, Schneier B, Whiting D, Bellare M, Kohno T, Callas J, Ferguson JWN (2008) The Skein Hash Function Family

    Google Scholar 

  39. Sheikh F, Mathew SK, Walker RKJ (2010) A Skein-512 hardware implementation. http://csrc.nist.gov/groups/ST/hash/sha-3/Round2/Aug2010/documents/presentations/WALKER_skein-intel-hwd-slides.pdf. Accessed August 2010

  40. Wu H (2009) The Hash Function JH. http://www3.ntu.edu.sg/home/wuhj/research/jh/. Accessed July 2011

  41. Hanley N, Hamilton M, Lu L, Byrne A, O’Neill M, William P, Baldwin MB (2010) FPGA Implementations of the Round Two SHA-3 Candidates, August 2010

    Google Scholar 

  42. Feldhofer M, Kirschbaum M, Plos T, Schmidt J-M, Tillich ASS (2010) Uniform evaluation of hardware implementations of the round-two SHA-3 candidates. In: The Second SHA-3 Candidate Conference

    Google Scholar 

  43. Bertoni G, Daemen J, Peeters M, Assche GV (2010) The Keccak sponge function family: hardware performance. http://keccak.noekeon.org/hw_performance.html. Accessed November 2010

  44. Henzen L, Aumasson J-P, Meier W, Phan R VLSI Characterization of the Cryptographic Hash Function BLAKE. http://www.131002.net/data/papers/HAMP10.pdf. Accessed July 2011

  45. Beuchat J-L, Okamoto E, Yamazaki T (2010) Compact Implementations of BLAKE-32 and BLAKE-64 on FPGA

    Google Scholar 

  46. Grøstl – a SHA-3 candidate. http://www.groestl.info/implementations.html. Accessed July 2011

  47. Baldwin B, Byrne A, Hamilton M et al. (2009) FPGA Implementations of SHA-3 Candidates: CubeHash, Grøstl, LANE, Shabal and Spectral Hash. http://eprint.iacr.org/2009/342.pdf. Accessed July 2011

  48. Long M (2009) Implementing Skein Hash Function on Xilinx Virtex-5 FPGA. http://www.schneier.com/skein_fpga.pdf. Accessed February 2009

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhijie Shi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Shi, Z., Ma, C., Cote, J., Wang, B. (2012). Hardware Implementation of Hash Functions. In: Tehranipoor, M., Wang, C. (eds) Introduction to Hardware Security and Trust. Springer, New York, NY. https://doi.org/10.1007/978-1-4419-8080-9_2

Download citation

  • DOI: https://doi.org/10.1007/978-1-4419-8080-9_2

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4419-8079-3

  • Online ISBN: 978-1-4419-8080-9

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics