Security and Cryptography for Networks

Volume 4116 of the series Lecture Notes in Computer Science pp 242-256

On the Security of HMAC and NMAC Based on HAVAL, MD4, MD5, SHA-0 and SHA-1 (Extended Abstract)

  • Jongsung KimAffiliated withESAT/SCD-COSIC, Katholieke Universiteit Leuven
  • , Alex BiryukovAffiliated withFDEF, Campus Limpertsberg, University of Luxembourg
  • , Bart PreneelAffiliated withESAT/SCD-COSIC, Katholieke Universiteit Leuven
  • , Seokhie HongAffiliated withCenter for Information Security Technologies(CIST), Korea University

* Final gross prices may vary according to local VAT.

Get Access


HMAC is a widely used message authentication code and a pseudorandom function generator based on cryptographic hash functions such as MD5 and SHA-1. It has been standardized by ANSI, IETF, ISO and NIST. HMAC is proved to be secure as long as the compression function of the underlying hash function is a pseudorandom function. In this paper we devise two new distinguishers of the structure of HMAC, called differential and rectangle distinguishers, and use them to discuss the security of HMAC based on HAVAL, MD4, MD5, SHA-0 and SHA-1. We show how to distinguish HMAC with reduced or full versions of these cryptographic hash functions from a random function or from HMAC with a random function. We also show how to use our differential distinguisher to devise a forgery attack on HMAC. Our distinguishing and forgery attacks can also be mounted on NMAC based on HAVAL, MD4, MD5, SHA-0 and SHA-1.