UMAC: Fast and Provably Secure Message Authentication

UMAC is a message authentication code : an algorithm for generating authentication tags, which are used to ensure the authenticity and integrity of transmitted messages. UMAC is the fastest message authentication code that has been reported on in the cryptographic literature. First described in 1999, UMAC has undergone significant revisions since its introduction. Large algorithmic changes were made in 2000 to make UMAC faster on short messages. Small algorithmic changes were made in 2004 and a number of UMAC options were eliminated for simplicity. This page concerns the current version UMAC. The web pages concerning older versions of UMAC can be found here: 1999, 2000.


Downloads: The UMAC source code and specification.
UMAC Specification rfc4418.txt (Errata)
UMAC Source Code UMAC Source Code
Timing and Throughput Data UMAC Performance
Update on changes since CRYPTO '99 PostScript (177K) or PDF (100K)
CRYPTO '99 Paper: "UMAC: Fast and Secure Message Authentication". John Black, Shai Halevi, Hugo Krawczyk, Ted Krovetz, and Phillip Rogaway. Advances in Cryptology - CRYPTO '99. Lecture Notes in Computer Science, vol. 1666, Springer-Verlag, 1999, pp. 216-233. PostScript (857K) or PDF (225K)
UMAC Dissertation: "Software-Optimized Universal Hashing and Message Authentication". Theodore Krovetz, UC Davis PhD dissertation, supervised by Phillip Rogaway, 2000. PDF (888K)
UMAC Security Bound from PRP-Advantage PDF (153K)


For questions or comments, please contact Ted Krovetz <>.