This seems like quite a dumb question, but I really don't know if I'm finding a answer anywhere. I understand that if i access a website that is secured with TLS, we exchange ciphersuites and so on, then decide on what algorithms to use. But, specifically, what is an example of a specific MAC my browser could use with a website secured with TLS? I mean the MAC itself and precisely how it works and so on?



1 Answer 1


The MAC algorithms used in TLS (and the older SSL) cipher suites have historically been HMAC, with the hash function used in the HMAC specified in the cipher suite.

HMAC is very widely used and described so I won't repeat the full description of it here, but it essentially hashes all the data in messages being sent to and from the webserver, combining the resulting hash with a key (which is negotiated during the TLS connection) into a short message authentication code that is sent alongside the message - the receiving end then repeats the process to ensure that the message has not been altered in transit.

Newer cipher suites used in later versions of TLS (e.g. TLS 1.2) include AEAD encryption algorithms, which you can think of as encryption with a built-in MAC, and .

e.g. viewing this question over https in Firefox 34, the cipher suite being used is TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, meaning that the MAC algorithm being used is the built in MAC provided by the GCM AEAD encryption mode.

If the cipher suite had been TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, then the MAC algorithm would be 'HMAC with SHA-256`


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.