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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Rivest R (1992) The MD5 message-digest algorithm. In: The Internet Engineering Task Force (ITEF) Internet Draft, no. RFC-1321, April 1992
National Institute of Standards and Technology (1994) Secure hash standard. In: Federal Information Processing Standards Publication 180–1, April 1994
Menezes A, Oorschot P, Vanstone S (1996) Handbook of Applied Cryptography, 1st edn. CRC Press, West Palm Beach, FL, USA
Damgard I (1990) A design principle for hash functions. In: Proceedings of Cryptology, Crypto ’89, vol 435, pp 416–427
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
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
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
Wang X, Hongbo Y (2005) How to break MD5 and other hash functions. In: Advances in Cryptology EUROCRYPT 2005, pp 19–35
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
Matyas SM, Meyer CH, Oseas J (1985) Generating strong one-way functions with cryptographic algorithm. IBM Tech Disclosure Bull 27(10A): 5658–5659
Preneel B, Govaerts R, Vandewalle J (1989) Cryptographically secure hash functions: an overview. In: ESAT Internal Report, K. U. Leuven
Miyaguchi S, Iwata M, Ohta K (1989) New 128-bit hash function. In: Proceedings 4th International Joint Workshop on Computer Communications, pp 279–288
Barreto PSLM, Rijmen V (2000) The Whirpool hash function. http://www.larc.usp.br/~ pbarreto/WhirlpoolPage.html. Accessed November 2000
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
Lloyd B et al. (1992) PPP authentication protocols. In: The Internet Engineering Task Force (ITEF) Internet Draft, RFC-1334, October 1992
Simpson W (1994) The point-to-point protocol. In: The Internet Engineering Task Force (ITEF) Internet Draft, RFC-1661, July 1994
National Institute of Standards and Technology (2002) The keyed-hash message authentication code (HMAC). In: FIPS PUB, vol 198
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bertoni G, Daemen J, Peeters M, Assche GV (2009) Keccak specifications Version 2. http://keccak.noekeon.org/Keccak-specifications-2.pdf. Accessed July 2011
Morawiecki P, Srebrny M (2010) A SAT-based Preimage Analysis of Reduced KECCAK Hash Functions. Santa Barbara, CA, 23–24 August 2010
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
Biham E, Dunkelman O (2006) A framework for iterative hash functions: HAIFA. In: Second NIST Cryptographic Hash Workshop
Henzen L, Meier W, Raphael C-W, Phan, Aumasson J-P (2009) SHA3 Proposal BLAKE. 7 May 2009
Knudsen LR, Matusiewicz K, Mendel F, Rechberger C, Schlaffer M, Søren S, Gauravaram TP (2008) Grøstl – a SHA-3 Candidate
Lucks S, Schneier B, Whiting D, Bellare M, Kohno T, Callas J, Ferguson JWN (2008) The Skein Hash Function Family
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
Wu H (2009) The Hash Function JH. http://www3.ntu.edu.sg/home/wuhj/research/jh/. Accessed July 2011
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
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
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
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
Beuchat J-L, Okamoto E, Yamazaki T (2010) Compact Implementations of BLAKE-32 and BLAKE-64 on FPGA
Grøstl – a SHA-3 candidate. http://www.groestl.info/implementations.html. Accessed July 2011
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
Long M (2009) Implementing Skein Hash Function on Xilinx Virtex-5 FPGA. http://www.schneier.com/skein_fpga.pdf. Accessed February 2009
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)