# HMAC vs MAC functions

I've read definitions of MAC and HMAC, but can't say I've completely grasped the differences.

• What are principle differences?
• When to use one and when the other?(Typical Use Cases)
-
HMAC is a MAC algorithm. The term MAC algorithm refers to any algorithm that authenticates a message. There are other MAC algorithms besides HMAC, such as VMAC. –  Chris Smith Jun 16 '12 at 13:45
@ChrisSmith - thks, I understand...so updating my question, what are typical use cases just of HMAC functions? –  Matteo Jun 16 '12 at 14:31
The same as any other MAC algorithm. HMAC just has the added advantage that it doesn't require a MAC IV. Its typical uses are the same as any other MAC algorithm, ensuring the authenticity and integrity of a transmitted message for example. –  Chris Smith Jun 16 '12 at 15:52