Network Working Group                                       S. Josefsson
Internet-Draft                                                    SJD AB
Updates: 4492 (if approved)                           September 24, 2013
Intended status: Informational
Expires: March 28, 2014

    Elliptic Curve Diffie-Hellman Key Agreement using Curve25519 for
                     Transport Layer Security (TLS)


   This document specifies the use of Curve25519 for key exchange in the
   Transport Layer Security (TLS) protocol.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on March 28, 2014.

Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   ( in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Josefsson                Expires March 28, 2014                 [Page 1]

Internet-Draft             Curve25519 for TLS             September 2013

1.  Introduction

   In [Curve25519], a new elliptic curve function for use in
   cryptographic applications was specified.  Curve25519 is a Diffie-
   Hellman function.  Curve25519 was designed with performance and
   security in mind.

   [RFC4492] defines the usage of elliptic curves for authentication and
   key agreement in TLS 1.0 and TLS 1.1, and these mechanisms are also
   applicable to TLS 1.2 [RFC5246].  The use of ECC curves for key
   exchange requires the definition and assignment of additional
   NamedCurve IDs.  This document specify that value for Curve25519.

   Curve25519 is not directly suitable for authentication, and thus not
   applicable for signing of e.g.  PKIX certificates.  See
   draft-josefsson-eddsa-ed25519 for a parallel effort.

   Acknowledgement: This document was inspired by the content and
   structure of draft-merkle-tls-brainpool-04.

Josefsson                Expires March 28, 2014                 [Page 2]

Internet-Draft             Curve25519 for TLS             September 2013

2.  Curve25519 NamedCurve Type

   According to [RFC4492], the name space NamedCurve is used for the
   negotiation of elliptic curve groups for key exchange during a
   handshake starting a new TLS session.  This document add a new
   NamedCurve type for Curve25519 as follows.

           enum {
           } NamedCurve;

   The curve is suitable for use with DTLS [RFC6347].

Josefsson                Expires March 28, 2014                 [Page 3]

Internet-Draft             Curve25519 for TLS             September 2013

3.  IANA Considerations

   IANA is requested to assign numbers for Curve25519 listed in
   Section 2 to the Transport Layer Security (TLS) Parameters registry
   EC Named Curve [IANA-TLS] as follows.

               | Value | Description | DTLS-OK | Reference |
               |  TBD1 |  curve25519 |    Y    |  This doc |

                                  Table 1

Josefsson                Expires March 28, 2014                 [Page 4]

Internet-Draft             Curve25519 for TLS             September 2013

4.  Security Considerations

   The security considerations of [RFC5246] apply accordingly.

Josefsson                Expires March 28, 2014                 [Page 5]

Internet-Draft             Curve25519 for TLS             September 2013

5.  References

5.1.  Normative References

              Bernstein, J., "Curve25519: new Diffie-Hellman speed
              February 2006.

   [RFC4492]  Blake-Wilson, S., Bolyard, N., Gupta, V., Hawk, C., and B.
              Moeller, "Elliptic Curve Cryptography (ECC) Cipher Suites
              for Transport Layer Security (TLS)", RFC 4492, May 2006.

   [RFC5246]  Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol Version 1.2", RFC 5246, August 2008.

   [RFC6347]  Rescorla, E. and N. Modadugu, "Datagram Transport Layer
              Security Version 1.2", RFC 6347, January 2012.

5.2.  Informative References

              Internet Assigned Numbers Authority, "Transport Layer
              Security (TLS) Parameters", <

Josefsson                Expires March 28, 2014                 [Page 6]

Internet-Draft             Curve25519 for TLS             September 2013

Author's Address

   Simon Josefsson


Josefsson                Expires March 28, 2014                 [Page 7]