In this chapter, a system-on-chip design of the newest powerful standard in the hash families, named Whirlpool, is presented. With more details an architecture and two very large-scale integration (VLSI) implementations are presented. The first implementation is suitable for high speed applications while the second one is suitable for applications with constrained silicon area resources. The architecture permits a wide variety of implementation tradeoffs. Different implementations have been introduced and each specific application can choose the appropriate speed-area, trade-off implementation. The implementations are examined and compared in the security level and in the performance by using hardware terms. Whirlpool with RIPEMD, SHA-1, and SHA-2 hash functions are adopted by the International Organization for Standardization (ISO/IEC, 2003) 10118-3 standard. The Whirlpool implementations allow fast execution and effective substitution of any previous hash families’ implementations in any cryptography application.
Key Terms in this Chapter
Hardware Implementation: Hardware implementation is the building of the blocks of digital chip (either ASIC or FPGA) design and it relates them to the hardware description languages that are used in their creation.
New European Schemes for Signatures, Integrity, and Encryption (NESSIE): NESSIE was a European project that was responsible to introduce new cryptographic primitives with high security levels.
Field-Programmable Gate Array (FPGA) Device: FPGA device is a semiconductor device used to process digital information, similar to a microprocessor. It uses gate array technology that can be reprogrammed after it is manufactured, rather than having its programming fixed during the manufacturing—a programmable logic device.
Cryptography: In modern times, cryptography has become a branch of information theory, as the mathematical study of information and especially its transmission from place to place. Cryptography is central to the techniques used in computer and network security for such things as access control and information confidentiality.
Hash Function: Hash function is a function that maps an input of arbitrary length into a fixed number of output bits, the hash value.
Whirlpool Hash Function: Whirlpool hash function is the most recent hash function to be standardized. It was selected to be included in the NESSIE project of cryptographic primitives.
DSP48 Slice: DSP48 slice is the basic building block of XILINX VIRTEX-4 FPGAs.