What are advantages of using a HMAC over RSA with SHA-1 hashes? I am currently studying for an exam and this was a previous question:


  Give one advantage of using HMACs over using RSA to sign SHA-1 hashes.


My thoughts are that it has something to do with the fact that HMAC assumes a private key has already been shared so there is no need to use public-private keys.  But wouldn't it be possible for this key to be compromised?
HMAC is much faster to compute. Also, HMAC might still be secure, even if the underlying hash function is broken. This is not true for RSA + a broken hash function.