ABSTRACT

In this chapter we introduce cryptographic hash functions and explore a few of their applications. At the most basic level, a hash function provides a way to map a long input string to a shorter output string sometimes called a digest. The primary requirement is to avoid collisions, or two inputs that map to the same digest. Collision-resistant hash functions have numerous uses. One example that we will see here is another approach-standardized as HMAC-for achieving domain extension for message authentication codes.