RFC 2403 (rfc2403) - Page 2 of 7
The Use of HMAC-MD5-96 within ESP and AH
Alternative Format: Original Text Document
RFC 2403 The Use of HMAC-MD5-96 within ESP and AH November 1998
In this memo, HMAC-MD5-96 is used within the context of ESP and AH.
For further information on how the various pieces of ESP - including
the confidentiality mechanism -- fit together to provide security
services, refer to [ESP] and [Thayer97a]. For further information on
AH, refer to [AH] and [Thayer97a].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC-2119].
2. Algorithm and Mode
[RFC-1321] describes the underlying MD5 algorithm, while [RFC-2104]
describes the HMAC algorithm. The HMAC algorithm provides a framework
for inserting various hashing algorithms such as MD5.
HMAC-MD5-96 operates on 64-byte blocks of data. Padding requirements
are specified in [RFC-1321] and are part of the MD5 algorithm. If
MD5 is built according to [RFC-1321], there is no need to add any
additional padding as far as HMAC-MD5-96 is concerned. With regard
to "implicit packet padding" as defined in [AH], no implicit packet
padding is required.
HMAC-MD5-96 produces a 128-bit authenticator value. This 128-bit
value can be truncated as described in RFC 2104. For use with either
ESP or AH, a truncated value using the first 96 bits MUST be
supported. Upon sending, the truncated value is stored within the
authenticator field. Upon receipt, the entire 128-bit value is
computed and the first 96 bits are compared to the value stored in
the authenticator field. No other authenticator value lengths are
supported by HMAC-MD5-96.
The length of 96 bits was selected because it is the default
authenticator length as specified in [AH] and meets the security
requirements described in [RFC-2104].
2.1 Performance
[Bellare96a] states that "(HMAC) performance is essentially that of
the underlying hash function". [RFC-1810] provides some performance
analysis and recommendations of the use of MD5 with Internet
protocols. As of this writing no performance analysis has been done
of HMAC or HMAC combined with MD5.
[RFC-2104] outlines an implementation modification which can improve
per-packet performance without affecting interoperability.
Madson & Glenn Standards Track