UMaC
UMAC stands for Universal Message Authentication Code, a family of cryptographic constructions designed to provide data integrity and authenticity for messages. A UMAC tag is computed from a secret key and the message, and can be verified only by someone who possesses the same key. Tags are typically 96 or 128 bits long, with some variants allowing longer tags for extra security. UMACs are designed to be fast on modern processors, especially 64-bit architectures, and to require modest memory.
Construction and operation typically involve two stages. First, a universal hash function processes the message into
Security of UMAC rests on the properties of the universal hash family and the secrecy of the
Variants of UMAC are optimized for different environments, including software and hardware implementations. It is used