This document provides an overview of hash functions, secure hash algorithms (SHA), and HMAC.
It describes how hash functions work by taking a message and producing a fixed-size hash value. SHA algorithms like SHA-1, SHA-256, SHA-384, and SHA-512 are described as secure hash functions developed by NIST. The document outlines the 5 steps of the SHA-512 algorithm: 1) append padding bits, 2) append length, 3) initialize hash buffer, 4) process message in blocks, and 5) output hash value.
HMAC is then introduced as a way to incorporate a secret key into an existing hash algorithm like MD5 or SHA-1 to produce a message authentication code