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 Notice Copyright (C) The Internet Society (2004). All Rights Reserved.
AbstractSome 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. 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.
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 [AES-XCBC-MAC]. 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". 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.
Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society.