The AES-XCBC-PRF-128 Algorithm for the Internet Key Exchange Protocol (IKE) (RFC3664)
Original Publication Date: 2004-Jan-01
Included in the Prior Art Database: 2004-Jan-20
Internet Society Requests For Comment (RFCs)
Some implementations of IP Security (IPsec) may want to use a pseudo-random function derived from the Advanced Encryption Standard (AES). This document describes such an algorithm, called AES-XCBC- PRF-128.
Network Working Group P. Hoffman
Request for Comments: 3664 VPN Consortium
Category: Standards Track January 2004
The AES-XCBC-PRF-128 Algorithm for
the Internet Key Exchange Protocol (IKE)
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright (C) The Internet Society (2004). All Rights Reserved.
Some implementations of IP Security (IPsec) may want to use a
pseudo-random function derived from the Advanced Encryption Standard
(AES). This document describes such an algorithm, called AES-XCBC-
[AES-XCBC-MAC] describes a method to use the Advanced Encryption
Standard (AES) as a message authentication code (MAC) whose output is
96 bits long. While 96 bits is considered appropriate for a MAC, it
is too short to be useful as a long-lived pseudo-random (PRF) in
either IKE version 1 or version 2. Both versions of IKE use the PRF
to create keys in a fashion that is dependent on the length of the
output of the PRF. Using a PRF that has 96 bits of output creates
keys that are easier to attack with brute force than a PRF that uses
128 bits of output.
Fortunately, there is a very simple method to use much of [AES-XCBC-
MAC] as a PRF whose output is 128 bits: omit the step that truncates
the 128-bit value to 96 bits.
Hoffman Standards Track [Page 1]
RFC 3664 The AES-XCBC-PRF-128 Algorithm for IKE January 2004
2. The AES-XCBC-PRF-128 Algorithm
The AES-XCBC-PRF-128 algorithm is identical to [AES-XCBC-MAC] except
that the truncation step in section 4.3 of [AES-XCBC-MAC] is *not*
performed. That is, there is no processing after section 4.2 of
The test vectors in section 4.6 can be used for AES-XCBC-PRF-128, but
only those listed as "AES-XCBC-MAC", not "AES-XCBC-MAC-96".
3. Security Considerations
The security provided by AES-XCBC-MAC-PRF is based upon the strength
of AES. At the time of this writing, there are no known practical
cryptographic attacks against AES or AES-XCBC-MAC-PRF.
As is true with any cryptographic algorithm, part of its strength
lies in the security of the key management mechanism, the strength of
the associated secret key, and upon the correctness of the
implementations in all of the participating systems. [AES-XCBC-MAC]
contains test vectors to assist in verifying the correctness of the
AES-XCBC-MAC-PRF code. The test vectors all show the full MAC value
before it is truncated to 96 bits. The PRF makes use of the full MAC
value, not the truncated one.
4. Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology des...