!!! Overview In [Cryptography], a [{$pagename}] ([HMAC]) is a specific construction for a [Message Authentication Code] (MAC) involving a [Cryptographic Hash Function] in combination with a [Authentication] usually using the [Private Key]. As with any [Message Authentication Code], [{$pagename}] may be used to simultaneously verify both the data [Integrity] and the [Authentication] of a [Message]. Any [Cryptographic Hash Function], such as MD5 or [SHA-1|Secure Hash Algorithm], may be used in the calculation of an [{$pagename}]. The resulting [{$pagename}] [algorithms] is termed [HMAC-MD5] or [HMAC-SHA1] accordingly. The [cryptographic] strength of the [{$pagename}] depends upon the [cryptographic] strength of the underlying [Cryptographic Hash Function], the size of its hash output, and on the size and quality of the key. [FIPS 198-1] generalizes and standardizes the use of [{$pagename}]s. [HMAC-SHA1] and [HMAC-MD5] are used within the [IPsec] and [TLS] [Protocols]. !! How are [{$pagename}] used in [Cryptography] As when [Eve] can not perform [Decryption] of the [Ciphertext], [Eve] could modify the [Ciphertext] in transit and perhaps fool [Bob] into accepting [Alice]'s [Message]. When a [{$pagename}] is utilized, [Bob] would at least know the [Ciphertext] had been modified since [Alice] sent the [Ciphertext]. !! More Information There might be more information for this subject on one of the following: [{ReferringPagesPlugin before='*' after='\n' }] ---- * [#1] - [Hash Based Message Authentication Code|https://en.wikipedia.org/wiki/Hash-based_message_authentication_code|target='_blank'] - based on 2015-02-12