HMAC
E37198
HMAC (Hash-based Message Authentication Code) is a cryptographic construction that combines a secret key with a hash function to provide data integrity and authentication.
All labels observed (14)
How this entity was disambiguated
This entity first appeared as the object of triple T287183 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: HMAC Context triple: [RFC 5246, uses, HMAC]
-
A.
AES-GCM
AES-GCM is an authenticated encryption mode of the Advanced Encryption Standard that provides both data confidentiality and integrity, widely used in modern network and security protocols.
-
B.
Diffie–Hellman key exchange
Diffie–Hellman key exchange is a foundational cryptographic protocol that enables two parties to securely establish a shared secret over an insecure communication channel.
-
C.
ChaCha20
ChaCha20 is a modern stream cipher designed by Daniel J. Bernstein, widely used for its high performance and strong security in protocols like TLS.
-
D.
RSA
RSA is a widely used public-key cryptographic algorithm that enables secure key exchange and digital signatures in many internet security protocols.
-
E.
RC4 stream cipher
The RC4 stream cipher is a once-widely used symmetric key algorithm known for its simplicity and speed in software, but now considered insecure due to multiple discovered vulnerabilities.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: HMAC Target entity description: HMAC (Hash-based Message Authentication Code) is a cryptographic construction that combines a secret key with a hash function to provide data integrity and authentication.
-
A.
AES-GCM
AES-GCM is an authenticated encryption mode of the Advanced Encryption Standard that provides both data confidentiality and integrity, widely used in modern network and security protocols.
-
B.
Diffie–Hellman key exchange
Diffie–Hellman key exchange is a foundational cryptographic protocol that enables two parties to securely establish a shared secret over an insecure communication channel.
-
C.
ChaCha20
ChaCha20 is a modern stream cipher designed by Daniel J. Bernstein, widely used for its high performance and strong security in protocols like TLS.
-
D.
RSA
RSA is a widely used public-key cryptographic algorithm that enables secure key exchange and digital signatures in many internet security protocols.
-
E.
RC4 stream cipher
The RC4 stream cipher is a once-widely used symmetric key algorithm known for its simplicity and speed in software, but now considered insecure due to multiple discovered vulnerabilities.
- F. None of above. chosen
Statements (49)
| Predicate | Object |
|---|---|
| instanceOf |
cryptographic construction
ⓘ
keyed hash function ⓘ message authentication code ⓘ |
| advantage |
no need for new primitives beyond hash
ⓘ
simple to implement ⓘ widely supported in libraries ⓘ |
| canBeTruncated | yes ⓘ |
| comparisonRequirement | constant-time comparison recommended ⓘ |
| component |
inner hash computation
ⓘ
outer hash computation ⓘ |
| constructionType | hash-based MAC ⓘ |
| definedOver | iterated hash functions ⓘ |
| designGoal |
black-box use of hash function
ⓘ
provable security under standard assumptions ⓘ |
| fullName |
HMAC
self-linksurface differs
ⓘ
surface form:
Hash-based Message Authentication Code
|
| introducedBy |
Hugo Krawczyk
ⓘ
Mihir Bellare ⓘ Ran Canetti ⓘ |
| keyProcessing |
keys longer than block size are hashed
ⓘ
keys shorter than block size are padded with zeros ⓘ |
| outputType |
authentication tag
ⓘ
fixed-length tag ⓘ |
| property | resistant to length extension attacks (when underlying hash is vulnerable) ⓘ |
| provides |
data integrity
ⓘ
message authentication ⓘ origin authentication ⓘ |
| recommendedKeyLength | at least as long as hash output ⓘ |
| requires | shared secret key ⓘ |
| securityDependsOn |
key secrecy
ⓘ
secret key length ⓘ underlying hash function ⓘ |
| standardizedIn |
FIPS 198-1
ⓘ
RFC 2104 ⓘ |
| typicalHashFunction |
MD5
ⓘ
SHA-1 ⓘ SHA-256 ⓘ SHA-512 ⓘ |
| usedFor |
API authentication
ⓘ
IPsec ⓘ JSON Web Tokens (JWT) ⓘ SSH ⓘ TLS ⓘ message integrity checks ⓘ |
| uses |
cryptographic hash function
ⓘ
secret key ⓘ |
| usesConstant |
inner padding (ipad)
ⓘ
outer padding (opad) ⓘ |
| verificationMethod | recompute and compare tag ⓘ |
| yearIntroduced | 1996 ⓘ |
How these facts were elicited
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: HMAC Description of subject: HMAC (Hash-based Message Authentication Code) is a cryptographic construction that combines a secret key with a hash function to provide data integrity and authentication.
Referenced by (28)
Full triples — surface form annotated when it differs from this entity's canonical label.