HMAC Signature
Pronunciation: H-M-A-C SIG-nuh-cher
Definition
An HMAC signature is a shared-secret authentication tag calculated over defined message bytes using HMAC and an agreed cryptographic hash function. An HMAC signature lets two parties verify message integrity and possession of a shared secret. The sender computes a tag from the exact message and key, and the receiver independently computes the expected tag before accepting the message. Although commonly called a signature, HMAC does not provide public verification or nonrepudiation because every verifier with the secret can generate valid tags.
Overview
An HMAC signature lets two parties verify message integrity and possession of a shared secret. The sender computes a tag from the exact message and key, and the receiver independently computes the expected tag before accepting the message.
Although commonly called a signature, HMAC does not provide public verification or nonrepudiation because every verifier with the secret can generate valid tags. Security also fails if implementations sign different representations or omit important fields.
Systems should use strong unique secrets, approved hash functions, domain-separated message formats, timestamps or nonces, and constant-time comparison. Secret rotation needs overlapping key identifiers and controlled retirement so availability is maintained without accepting exposed keys indefinitely.
For HMAC Signature, production scope should name the relevant keys, signing policies, accounts, addresses, transactions, recovery paths, and custody boundaries, the decision being supported, the accountable owner, and the time and jurisdiction boundaries.
An HMAC signature is a shared-secret authentication tag calculated over defined message bytes using HMAC and an agreed cryptographic hash function. HMAC signatures provide symmetric authenticity, requiring exact message agreement, protected shared secrets, replay defenses, and constant-time comparison.
A production treatment of HMAC Signature should test a shared-secret authentication tag calculated over defined message bytes using HMAC and an agreed cryptographic hash function within the relevant asset, decision, or service state. The HMAC Signature context record for a shared-secret authentication tag calculated over should preserve source data, configuration or policy version, responsible actor, exception, and outcome. Review of HMAC Signature should determine whether safeguards addressing a shared-secret authentication tag calculated over changed exposure in practice, not merely whether a document or setting existed.
Key Takeaway
HMAC signatures provide symmetric authenticity, requiring exact message agreement, protected shared secrets, replay defenses, and constant-time comparison.
Sources
- NIST Documentation: Cryptographic Standards And Guidelines — NIST (2026-07-30)