home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_i / draft-ietf-ipsec-esp-cast-128-cbc-00.txt < prev    next >
Text File  |  1997-05-01  |  9KB  |  279 lines

  1.  
  2. Internet Engineering Task Force                            Roy Pereira
  3. IP Security Working Group                         TimeStep Corporation
  4. Internet Draft                                               G. Carter
  5. Expires in six months                             Entrust Technologies
  6.                                                            May 1, 1997
  7.  
  8.  
  9.  
  10.                     The ESP CAST-128-CBC Algorithm
  11.               <draft-ietf-ipsec-esp-cast-128-cbc-00.txt>
  12.  
  13.  
  14.  
  15. Status of this Memo
  16.  
  17.    This document is a submission to the IETF Internet Protocol
  18.    Security (IPSEC) Working Group. Comments are solicited and should
  19.    be addressed to the working group mailing list (ipsec@tis.com) or
  20.    to the editor.
  21.  
  22.    This document is an Internet-Draft.  Internet Drafts are working
  23.    documents of the Internet Engineering Task Force (IETF), its areas,
  24.    and its working Groups. Note that other groups may also distribute
  25.    working documents as Internet Drafts.
  26.  
  27.    Internet-Drafts draft documents are valid for a maximum of six
  28.    months and may be updated, replaced, or obsolete by other documents
  29.    at any time. It is inappropriate to use Internet-Drafts as
  30.    reference material or to cite them other than as "work in
  31.    progress."
  32.  
  33.    To learn the current status of any Internet-Draft, please check the
  34.    "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
  35.    Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  36.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  37.    ftp.isi.edu (US West Coast).
  38.  
  39.    Distribution of this memo is unlimited.
  40.  
  41. Abstract
  42.  
  43.    This draft describes the CAST-128 block cipher algorithm as to be
  44.    used with the IPSec Encapsulating Security Payload (ESP).
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56. R. Pereira, G. Carter                                         [Page 1]
  57.  
  58. Internet Draft      The ESP CAST-128-CBC Algorithm         May 1, 1997
  59.  
  60.  
  61. Table of Contents
  62.  
  63.    1. Introduction...................................................2
  64.    2. Cipher Algorithm...............................................2
  65.      2.1 Key Size....................................................2
  66.      2.2 Block Size and Padding......................................3
  67.      2.3 Payload.....................................................3
  68.      2.4 Weak Keys...................................................3
  69.      2.5 Rounds......................................................3
  70.      2.6 Background on CAST-128......................................3
  71.      2.7 Performance.................................................3
  72.    3. Key Exchange Protocol Identifiers..............................4
  73.    4. Keying Material................................................4
  74.    5. Security Considerations........................................4
  75.    6. References.....................................................4
  76.    7. Acknowledgments................................................5
  77.    8. Editors' Address...............................................5
  78.  
  79. 1. Introduction
  80.  
  81.    This draft describes how the CAST5-128 cipher algorithm may be used
  82.    with the IPSec ESP protocol.  CAST5-128 and  CAST-128 are used
  83.    synonymously to refer to an implementation of CAST5 which supports
  84.    key sizes to 128 bits.
  85.  
  86.    It is assumed that the reader is familiar with the terms and
  87.    concepts described in the document "Security Architecture for the
  88.    Internet Protocol" [Atkinson95] and "IP Encapsulating Security
  89.    Payload (ESP)" [Kent97].
  90.  
  91.    Furthermore, this document is a companion to [Kent97] and MUST be
  92.    read in its context.
  93.  
  94. 2. Cipher Algorithm
  95.  
  96.    The symmetric block cipher algorithm used to secure ESP is CAST-128
  97.    in CBC mode with a block size of 64 bits as described in [Adams97].
  98.  
  99. 2.1 Key Size
  100.  
  101.    The CAST-128 encryption algorithm [Adams97] has been designed to
  102.    allow a key size which can vary from 40 bits to 128 bits, in 8-bit
  103.    increments (that is, the allowable key sizes are 40, 48, 56, 64,
  104.    ..., 112, 120, and 128 bits. To facilitate interoperability, it is
  105.    recommended that key sizes SHOULD be chosen from the set of 40, 64,
  106.    80 and 128.
  107.  
  108.  
  109.  
  110.  
  111. R. Pereira, G. Carter                                         [Page 2]
  112.  
  113. Internet Draft      The ESP CAST-128-CBC Algorithm         May 1, 1997
  114.  
  115.  
  116.    For key sizes less than 128 bits, the key is padded with zero (in
  117.    the rightmost, or least significant, positions) out to 128 bits
  118.    (since the CAST-128 key schedule assumes an input key of 128 bits).
  119.  
  120. 2.2 Block Size and Padding
  121.  
  122.    The ESP CAST-128 algorithm described in this document MUST use a
  123.    block size of 8 octets (64 bits).
  124.  
  125.    When padding is required, it MUST be done according to the
  126.    conventions specified in [Kent97].
  127.  
  128. 2.3 Payload
  129.  
  130.    CAST-128-CBC requires an explicit Initialization Vector (IV) of 8
  131.    octets (64 bits).  Thus the payload is made up of the 8 octet IV
  132.    followed by the cipher-text.  A new IV MUST be pseudo-randomly
  133.    generated for each packet and then used to encrypt that plain-text.
  134.    When decrypting, the first 8 octets of the payload are used as an
  135.    IV to decrypt the remaining payload octets.
  136.  
  137. 2.4 Weak Keys
  138.  
  139.    CAST-128 no known weak keys.
  140.  
  141. 2.5 Rounds
  142.  
  143.    For key sizes up to and including 80 bits (i.e., 40, 48, 56, 64,
  144.    72, and 80 bits), the algorithm is exactly as specified but MUST
  145.    use 12 rounds instead of 16.
  146.  
  147.    For key sizes greater than 80 bits, the algorithm MUST use the full
  148.    16 rounds.
  149.  
  150. 2.6 Background on CAST-128
  151.  
  152.    The CAST design was developed by Carlisle Adams with input from
  153.    Serge Mister and Michael Wiener of Entrust Technologies
  154.    Incorporated.  CAST-128 is the result of applying the CAST Design
  155.    Procedure as outlined in [Adams97].
  156.  
  157. 2.7 Performance
  158.  
  159.    CAST-128 runs approximately 3 times faster than a highly optimized
  160.    DES implementation and runs 5-6 times faster than the DES
  161.    implementations found in typical applications.  This is based on a
  162.    non optimized C++ implementation of CAST-128.  It can therefore be
  163.    tuned to give even higher performance, if this is required.
  164.  
  165.  
  166. R. Pereira, G. Carter                                         [Page 3]
  167.  
  168. Internet Draft      The ESP CAST-128-CBC Algorithm         May 1, 1997
  169.  
  170.  
  171.  
  172.    The following performance tests were run on a Pentium 90 MHz
  173.    running the Windows NT operating system using 20 Kbyte buffers and
  174.    do not include file I/O.  The DES-CBC implementation was not
  175.    optimized for a 32 bit environment.
  176.  
  177.    CAST-128 64 bit key CBC encryption ........... 2,640,000 bytes/sec
  178.    DES CBC encryption ............................. 504,000 bytes/sec
  179.  
  180. 3. Key Exchange Protocol Identifiers
  181.  
  182.    For Oakley/ISAKMP [Harkins97] to negotiate ESP CAST-128 as
  183.    described in this draft, the transform id MUST be 5, which is
  184.    stated in [Piper97].
  185.  
  186. 4. Keying Material
  187.  
  188.    The minimum number of bits sent from the Key Exchange Protocol to
  189.    this ESP algorithm must be greater or equal to the key size plus
  190.    the key size of the negotiated authentication algorithm.
  191.  
  192.    For example, if we are using a CAST-128 key size of 80 bits and we
  193.    are using HMAC-MD5 [Oehler97] as the authentication algorithm, then
  194.    the required number of bits of keying material would be:
  195.  
  196.      Bits Required = Encryption Key Size + Authentication Key Size
  197.      Bits Required = 80 + 128
  198.      Bits Required = 208
  199.  
  200.    The CAST-128 key is taken from the first <x> bits of the keying
  201.    material.  Where <x> represents the required key size.  The
  202.    remaining bits are truncated to equate the key size of the
  203.    authentication algorithm and used as its key.
  204.  
  205. 5. Security Considerations
  206.  
  207.    The ESP CAST-128 algorithm described in this draft has the same
  208.    security considerations as in [Adams97].
  209.  
  210. 6. References
  211.  
  212.    [Adams97] Adams, C., "Constructing Symmetric Ciphers using the CAST
  213.    Design Procedure", draft-adams-cast-128-00.tx
  214.  
  215.    [CMA97] Adams, C., "CAST Design Procedure Addendum",
  216.    http://www.entrust.com/library.htm
  217.  
  218.  
  219.  
  220.  
  221. R. Pereira, G. Carter                                         [Page 4]
  222.  
  223. Internet Draft      The ESP CAST-128-CBC Algorithm         May 1, 1997
  224.  
  225.  
  226.    [Atkinson95] Atkinson, R., "Security Architecture for the Internet
  227.    Protocol", rfc1825.txt, August 1995
  228.  
  229.    [Kent97] Kent, S., Atkinson, R., "IP Encapsulating Security Payload
  230.    (ESP)", draft-ietf-ipsec-new-esp-01.txt
  231.  
  232.    [Piper97] Derrel, P., "The Internet IP Domain of Interpretation for
  233.    ISAKMP", draft-ietf-ipsec-ipsec-doi-03.txt
  234.  
  235.    [Harkins97] Harkins, D. , Carrel, D., "The resolution of ISAKMP
  236.    with Oakley", draft-ietf-ipsec-isakmp-oakley-03.txt, February 1997
  237.  
  238.    [Oehler97] Oehler, M., Glenn, R., "HMAC-MD5 IP Authentication with
  239.    Replay Prevention", rfc2085.txt, February 1997
  240.  
  241. 7. Acknowledgments
  242.  
  243.    This document is based on suggestions from Stephen Kent and
  244.    discussions from the IPSec mailing list as well as other IPSec
  245.    drafts.
  246.  
  247.    Special thanks for Carlisle Adams and Paul Van Oorschot both of
  248.    Entrust Technologies who provided additional input and review with
  249.    respect to CAST-128.
  250.  
  251. 8. Editors' Address
  252.  
  253.      Roy Pereira
  254.      <rpereira@timestep.com>
  255.      TimeStep Corporation
  256.      (613) 599-3610 x 4808
  257.  
  258.      Greg Carter
  259.      <carterg@entrust.com>
  260.      Entrust Technologies
  261.      (613) 763-1358
  262.  
  263.    The IPSec working group can be contacted through its chairs:
  264.  
  265.      Paul Lambert
  266.      <PALAMBER@us.oracle.com>
  267.      Oracle Corporation
  268.  
  269.    or via the IPSec working group's mailing list (ipsec@tis.com)
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276. R. Pereira, G. Carter                                         [Page 5]
  277.  
  278.  
  279.