Hash-based Message Authentication Code

E832816

Hash-based Message Authentication Code (HMAC) is a cryptographic mechanism that uses a hash function and a secret key to verify both the integrity and authenticity of a message.

All labels observed (3)

How this entity was disambiguated

Statements (50)

Predicate Object
instanceOf cryptographic primitive
message authentication code
abbreviation HMAC
alternativeTo CBC-MAC
CMAC
basedOn iterated hash function construction
belongsTo symmetric cryptography
canBeTruncatedTo shorter tag length
commonlyUses MD5
SHA-1
SHA-256
SHA-512
definedIn RFC 2104
formalSecurityModel PRF-based security model
hasProperty collision resistance inherited from hash function
computationally infeasible to forge without key
deterministic output for given key and message
keyed construction
hasPurpose data origin authentication
message authentication
message integrity verification
introducedBy Hugo Krawczyk
Mihir Bellare
Ran Canetti
introducedInYear 1996
isResistantTo length extension attacks
notProvides non-repudiation
outputDependsOn message
secret key
underlying hash function
provides authentication
integrity protection
tamper detection
recommendedKeyLengthAtLeast 128 bits
requires shared secret key between sender and receiver
securityReliesOn pseudorandomness of the underlying hash function
secrecy of the key
standardizedBy IETF
NIST
standardizedIn FIPS 198-1
tagLengthLimitedBy output size of underlying hash function
usedIn API authentication
IPsec
JSON Web Tokens
OAuth
SSH
TLS
digital signature schemes as building block
uses cryptographic hash function
secret key

How these facts were elicited

Referenced by (3)

Full triples — surface form annotated when it differs from this entity's canonical label.

RFC 2104 defines Hash-based Message Authentication Code
FIPS 198-1 defines Keyed-Hash Message Authentication Code
linked to: Hash-based Message Authentication Code
Session Traversal Utilities for NAT usesAttribute MESSAGE-INTEGRITY
linked to: Hash-based Message Authentication Code