A hash algorithm takes a message as input and creates a fixed-length output called the
message digest. The message digest is put into the digital signature algorithm, which
generates or verifies the signature for the message. Signing the message digest rather than the
actual message usually improves the processing of the message, because the message digest is
smaller than the message. The same hash algorithm must be used by the originator and
verifier of the message. The Cisco Security Appliance supports the Keyed-Hash Message
Authentication Code (HMAC) variant of the following hash algorithms: