<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>

<!--
     ASCII to XML transformation by Invisible Worlds, Inc.
     http://invisible.net/
     Last transformation: 03-Feb-1999, 01:43:02

     Cannonical version of this document is at:
     http://info.internet.isi.edu/in-notes/rfc/files/rfc2411.txt

     Implementors should verify all content with
     cannonical version.  Failure to do so may result in
     protocol failures.
-->

<rfc number="2411"
     category="info">
<front>
<title>IP Security Document Roadmap</title>
<author initials="R." surname="Thayer" fullname="Rodney Thayer">
<organization>Sable Technology Corporation</organization>
<address>
<postal>
<street>246 Walnut Street</street>
<city>Newton</city>
<region>MA</region>
<code>02160</code>
<country>USA</country>
</postal>
<email>mailto:rodney@sabletech.com</email>
</address>
</author>
<author initials="N." surname="Doraswamy" fullname="Naganand Doraswamy">
<organization>Bay Networks</organization>
<address>
<email>naganand@baynetworks.com</email>
</address>
</author>
<author initials="R." surname="Glenn" fullname="Rob Glenn">
<organization>NIST</organization>
<address>
<email>rob.glenn@nist.gov</email>
</address>
</author>
<date month="November" year="1998"/>
<area>Internet</area>
<area>Security</area>
<keyword>IP security protocol</keyword>
<keyword>authentication</keyword>
<keyword>encryption</keyword>
<keyword>security</keyword>
<abstract>
<t>
   The IPsec protocol suite is used to provide privacy and
   authentication services at the IP layer.  Several documents are used
   to describe this protocol suite.  The interrelationship and
   organization of the various documents covering the IPsec protocol are
   discussed here.  An explanation of what to find in which document,
   and what to include in new Encryption Algorithm and Authentication
   Algorithm documents are described.
</t>
</abstract>
</front>
<middle>
<!-- RFC original section: (1.) -->
<section title="Introduction">
<t>
   This document is intended to provide guidelines for the development
   of collateral specifications describing the use of new encryption and
   authentication algorithms with the ESP protocol, described in <xref target="RFC2406"/> 
   and new authentication algorithms used with the AH protocol,
   described in <xref target="RFC2402"/> .  ESP and AH are part of the IP Security
   architecture described in <xref target="RFC2401"/> .  There is a requirement for a
   well-known procedure that can be used to add new encryption
   algorithms or authentication algorithms to ESP and AH, not only while
   the initial document set is undergoing development but after the base
   documents have achieved RFC status.  Following the guidelines
   discussed below simplifies adding new algorithms and reduces that
   amount of redundant documentation.
</t>
<t>
   The goal in writing a new Encryption Algorithm or Authentication
   Algorithm document is to concentrate on the application of the
   specific algorithm within ESP and AH.  General ESP and AH concepts,
   definitions, and issues are covered in the ESP and AH documents. The
   algorithms themselves are not described in these documents.  This
   gives us the capability to add new algorithms and also specify how
   any given algorithm might interact with other algorithms. The intent
   is to achieve the goal of avoiding duplication of information and
   excessive numbers of documents, the so-called &quot;draft explosion&quot;
   effect.
</t>
</section>
<!-- RFC original section: (2.) -->
<section title="Interrelationship of IPsec Documents">
<t>
   The documents describing the set of IPsec protocols are divided into
   seven groups.  This is illustrated in Figure 1.  There is a main
   Architecture document which broadly covers the general concepts,
   security requirements, definitions, and mechanisms defining IPsec
   technology.
</t>
<t>
   There is an ESP Protocol document and an AH Protocol document which
   covers the packet format and general issues regarding the respective
   protocols.  These protocol documents also contain default values if
   appropriate, such as the default padding contents, and mandatory to
   implement algorithms.  These documents dictate some of the values in
   the Domain Of Interpretation document <xref target="RFC2407"/> .  Note the DOI document
   is itself part of the IANA Assigned Numbers mechanism and so the
   values described in the DOI are well-known.  See <xref target="RFC2407"/>  for more
   information on the mechanism.
</t>
<t>
   The &quot;Encryption Algorithm&quot; document set, shown on the left, is the
   set of documents describing how various encryption algorithms are
   used for ESP.  These documents are intended to fit in this roadmap,
   and should avoid overlap with the ESP protocol document and with the
</t>
<t>
   Authentication Algorithm documents.  Examples of this document are
   the <xref target="RFC2405"/>  and <xref target="RFC2451"/>  documents.  When these or other
   encryption algorithms are used for ESP, the DOI document has to
   indicate certain values, such as an encryption algorithm identifier,
   so these documents provide input to the DOI.
</t>
<t>
   The &quot;Authentication Algorithm&quot; document set, shown on the right, is
   the set of documents describing how various authentication algorithms
   are used for both ESP and AH.  These documents are intended to fit in
   this roadmap, and should avoid overlap with the AH protocol document
   and with the Encryption Algorithm documents.  Examples of this
   document are the <xref target="RFC2403"/> , and <xref target="RFC2404"/>  documents.  When these
   or other algorithms are used for either ESP or AH, the DOI document
   has to indicate certain values, such as algorithm type, so these
   documents provide input to the DOI.
</t>
<t>
   The &quot;Key Management Documents&quot;, shown at the bottom, are the
   documents describing the IETF standards-track key management schemes.
   These documents provide certain values for the DOI also.  Note that
   issues of key management should be indicated here and not in, for
   example, the ESP and AH protocol documents.  Currently this box
   represents [ISAKMP], [Oakley], and [Resolution].
</t>
<t>
   The DOI document, shown in the middle, contains values needed for the
   other documents to relate to each other.  This includes for example
   encryption algorithms, authentication algorithms, and operational
   parameters such as key lifetimes.
</t>
<figure><artwork>
                      +--------------+
                      | Architecture |
                      +--------------+
                        v          v
               +&lt;-&lt;-&lt;-&lt;-+          +-&gt;-&gt;-&gt;-&gt;+
               v                            v
      +----------+                       +----------+
      |   ESP    |                       |    AH    |
      | Protocol |                       | Protocol |
      +----------+                       +----------+
        v      v                           v       v
        v      +-&gt;-&gt;-&gt;-&gt;-&gt;-&gt;-&gt;-&gt;+          v       v
        v      v                v          v       v
        v      v                v          v       v
        v  +------------+     +----------------+   v
        v  | +------------+   | +----------------+ v
        v  | | Encryption |   | | Authentication | v
        v  +-| Algorithm  |   +-| Algorithm      | v
        v    +------------+     +----------------+ v
        v        v                       v         v
        v        v        +-----+        v         v
        +&gt;-&gt;-&gt;-&gt;-+-&gt;-&gt;-&gt;-&gt;| DOI |&lt;-&lt;-&lt;-&lt;-+-&lt;-&lt;-&lt;-&lt;-+
                          +-----+
                             ^
                             ^
                       +------------+
                       |    KEY     |
                       | MANAGEMENT |
                       +------------+
</artwork><postamble>
              Figure 1. IPsec Document Roadmap.
</postamble></figure>
</section>
<!-- RFC original section: (3.) -->
<section title="Keying Material">
<t>
   Describing the encryption and authentication algorithms in different
   documents raises the issue of how the key management protocols knows
   the required keying material length for the desired algorithms when
   used together with ESP.  It also raises the issue of how to divide
   the keying material.  This is known as the &quot;slicing and dicing&quot;
   information.
</t>
<t>
   Each Encryption Algorithm and Authentication Algorithm document
   should specify their respective key attributes (e.g. how to pad,
   location of parity bits, key order for multi-keyed algorithms, and
   length).  The key management protocols should use the length of the
   keys specified in the respective Algorithm documents to generate the
   keying material of required length.
</t>
<t>
   The key management protocol generates keying material with enough
   strength and size to generate keys for individual algorithms. The
   IPsec Architecture document specifies how keys are extracted from a
   single block of keying material when multiple keys are required (e.g.
   ESP with authentication).  The Encryption Algorithm and
</t>
<t>
   Authentication Algorithm documents are responsible for specifying the
   key sizes and strengths for each algorithm. However, whether the
   entire keying material is passed down to the kernel to perform
   slicing and dicing or if the keys are sliced and diced by key
   management protocol is an implementation issue. The AH protocol
   document has no such requirement.
</t>
</section>
<!-- RFC original section: (4.) -->
<section title="Recommended Content of Algorithm Documents">
<t>
   The document describing how a specific encryption or authentication
   algorithm is used should contain information appropriate to that
   encryption or authentication algorithm.  This section enumerates what
   information should be provided.  It is the intention of the document
   roadmap that:
<list>
<t>
   .  General protocol information goes in the respective ESP or AH
      protocol documents.
</t><t>
   .  Key management information goes in the key management documents.
   .  Assigned values and constants of negotiable items go in the DOI
      document.
</t></list>
</t>
<t>
   Encryption and authentication algorithms require some set of optional
   parameters or have optional modes of operation (e.g. IVs,
   authentication data lengths, and key lengths).  To help eliminate
   some complexity involved with key management having to negotiate
   large numbers of algorithm-specific parameters, encryption and
   authentication algorithm documents will select fixed values for these
   parameters when it is deemed technically reasonable and feasible.
</t>
<t>
   Note, the following information is intended as a general guideline
   only.
</t>
<!-- RFC original section: (4.1) -->
<section title="Encryption and Authentication Algorithms">
<t>
   This section describes the information that should be included in
   both Encryption Algorithm and Authentication Algorithm documents.
</t>
<t>
   Keying Material
<list>
<t>
   .  Size of keys, including minimum, maximum, recommended and/or
      required sizes.  Note: the security considerations section should
      address any weakness in specific sizes.
</t>
<t>
   .  Recommended or required pseudo-random number generator techniques
      and attributes to provide sufficiently strong keys.  <xref target="RFC1750"/> 
      provides recommendations on generating strong randomness for use
      with security.
</t><t>
   .  Format of keying material.
</t><t>
   .  Known weak keys or references to documentation on known weak keys.
</t><t>
   .  Recommended or required processing of input keying material such
      as parity generation or checking.
</t><t>
   .  Requirements and/or recommendations on how often the keying
      material should be refreshed.
</t></list>
</t>
<t>
   Performance Considerations
<list><t>
   .  Any available estimates on performance of this algorithm.
</t><t>
   .  Any available comparison data  (e.g., compared against DES or
      MD5).
</t><t>
   .  Input size or other considerations that could improve or degrade
      performance.
</t></list>
</t>
<t>
   ESP Environmental Considerations
<list><t>
   .  Any known issues regarding interactions between this algorithm and
      other aspects of ESP, such as use of certain authentication
      schemes.  Note:  As new encryption and authentication algorithms
      are applied to ESP, the later documents will be required to
      address interactions with previously specified algorithms.
</t></list>
</t>
<t>
   Payload Content and Format Description
<list><t>
   .  Specification of size, placement, and content of algorithm-
      specific fields not defined in the ESP or AH protocol documents
      (e.g., IV).
</t></list>
</t>
<t>
   Security Considerations
<list><t>
   .  Discuss any known attacks.
</t><t>
   .  Discuss any known common implementation pitfalls, such as use of
      weak random number generators.
</t><t>
   .  Discuss any relevant validation procedures, such as test vectors.
      <xref target="RFC2202"/>  is an example document containing test vectors for
      a set of authentication algorithms.
</t></list>
</t>
</section>
<!-- RFC original section: (4.2) -->
<section title="Encryption Algorithms">
<t>
   This section describes the information that should be included in the
   Encryption Algorithm documents.
</t>
<t>
   Encryption Algorithm Description
<list><t>
   .  General information how this encryption algorithm is to be used in
      ESP.
</t><t>
   .  Description of background material and formal algorithm
      description.
</t>
<t>
   .  Features of this encryption algorithm to be used by ESP, including
      encryption and/or authentication.
</t><t>
   .  Mention of any availability issues such as Intellectual Property
      considerations.
</t><t>
   .  References, in IETF style, to background material such as FIPS
      documents.
</t></list>
</t>
<t>
   Algorithm Modes of Operation
<list><t>
   .  Description of how the algorithm is operated, whether it is block
      mode or streaming mode or other.
</t><t>
   .  Requirements for input or output block format.
</t><t>
   .  Padding requirements of this algorithm.  Note: there is a default
      for padding, specified in the base ESP document, so this is only
      needed if the default cannot be used.
</t><t>
   .  Any algorithm-specific operating parameters, such as number of
      rounds.
</t><t>
   .  Identify optional parameters and optional methods of operation and
      pick reasonable fixed values and methods with explicit technical
      explanations.
</t><t>
   .  Identify those optional parameters in which values and methods
      should remain optional with explicit technical explanations on why
      fixed values and methods should not be used.
</t><t>
   .  Defaults and mandatory ranges on algorithm-specific optional
      parameters that could not be fixed.
</t></list>
</t>
</section>
<!-- RFC original section: (4.3) -->
<section title="Authentication Algorithms">
<t>
   This section describes the information that should be included in the
   Authentication Algorithm documents.  In most cases, an authentication
   algorithm will operate the same whether it is used for ESP or AH.
   This should be represented in a single Authentication Algorithm
   document.
</t>
<t>
   Authentication Algorithm Description
<list><t>
   .  General information on how this authentication algorithm is to be
      used with ESP and AH.
</t><t>
   .  Description of background material and formal algorithm
      description.
</t><t>
   .  Features of this authentication algorithm.
</t><t>
   .  Mention of any availability issues such as Intellectual Property
      considerations.
</t><t>
   .  References, in IETF style, to background material such as
      FIPS documents and definitive descriptions of underlying
      algorithms.
</t></list>
</t>
<t>
   Algorithm Modes of Operation
<list><t>
   .  Description of how the algorithm is operated.
</t>
<t>
   .  Algorithm-specific operating parameters, such as number of
      rounds, and input or output block format.
</t><t>
   .  Implicit and explicit padding requirements of this algorithm.
      Note: There is a default method for padding of the
      authentication data field specified in the AH protocol document.
      This is only needed if the default cannot be used.
</t><t>
   .  Identify optional parameters and optional methods of operation and
      pick reasonable fixed values and methods with explicit technical
      explanations.
</t><t>
   .  Identify those optional parameters in which values and methods
      should remain optional with explicit technical explanations on why
      fixed values and methods should not be used.
</t><t>
   .  Defaults and mandatory ranges on algorithm-specific optional
      parameters that could not be fixed.
</t><t>
   .  Authentication data comparison criteria for this algorithm.  Note:
      There is a default method for verifying the authentication data
      specified in the AH protocol document.  This is only needed if the
      default cannot be used (e.g. when using a signed hash).
</t></list>
</t>
</section>
</section>
<!-- RFC original section: (5.) -->
<section title="Security Considerations">
<t>
   This document provides a roadmap and guidelines for writing
   Encryption and Authentication Algorithm documents. The reader should
   follow all the security procedures and guidelines described in the
   IPsec Architecture, ESP Protocol, AH Protocol, Encryption Algorithm,
   and Authentication Algorithm documents.  Note that many encryption
   algorithms are not considered secure if they are not used with some
   sort of authentication mechanism.
</t>
</section>
<!-- RFC original section: (6.) -->
<section title="Acknowledgments">
<t>
   Several Internet drafts were referenced in writing this document.
   Depending on where the documents are on (or off) the IETF standards
   track these may not be available through the IETF RFC repositories.
   In certain cases the reader may want to know what version of these
   documents were referenced. These documents are:
<list>
<t>
   .  DES-Detroit: this is the ANX Workshop style of ESP, based on the
      Hughes draft as modified by Cheryl Madson and published on the ANX
      mailing list.
</t><t>
   .  DOI: draft-ietf-ipsec-ipsec-doi-02.txt.
</t><t>
   .  3DES: this is &lt;the Triple-DES shim document&gt;.
</t><t>
   .  CAST: this is draft-ietf-ipsec-esp-cast-128-cbc-00.txt, as revised
      to relate to this document.
</t><t>
   .  ESP: draft-ietf-ipsec-esp-04.txt, mailed to the IETF mailing list
      in May/June 1997.
</t><t>
   .  AH: draft-ietf-ipsec-auth-05.txt, mailed to the IETF mailing list
      in May/June 1997.
</t>
<t>
   .  HUGHES: this is draft-ietf-ipsec-esp-des-md5-03.txt
</t><t>
   .  ISAKMP: There are three documents describing ISAKMP.  These are
      draft-ietf-ipsec-isakmp-07.txt, draft-ietf-ipsec-isakmp-oakley-
      03.txt, and draft-ietf-ipsec-ipsec-doi-02.txt.
</t></list>
</t>
</section>
<!-- RFC original section: (7.) -->
<section title="References (BOILERPLATE)">
<t>
This RFC contained boilerplate in this section which has been moved
to the RFC2223-compliant unnumbered section &quot;References.&quot;
</t>
</section>
<!-- RFC original section: (8.) -->
<section title="Authors&apos; Addresses (BOILERPLATE)">
<t>
This RFC contained boilerplate in this section which has been moved
to the RFC2223-compliant unnumbered section &quot;Author&apos;s Address.&quot;
</t>
</section>
<!-- RFC original section: (9.) -->
<section title="Full Copyright Statement (BOILERPLATE)">
<t>
This RFC contained boilerplate in this section which has been moved
to the RFC2223-compliant unnumbered section &quot;Full Copyright Statement.&quot;
</t>
</section>
</middle>
<back>
<!-- BEGIN INCLUDE REFERENCES ** DO NOT REMOVE -->
<references>

                     

<reference anchor='RFC2451'>

<front>
<title>The ESP CBC-Mode Cipher Algorithms</title>
<author initials='R.' surname='Pereira' fullname='Roy Pereira'>
<organization>TimeStep Corporation</organization>
<address>
<phone>+1 613 599 3610 x 4808</phone>
<email>rpereira@timestep.com</email></address></author>
<author initials='R.' surname='Adams' fullname='Rob Adams'>
<organization>Cisco Systems Inc.</organization>
<address>
<phone>+1 408 457 5397</phone>
<email>adams@cisco.com</email></address></author>
<date month='November' year='1998' />
<area>Internet</area>
<area>Security</area>
<keyword>IP security protocol</keyword>
<keyword>cipher block chaining</keyword>
<keyword>encapsulate</keyword>
<keyword>encapsulating security payload</keyword>
<keyword>encryption</keyword>
<keyword>security</keyword>
<abstract>
<t>
   This document describes how to use CBC-mode cipher algorithms with
   the IPSec ESP (Encapsulating Security Payload) Protocol.  It not only
   clearly states how to use certain cipher algorithms, but also how to
   use all CBC-mode cipher algorithms.
</t></abstract></front>

<seriesInfo name='RFC' value='2451' />
<format type='TXT' octets='26400' target='ftp://ftp.isi.edu/in-notes/rfc2451.txt' />
<format type='HTML' octets='41501' target='http://xml.resource.org/public/rfc/html/rfc2451.html' />
<format type='XML' octets='35857' target='http://xml.resource.org/public/rfc/xml/rfc2451.xml' />
</reference>
 	<!-- 		_XREF_CBC			 -->
                     

<reference anchor='RFC2401'>

<front>
<title abbrev='Security Architecture'>Security Architecture for the Internet Protocol</title>
<author initials='S.' surname='Kent' fullname='Stephen Kent'>
<organization>BBN Corporation</organization>
<address>
<postal>
<street>70 Fawcett Street</street>
<street>Cambridge</street>
<street>MA  02140</street>
<country>USA</country></postal>
<phone>+1 (617) 873-3988</phone>
<email>kent@bbn.com</email></address></author>
<author initials='R.' surname='Atkinson' fullname='Randall Atkinson'>
<organization>@Home Network</organization>
<address>
<postal>
<street>425 Broadway</street>
<street>Redwood City</street>
<street>CA 94063</street>
<country>USA</country></postal>
<phone>+1 (415) 569-5000</phone>
<email>rja@corp.home.net</email></address></author>
<date month='November' year='1998' />
<area>Security</area>
<keyword>IP security protocol</keyword>
<keyword>IPSEC</keyword>
<keyword>internet protocol version 6</keyword>
<keyword>security</keyword></front>

<seriesInfo name='RFC' value='2401' />
<format type='TXT' octets='168162' target='ftp://ftp.isi.edu/in-notes/rfc2401.txt' />
<format type='HTML' octets='186006' target='http://xml.resource.org/public/rfc/html/rfc2401.html' />
<format type='XML' octets='166999' target='http://xml.resource.org/public/rfc/xml/rfc2401.xml' />
</reference>
 	<!-- 		 _XREF_Arch 			 -->
                     

<reference anchor='RFC2405'>

<front>
<title abbrev='The ESP DES-CBC Cipher Algorithm'>The ESP DES-CBC Cipher Algorithm With Explicit IV</title>
<author initials='C.' surname='Madson' fullname='Cheryl Madson'>
<organization>Cisco Systems, Inc.</organization>
<address>
<email>cmadson@cisco.com</email></address></author>
<author initials='N.' surname='Doraswamy' fullname='Naganand Doraswamy'>
<organization>Bay Networks, Inc.</organization>
<address>
<email>naganand@baynetworks.com</email></address></author>
<date month='November' year='1998' />
<area>Security</area>
<keyword>Digital Encryption Standard</keyword>
<keyword>IP security protocol</keyword>
<keyword>cipher block chaining</keyword>
<keyword>encapsulate</keyword>
<keyword>encapsulating security payload</keyword>
<keyword>encryption</keyword>
<keyword>security</keyword>
<abstract>
<t>
   This document describes the use of the DES Cipher algorithm in Cipher
   Block Chaining Mode, with an explicit IV, as a confidentiality
   mechanism within the context of the IPSec Encapsulating Security
   Payload (ESP).
</t></abstract></front>

<seriesInfo name='RFC' value='2405' />
<format type='TXT' octets='20208' target='ftp://ftp.isi.edu/in-notes/rfc2405.txt' />
<format type='HTML' octets='38833' target='http://xml.resource.org/public/rfc/html/rfc2405.html' />
<format type='XML' octets='24595' target='http://xml.resource.org/public/rfc/xml/rfc2405.xml' />
</reference>
 	<!-- 		 _XREF_DES.Detroit 	 -->
                     

<reference anchor='RFC2407'>

<front>
<title abbrev='IP Security Domain of Interpretation'>The Internet IP Security Domain of Interpretation for ISAKMP</title>
<author initials='D.' surname='Piper' fullname='Derrell Piper'>
<organization>Network Alchemy</organization>
<address>
<postal>
<street>1521.5 Pacific Ave</street>
<street>Santa Cruz</street>
<street>California</street>
<street>95060</street>
<country>United States of America</country></postal>
<phone>+1 408 460-3822</phone>
<email>ddp@network-alchemy.com</email></address></author>
<date month='November' year='1998' />
<area>Security</area>
<area>Internet</area>
<keyword>IP security protocol</keyword>
<keyword>cryptographic</keyword>
<keyword>internet security association and key management protocol</keyword>
<keyword>key management</keyword>
<keyword>security</keyword>
<note title='IESG Note'>
<t>
   Section 4.4.4.2 states, &quot;All implememtations within the IPSEC DOI
   MUST support ESP_DES...&quot;.  Recent work in the area of cryptanalysis
   suggests that DES may not be sufficiently strong for many
   applications.  Therefore, it is very likely that the IETF will
   deprecate the use of ESP_DES as a mandatory cipher suite in the near
   future.  It will remain as an optional use protocol.  Although the
   IPsec working group and the IETF in general have not settled on an
   alternative algorithm (taking into account concerns of security and
   performance), implementers may want to heed the recommendations of
   section 4.4.4.3 on the use of ESP_3DES.
</t></note></front>

<seriesInfo name='RFC' value='2407' />
<format type='TXT' octets='67878' target='ftp://ftp.isi.edu/in-notes/rfc2407.txt' />
<format type='HTML' octets='92673' target='http://xml.resource.org/public/rfc/html/rfc2407.html' />
<format type='XML' octets='75422' target='http://xml.resource.org/public/rfc/xml/rfc2407.xml' />
</reference>
 	<!-- 		 _XREF_DOI 			 -->
                     

<reference anchor='RFC2402'>

<front>
<title>IP Authentication Header</title>
<author initials='S.' surname='Kent' fullname='Stephen Kent'>
<organization>BBN Corporation</organization>
<address>
<postal>
<street>70 Fawcett Street</street>
<street>Cambridge</street>
<street>MA  02140</street>
<country>USA</country></postal>
<phone>+1 (617) 873-3988</phone>
<email>kent@bbn.com</email></address></author>
<author initials='R.' surname='Atkinson' fullname='Randall Atkinson'>
<organization>@Home Network</organization>
<address>
<postal>
<street>425 Broadway</street>
<street>Redwood City</street>
<street>CA  94063</street>
<country>USA</country></postal>
<phone>+1 (415) 569-5000</phone>
<email>rja@corp.home.net</email></address></author>
<date month='November' year='1998' />
<area>Internet</area>
<area>Security</area>
<keyword>IP security protocol</keyword>
<keyword>authentication</keyword>
<keyword>internet protocol version 6</keyword></front>

<seriesInfo name='RFC' value='2402' />
<format type='TXT' octets='52831' target='ftp://ftp.isi.edu/in-notes/rfc2402.txt' />
<format type='HTML' octets='66311' target='http://xml.resource.org/public/rfc/html/rfc2402.html' />
<format type='XML' octets='52029' target='http://xml.resource.org/public/rfc/xml/rfc2402.xml' />
</reference>
 	<!-- 		 _XREF_AH 			 -->
                     

<reference anchor='RFC2406'>

<front>
<title>IP Encapsulating Security Payload (ESP)</title>
<author initials='S.' surname='Kent' fullname='Stephen Kent'>
<organization>BBN Corporation</organization>
<address>
<postal>
<street>70 Fawcett Street</street>
<street>Cambridge</street>
<street>MA  02140</street>
<country>USA</country></postal>
<phone>+1 (617) 873-3988</phone>
<email>kent@bbn.com</email></address></author>
<author initials='R.' surname='Atkinson' fullname='Randall Atkinson'>
<organization>@Home Network</organization>
<address>
<postal>
<street>425 Broadway</street>
<street>Redwood City</street>
<street>CA  94063</street>
<country>USA</country></postal>
<phone>+1 (415) 569-5000</phone>
<email>rja@corp.home.net</email></address></author>
<date month='November' year='1998' />
<area>Security</area>
<area>Internet</area>
<keyword>IP security protocol</keyword>
<keyword>encapsulate</keyword>
<keyword>encapsulating security payload</keyword>
<keyword>internet protocol version 6</keyword>
<keyword>security</keyword></front>

<seriesInfo name='RFC' value='2406' />
<format type='TXT' octets='54202' target='ftp://ftp.isi.edu/in-notes/rfc2406.txt' />
<format type='HTML' octets='67818' target='http://xml.resource.org/public/rfc/html/rfc2406.html' />
<format type='XML' octets='53887' target='http://xml.resource.org/public/rfc/xml/rfc2406.xml' />
</reference>
 	<!-- 		 _XREF_ESP 			 -->
                     

<reference anchor='RFC2104'>

<front>
<title abbrev='HMAC'>HMAC: Keyed-Hashing for Message Authentication</title>
<author initials='H.' surname='Krawczyk' fullname='Hugo Krawczyk'>
<organization>IBM, T.J. Watson Research Center</organization>
<address>
<postal>
<street>P.O.Box 704</street>
<city>Yorktown Heights</city>
<region>NY</region>
<code>10598</code>
<country>US</country></postal>
<email>hugo@watson.ibm.com</email></address></author>
<author initials='M.' surname='Bellare' fullname='Mihir Bellare'>
<organization>University of California at San Diego, Dept of Computer Science and Engineering</organization>
<address>
<postal>
<street>9500 Gilman Drive</street>
<street>Mail Code 0114</street>
<city>La Jolla</city>
<region>CA</region>
<code>92093</code>
<country>US</country></postal>
<email>mihir@cs.ucsd.edu</email></address></author>
<author initials='R.' surname='Canetti' fullname='Ran Canetti'>
<organization>IBM T.J. Watson Research Center</organization>
<address>
<postal>
<street>P.O.Box 704</street>
<city>Yorktown Heights</city>
<region>NY</region>
<code>10598</code>
<country>US</country></postal>
<email>canetti@watson.ibm.com</email></address></author>
<date month='February' year='1997' />
<abstract>
<t>This document describes HMAC, a mechanism for message authentication using cryptographic hash functions. HMAC can be used with any iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a secret shared key.  The cryptographic strength of HMAC depends on the properties of the underlying hash function.</t></abstract></front>

<seriesInfo name='RFC' value='2104' />
<format type='TXT' octets='22297' target='ftp://ftp.isi.edu/in-notes/rfc2104.txt' />
</reference>
 	<!-- 		 _XREF_HMAC 			 -->
                     

<reference anchor='RFC2403'>

<front>
<title>The Use of HMAC-MD5-96 within ESP and AH</title>
<author initials='C.' surname='Madson' fullname='Cheryl Madson'>
<organization>Cisco Systems, Inc.</organization>
<address>
<email>cmadson@cisco.com</email></address></author>
<author initials='R.' surname='Glenn' fullname='Rob Glenn'>
<organization>NIST</organization>
<address>
<email>rob.glenn@nist.gov</email></address></author>
<date month='November' year='1998' />
<area>Security</area>
<area>Internet</area>
<keyword>IP security protocol</keyword>
<keyword>authentication</keyword>
<keyword>cryptographic hash message authentication codes</keyword>
<keyword>encapsulate</keyword>
<keyword>encapsulating security payload</keyword>
<keyword>message digest</keyword>
<keyword>security</keyword>
<abstract>
<t>
   This memo describes the use of the HMAC algorithm  in
   conjunction with the MD5 algorithm  as an authentication
   mechanism within the revised IPSEC Encapsulating Security Payload
    and the revised IPSEC Authentication Header . HMAC with MD5
   provides data origin authentication and integrity protection.
</t>
<t>
   Further information on the other components necessary for ESP and AH
   implementations is provided by .
</t></abstract></front>

<seriesInfo name='RFC' value='2403' />
<format type='TXT' octets='13578' target='ftp://ftp.isi.edu/in-notes/rfc2403.txt' />
<format type='HTML' octets='29345' target='http://xml.resource.org/public/rfc/html/rfc2403.html' />
<format type='XML' octets='16007' target='http://xml.resource.org/public/rfc/xml/rfc2403.xml' />
</reference>
 	<!-- 	 	_XREF_HMAC.MD5 	 -->
                     

<reference anchor='RFC2404'>

<front>
<title>The Use of HMAC-SHA-1-96 within ESP and AH</title>
<author initials='C.' surname='Madson' fullname='Cheryl Madson'>
<organization>Cisco Systems, Inc.</organization>
<address>
<email>cmadson@cisco.com</email></address></author>
<author initials='R.' surname='Glenn' fullname='Rob Glenn'>
<organization>NIST</organization>
<address>
<email>rob.glenn@nist.gov</email></address></author>
<date month='November' year='1998' />
<area>Security</area>
<area>Internet</area>
<keyword>IP security protocol</keyword>
<keyword>authentication</keyword>
<keyword>cryptographic hash message authentication codes</keyword>
<keyword>encapsulate</keyword>
<keyword>encapsulating security payload</keyword>
<keyword>secure hash algorithm</keyword>
<keyword>security</keyword>
<abstract>
<t>
   This memo describes the use of the HMAC algorithm  in
   conjunction with the SHA-1 algorithm  as an
   authentication mechanism within the revised IPSEC Encapsulating
   Security Payload  and the revised IPSEC Authentication Header
   . HMAC with SHA-1 provides data origin authentication and
   integrity protection.
</t>
<t>
   Further information on the other components necessary for ESP and AH
   implementations is provided by .
</t></abstract></front>

<seriesInfo name='RFC' value='2404' />
<format type='TXT' octets='13089' target='ftp://ftp.isi.edu/in-notes/rfc2404.txt' />
<format type='HTML' octets='28906' target='http://xml.resource.org/public/rfc/html/rfc2404.html' />
<format type='XML' octets='15262' target='http://xml.resource.org/public/rfc/xml/rfc2404.xml' />
</reference>
 	<!-- 	 	_XREF_HMAC.SHA.1 	 -->
                     

<reference anchor='RFC1750'>

<front>
<title>Randomness Recommendations for Security</title>
<author initials='D.E.' surname='Eastlake' fullname='Donald E. Eastlake 3rd'>
<organization>Digital Equipment Corporation</organization>
<address>
<postal>
<street>550 King Street</street>
<street>LKG2-1/BB3</street>
<city>Littleton</city>
<region>MA</region>
<code>01460</code>
<country>US</country></postal>
<phone>+1 508 486 6577</phone>
<email>dee@lkg.dec.com</email></address></author>
<author initials='S.' surname='Crocker' fullname='Stephen D. Crocker'>
<organization>CyberCash Inc.</organization>
<address>
<postal>
<street>2086 Hunters Crest Way</street>
<city>Vienna</city>
<region>VA</region>
<code>22181</code>
<country>US</country></postal>
<phone>+1 703 620 1222</phone>
<facsimile>+1 703 391 2651</facsimile>
<email>crocker@cybercash.com</email></address></author>
<author initials='J.I.' surname='Schiller' fullname='Jeffrey I. Schiller'>
<organization>Massachusetts Institute of Technology</organization>
<address>
<postal>
<street>77 Massachusetts Avenue</street>
<city>Cambridge</city>
<region>MA</region>
<code>02139</code>
<country>US</country></postal>
<phone>+1 617 253 0161</phone>
<email>jis@mit.edu</email></address></author>
<date month='December' year='1994' />
<abstract>
<t>Security systems today are built on increasingly strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities.  The use of pseudo-random processes to generate secret quantities can result in pseudo-security.  The sophisticated attacker of these security systems may find it easier to reproduce the environment that produced the secret quantities, searching the resulting small set of possibilities, than to locate the quantities in the whole of the number space.</t>
<t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult.  This paper points out many pitfalls in using traditional pseudo-random number generation techniques for choosing such quantities.  It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose.  It provides suggestions to ameliorate the problem when a hardware solution is not available.  And it gives examples of how large such quantities need to be for some particular applications.</t></abstract></front>

<seriesInfo name='RFC' value='1750' />
<format type='TXT' octets='73842' target='ftp://ftp.isi.edu/in-notes/rfc1750.txt' />
</reference>
 	<!-- 	 	_XREF_RANDOM 		 -->
                     

<reference anchor='RFC2202'>

<front>
<title>Test Cases for HMAC-MD5 and HMAC-SHA-1</title>
<author fullname='Pau-Chen Cheng' initials='P.' surname='Cheng'>
<organization>IBM T.J. Watson Research Center</organization>
<address>
<postal>
<street>P.O.Box 704</street>
<street>Yorktown Heights</street>
<street>NY 10598</street></postal>
<email>pau@watson.ibm.com</email></address></author>
<author initials='R.' surname='Glenn' fullname='Robert Glenn'>
<organization>NIST</organization>
<address>
<postal>
<street>Building 820</street>
<street>Room 455</street>
<street>Gaithersburg</street>
<street>MD 20899</street></postal>
<email>rob.glenn@nist.gov</email></address></author>
<date month='September' year='1997' />
<area>Security</area>
<keyword>MD5</keyword>
<keyword>IP security protocol</keyword>
<keyword>authentication</keyword>
<keyword>cryptographic hash message authentication codes</keyword>
<keyword>message digest</keyword>
<keyword>secure hash algorithm</keyword>
<abstract>
<t>
   This document provides two sets of test cases for HMAC-MD5 and HMAC-
   SHA-1, respectively. HMAC-MD5 and HMAC-SHA-1 are two constructs of
   the HMAC  message authentication function using the MD5 
   hash function and the SHA-1  hash function. Both constructs are
   used by IPSEC [OG,CG] and other protocols to authenticate messages.
   The test cases and results provided in this document are meant to be
   used as a conformance test for HMAC-MD5 and HMAC-SHA-1
   implementations.
</t></abstract></front>

<seriesInfo name='RFC' value='2202' />
<format type='TXT' octets='11945' target='ftp://ftp.isi.edu/in-notes/rfc2202.txt' />
<format type='HTML' octets='22696' target='http://xml.resource.org/public/rfc/html/rfc2202.html' />
<format type='XML' octets='13057' target='http://xml.resource.org/public/rfc/xml/rfc2202.xml' />
</reference>
 	<!-- 	 	_XREF_RFC.2202 		 -->

</references>
<!-- END INCLUDE REFERENCES ** DO NOT REMOVE -->
</back>
</rfc>

