Internet DRAFT - draft-kiefer-tls-ecdhe-sidh

draft-kiefer-tls-ecdhe-sidh







Network Working Group                                          F. Kiefer
Internet-Draft                                                   Mozilla
Intended status: Experimental                             K. Kwiatkowski
Expires: May 10, 2019                                         Cloudflare
                                                       November 06, 2018


                 Hybrid ECDHE-SIDH Key Exchange for TLS
                     draft-kiefer-tls-ecdhe-sidh-00

Abstract

   This draft specifies a TLS key exchange that combines the post-
   quantum key exchange, Supersingular elliptic curve isogenie diffie-
   hellman (SIDH), with elliptic curve Diffie-Hellman (ECDHE) key
   exchange.

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 https://datatracker.ietf.org/drafts/current/.

   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 May 10, 2019.

Copyright Notice

   Copyright (c) 2018 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
   (https://trustee.ietf.org/license-info) 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.



Kiefer & Kwiatkowski      Expires May 10, 2019                  [Page 1]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


1.  Introduction

   Supersingular elliptic curve isogenie diffie-hellman (SIDH) has been
   proposed [SIDH] as a diffie-hellman like key-exchange protocol secure
   against quantum computers.  Because there's not enough confidence in
   the security of SIDH yet it should only be used in combination with a
   classical key-exchange scheme.

   This document defines a way to combine [eSIDH] with the ECDHE key
   exchanges defined in [RFC7748] for the TLS 1.3 [RFC8446] key-
   exchange.

   "x25519" is combined with "sidh503" and "x448" is combined with
   "sidh751".

1.1.  Performance Considerations

   Both handshake partners have to compute the SIDH values in addition
   to the ECDHE values, which requires additional time for computation.
   The handshake messages also get larger because the SIDH values are
   added (see Section 4 for details).

1.2.  Notation

   x25519 and x448 denote the ECDHE algorithms defined over the
   respective curve from [RFC7748].  sidh503 and sidh751 denote the SIDH
   algorithms defined using a prime of bit-length "503" and "751"
   respectively.

1.3.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.  Hybrid SIDH-ECDHE Key Exchange

   A hybrid key exchange takes the output of two separate key exchanges
   and mixes the results in a secure way.

   The ECDHE and SIDH shared secrets are calculated independently.  The
   shared secret for ECDHE-SIDH is then the concatenation of the ECDHE
   and the SIDH shared secrets.  For x25519sidh503 for example this is

   secret = x25519_secret || sidh_secret




Kiefer & Kwiatkowski      Expires May 10, 2019                  [Page 2]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


   The HKDF-Extract step used by TLS is relied on to combine entropy
   from both secrets.

2.1.  ECDHE shared secret calculation

   The ECDHE shared secret calculation is performed as described in
   Section 7.4.2 of [RFC8446].

2.2.  SIDH Key Exchange

   This document uses primes p503 and p751 defined in [eSIDH] and [SIKE]
   for sidh503 and sidh751.  See [SIKE] for details on how to compute
   key-exchange messages and the shared secret.  Optimised versions of
   the algorithms mentioned here might be used.

2.2.1.  Field Element Representation

   Each element ("c=a+b*i") of the underlying quadratic field GF(p^2) is
   encoded as an array of bytes in little-endian order, i.e., the least
   significant octet appears first, where each element "a,b" from GF(p)
   is encoded using "itoos" from [SIKE] Section 1.2.6.  In particular,
   an element of GF(p) is converted to

   e_(n-1) * 256^(n-1) + ... + e_1 * 256 + e_0

   with "n" 63 for p503 and 94 for p751.  The octet representation of
   each element is then the concatenation of "e_i" in little endian,
   i.e. "e_0||...||e_(n-1)", and the octet representation of element "c"
   is the concatenation of "a" and "b", "a||b".

   See "fp2toos" [SIKE] Section 1.2.6 to 1.2.8 for details.

2.2.2.  Key-exchange message generation

   After choosing a private key each party computes its public key (P,
   Q, R) using "isogen_l" from [SIKE] Section 1.3.5 and converts each
   element into octets (cf.  Section 2.2.1).

   See "pktoos" from [SIKE] Section 1.2.9 for details on converting the
   public key to octets.

2.2.3.  Shared secret calculation

   The SIDH shared secret is calculated as described in Section 1.3.6 of
   [SIKE] using "isoex_l".

   Calculating SIDH shared secret requires each side to use isogenies of
   different degree.  This document assumes parameterizations as



Kiefer & Kwiatkowski      Expires May 10, 2019                  [Page 3]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


   described in [SIKE], which is based on 4- and 3-power degree
   isogenies.  In order to calculate the shared secret, the client
   always generates an ephemeral key pair based on 4-power degree
   isogenies.  Accordingly, the server always generates an ephemeral key
   pair based on 3-power degree isogenies.

   The shared secret is a j-invariant and therefore an element of
   GF(p^2).  It is converted to octets as described in Section 2.2.1.

   See "fp2toos" [SIKE] Section 1.2.6 to 1.2.8 for details.  All values
   are encoded without length prefixes or separators.

3.  Negotiated Groups

   This document extends the enum of NamedGroups to use in the
   "supported_groups" extension from TLS 1.3 [RFC8446] Section 4.2.7.
   The new codepoint for the "Supported Groups Registry" is:

   enum {
       ...,
       x25519sidh503(0x0105), x448sidh751(0x0106),
   } NamedGroup;

4.  ECDHE-SIDH key exchange parameters

   This document defines ECDHE-SIDH parameters to use in the "key_share"
   extension from TLS 1.3 (see Section 4.2.8 of [RFC8446]).

   ECDHE parameters for both clients and servers are encoded in the
   "key_exchange" field of a KeyShareEntry as described in Section 4.2.8
   of [RFC8446] and [RFC7748].  SIDH parameters are appended to this
   value.

   In particular, the contents are the serialised value of the following
   struct:

      struct {
          opaque X[coordinate_length];
          opaque P[sidh_coordinate_length];
          opaque Q[sidh_coordinate_length];
          opaque R[sidh_coordinate_length];
      } UncompressedPointRepresentation;

   X is the public point from x25519 or x448 as described in [RFC7748].

   P, Q, and R are the binary representations of three field elements
   over GF(p503^2) and GF(p751^2) respectively from the public SIDH key




Kiefer & Kwiatkowski      Expires May 10, 2019                  [Page 4]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


   values as described in Section 2.2.2.  All values in the struct are
   encoded without length prefixes or separators.

   Implementers MUST perform the checks to verify the SIDH public key as
   specified in Section 9 of [eSIDH].

5.  Security Considerations

   Security of SIDH is based on the isogeny walk problem, assuming
   elliptic curves between isogenies are supersingular (see [SIKE]
   chapter 4.1).  Algorithms solving this problem as well as usage of
   isogenies as drop-in replacement for Diffie-Hellman are relatively
   young area of research.  Therefore the security behind the ECDHE-SIDH
   handshake does not rely on the security of SIDH exclusively.

   Idea behind ECDHE-SIDH hybrid scheme is to combine an existing key-
   agreement algorithm with what's believed to be a quantum-resistant
   one.  When large quantum computers are available they will be able to
   break both x25519 and x448.  In this case the ECDHE-SIDH scheme is
   still safe assuming SIDH is secure.  On the other hand, if SIDH is
   found to be flawed, the hybrid scheme is still secure against
   classical attacks assuming security of x25519/x448.  Security
   estimates for classical and quantum computers are provided in table
   below based on [SIKE] and [RFC7748].  [RNSL] Chapter 1 provides
   introduction to quantum resource estimates.

        +---------------+-----------+----------+------------------+
        | Scheme        | Classical | Quantum  | NIST PQ category |
        +---------------+-----------+----------+------------------+
        | x25519sidh503 | 128-bit   | 64-qubit | 1                |
        |               |           |          |                  |
        | x448sidh751   | 224-bit   | 96-qubit | 3                |
        +---------------+-----------+----------+------------------+

   As described in [ISOSEC] it is possible to perform active attacks on
   static-static or non-interactive variants of the SIDH scheme.  The
   countermeasure for this attack was described in [KLM15].  Research
   proposes so-called "indirect key validation", using Fujisaki-Okamoto
   type transform.  However, using this transform is impractical and
   thus SIDH can be considered secure only if used for ephemeral keys.
   A more detailed discussion can be found in [URBJAO].

   Security against side-channel attacks is described in [SIKE].
   Implementers are encouraged to use a constant-time implementation.

   The security of the described key exchange relies on the security, in
   particular the collision resistance, of the used key-derivation
   function.  TLS 1.3 uses HKDF [RFC5869] as its key-derivation



Kiefer & Kwiatkowski      Expires May 10, 2019                  [Page 5]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


   function.  It is therefore important that the hash function used in
   HKDF is collision-resistant.

6.  Test vectors

   This section gives a test vectors for "x25519sidh503".

6.1.  1-RTT Handshake

   Client SIDH-ECDHE public key:

   Public Key (X25519||SIDH) [Len: 410 (32+378)]
       2b 5b 10 41 56 2f c7 04 d8 56 ce 41 9c e3 7d e6
       ae 0e 32 a9 98 5e a5 95 47 5a 9d a2 98 59 67 16
       6f ed 78 ba b1 01 e7 f4 c4 f4 9a d6 4f ac 8d ee
       ee 46 57 10 f7 12 40 41 7a 45 53 c2 35 b5 f7 a0
       42 9e c3 38 d3 7c 47 11 78 f7 8d d3 c9 18 9c 79
       7c dc d3 7f e4 93 ac 63 c4 77 5e 36 43 d5 2a 43
       ee a9 37 b6 88 41 86 98 c9 dc d6 b7 20 66 ab 3d
       d1 e4 f7 90 80 8d 8e fb 0b bf 79 bb b6 e2 13 c0
       38 4e 86 20 13 49 81 be 31 f9 2c 73 a3 2a e9 3c
       e1 7e b5 1b 75 2d 3f 26 79 7c c2 e5 e5 16 57 1d
       6f b4 06 4b 5d b1 9b bd d2 cf 4b f1 2b cd f9 b2
       5f 2c 9d 1b d1 78 55 4c b7 ec fa 7a 3a 64 dd db
       6b 43 0f 67 e9 61 1d 57 fe 63 c8 d4 b3 0f 7a 2f
       60 1b 0f 6a 3a e6 80 0c 14 b7 05 ae 06 bb 5c 46
       71 1b 0e d7 a0 e7 bb 5d 87 37 c4 56 d8 c4 b2 e1
       01 a6 39 70 14 13 50 22 4f cf d9 20 77 51 f7 c4
       37 27 c0 57 5c f2 be 36 3b f7 38 1f 95 5f 54 fc
       f4 ce 96 24 fa 04 d8 62 03 aa 9b 24 28 56 47 e9
       c3 04 24 5e ee b5 3e 16 25 c9 b3 0d 70 6e e7 a1
       a8 76 bf 8c 53 78 7f d0 a3 13 26 fd 3a b5 f6 11
       05 60 af 4a ad 7e 45 0c 41 de 52 e5 29 4d a1 42
       c3 7b 88 7b 6a ed 66 03 04 25 12 78 31 36 94 58
       86 e6 00 59 13 99 0c c1 5d 1c d0 f7 aa c3 73 a9
       dd 25 ac cd 4d 04 2a dd 77 f0 b0 96 6e 3a 0b 76
       df 59 92 de 38 fe e5 10 5d 8b 6d e5 b9 1e 1e 8c
       8b 9c a5 9c 52 2f 26 d6 73 0d

   Client SIDH-ECDHE private key:

   SIDH Private Key [Len: 32]
       37 83 09 b4 a8 c4 b8 6a 83 84 36 8a 18 55 d8 48
       69 f2 31 60 2e f0 a6 70 d3 24 fe 92 e5 25 82 01

   X25519 Private Key [Len: 32]
       a0 31 67 54 87 02 0f cb ef 07 40 af d3 ec 90 19
       88 02 fa d5 83 46 46 c9 8e 0e 49 c0 e1 3e 86 1a



Kiefer & Kwiatkowski      Expires May 10, 2019                  [Page 6]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


   Client Hello:

   CH [Len: 522]
       01 00 02 06 03 03 bf d0 ca 2e 81 e2 6e c4 d8 01
       6b 2e 86 f3 2e d9 d0 f9 83 93 85 03 50 3f 67 05
       71 cf 82 1d 5c e4 00 00 02 13 01 01 00 01 db 00
       00 00 0b 00 09 00 00 06 73 65 72 76 65 72 ff 01
       00 01 00 00 0a 00 04 00 02 01 05 00 33 01 a0 01
       9e 01 05 01 9a 2b 5b 10 41 56 2f c7 04 d8 56 ce
       41 9c e3 7d e6 ae 0e 32 a9 98 5e a5 95 47 5a 9d
       a2 98 59 67 16 6f ed 78 ba b1 01 e7 f4 c4 f4 9a
       d6 4f ac 8d ee ee 46 57 10 f7 12 40 41 7a 45 53
       c2 35 b5 f7 a0 42 9e c3 38 d3 7c 47 11 78 f7 8d
       d3 c9 18 9c 79 7c dc d3 7f e4 93 ac 63 c4 77 5e
       36 43 d5 2a 43 ee a9 37 b6 88 41 86 98 c9 dc d6
       b7 20 66 ab 3d d1 e4 f7 90 80 8d 8e fb 0b bf 79
       bb b6 e2 13 c0 38 4e 86 20 13 49 81 be 31 f9 2c
       73 a3 2a e9 3c e1 7e b5 1b 75 2d 3f 26 79 7c c2
       e5 e5 16 57 1d 6f b4 06 4b 5d b1 9b bd d2 cf 4b
       f1 2b cd f9 b2 5f 2c 9d 1b d1 78 55 4c b7 ec fa
       7a 3a 64 dd db 6b 43 0f 67 e9 61 1d 57 fe 63 c8
       d4 b3 0f 7a 2f 60 1b 0f 6a 3a e6 80 0c 14 b7 05
       ae 06 bb 5c 46 71 1b 0e d7 a0 e7 bb 5d 87 37 c4
       56 d8 c4 b2 e1 01 a6 39 70 14 13 50 22 4f cf d9
       20 77 51 f7 c4 37 27 c0 57 5c f2 be 36 3b f7 38
       1f 95 5f 54 fc f4 ce 96 24 fa 04 d8 62 03 aa 9b
       24 28 56 47 e9 c3 04 24 5e ee b5 3e 16 25 c9 b3
       0d 70 6e e7 a1 a8 76 bf 8c 53 78 7f d0 a3 13 26
       fd 3a b5 f6 11 05 60 af 4a ad 7e 45 0c 41 de 52
       e5 29 4d a1 42 c3 7b 88 7b 6a ed 66 03 04 25 12
       78 31 36 94 58 86 e6 00 59 13 99 0c c1 5d 1c d0
       f7 aa c3 73 a9 dd 25 ac cd 4d 04 2a dd 77 f0 b0
       96 6e 3a 0b 76 df 59 92 de 38 fe e5 10 5d 8b 6d
       e5 b9 1e 1e 8c 8b 9c a5 9c 52 2f 26 d6 73 0d 00
       2b 00 03 02 7f 1c 00 0d 00 04 00 02 04 01 00 2d
       00 02 01 01 00 1c 00 02 40 01

   Server selected KE = (EC)DHE.  Group = 261.

   Server SIDH-ECDHE public key:











Kiefer & Kwiatkowski      Expires May 10, 2019                  [Page 7]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


   Public Key (X25519||SIDH) [Len: 410 (32+378)]
       f8 c6 8f 4e 57 6b fb ec b3 de 23 d9 db 89 fc 1b
       f4 6f 01 a5 c0 91 61 fd c4 e7 bc 58 b4 eb 5f 76
       44 c4 c7 7b a3 09 1a 60 c7 15 8f 1e d6 83 f2 1c
       f8 36 13 a4 b3 c5 bc 4e 73 41 96 36 34 9a 9e 5a
       bc fc 9d fa 2b c3 2c 85 17 44 9b 21 8f bf ba f7
       7b 6c 19 c3 07 19 45 34 1e 88 cd 86 41 f8 32 38
       41 3d 75 20 e1 c9 4a 94 03 e4 2f 4b 38 2d 93 39
       b7 71 e9 84 80 b9 aa ca 97 39 5a c6 68 a7 b2 6f
       b0 3e 10 f0 02 e3 e3 62 78 23 b4 f7 f1 a8 ce cd
       71 a8 3a 23 81 63 ba 70 92 ea c6 9b 2c 35 93 6d
       b5 58 61 6d 2c 06 a5 4d 0d 27 35 20 0b 77 d0 0d
       65 f0 24 11 71 0b 71 45 2b 73 9c 42 fd d4 09 ba
       8a ed d2 9e 78 9c 2f 43 91 5d e7 3a 19 0b f8 2b
       71 6d 47 ae 86 e4 7a 9e e1 a0 de b5 08 bd a4 30
       bb c1 3e ad db 75 79 36 a0 0a ea 70 a0 9c 64 f7
       ba 92 a4 02 05 4d d4 9b ba a8 b3 9e 92 cd 28 13
       0e 84 81 90 84 cd ae 09 b2 0b 12 23 1c b4 3a 18
       cb 66 a1 8a 81 63 d4 e7 06 1c 16 04 29 20 2b cf
       da a3 90 55 15 4a 15 ab 30 95 f1 20 b0 84 f5 7e
       0f 92 f6 7f 4d 8c 22 2a a8 80 41 7b ee fa 85 f8
       e2 4d 45 38 28 eb e2 fd a5 c6 1e 37 98 9f a2 ed
       13 b9 dd f5 21 bc 78 10 2f 99 21 dc 30 55 57 58
       c6 59 89 13 f9 76 aa e1 ec 0d 82 27 74 a1 86 b5
       d1 74 12 49 5f ac a0 25 d2 91 5a 26 11 5e 0e f8
       d2 7f 00 7f 8e 8b 7d 89 93 ba 69 4c 5f c7 7c df
       d0 45 f4 17 3c 0c 03 df bf 1e

   Server SIDH-ECDHE private key:

   SIDH Private Key [Len: 32]
       ca a5 1b 8d cc 2e df b0 b9 f5 ed 9d b0 1c f4 7c
       b6 61 07 4d 5f e3 9d 6a 24 48 71 48 f3 11 4d 0a

   X25519 Private Key [Len: 32]
       a1 27 74 2c 0e ea 56 25 41 68 f4 7c d0 94 30 03
       5e 7e cb 3d e0 4f 84 36 41 e8 b4 39 1e 45 99 91

   Handshake secrets "tls13 s hs traffic":












Kiefer & Kwiatkowski      Expires May 10, 2019                  [Page 8]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


   PRK [Len: 32]
       35 7b 46 ed 6d f0 40 77 ae 2a a0 f4 47 cc df c1
       78 54 74 48 d4 ff 69 05 f9 d5 2f 9a 00 1c e8 86

   Hash [Len: 32]
       52 a5 04 4f 78 da 41 12 b8 ac 35 f3 37 54 0c 51
       18 ba c9 be c7 de 06 21 b2 f8 22 b6 e1 fa b5 96

   Info [Len: 54]
       00 20 12 74 6c 73 31 33 20 73 20 68 73 20 74 72
       61 66 66 69 63 20 52 a5 04 4f 78 da 41 12 b8 ac
       35 f3 37 54 0c 51 18 ba c9 be c7 de 06 21 b2 f8
       22 b6 e1 fa b5 96

   Derived key [Len: 32]
       e4 31 ba e7 1e 38 f1 d6 81 17 83 56 d3 8d 0e 35
       cf 42 6a 05 a2 2b 03 df d6 bb 4f 72 94 d2 9f c3

   Handshake secrets "tls13 c hs traffic":

   Info [Len: 54]
       00 20 12 74 6c 73 31 33 20 63 20 68 73 20 74 72
       61 66 66 69 63 20 52 a5 04 4f 78 da 41 12 b8 ac
       35 f3 37 54 0c 51 18 ba c9 be c7 de 06 21 b2 f8
       22 b6 e1 fa b5 96

   Derived key [Len: 32]
       d2 99 cb cb 70 91 05 b6 3f 62 a5 e7 a2 5c 9c 07
       2b 98 d9 0c d0 92 1c f2 0f c3 6a fa b3 57 4d 2a

   Server Handshake:

   SH [Len: 468]
       02 00 01 d0 03 03 8b 94 f0 f0 25 bd 87 30 3f 1c
       7c 86 e0 bc 25 e3 7f d7 ca 77 88 c5 a3 3c 69 34
       c8 ec a9 64 15 85 00 13 01 00 01 a8 00 33 01 9e
       01 05 01 9a f8 c6 8f 4e 57 6b fb ec b3 de 23 d9
       db 89 fc 1b f4 6f 01 a5 c0 91 61 fd c4 e7 bc 58
       b4 eb 5f 76 44 c4 c7 7b a3 09 1a 60 c7 15 8f 1e
       d6 83 f2 1c f8 36 13 a4 b3 c5 bc 4e 73 41 96 36
       34 9a 9e 5a bc fc 9d fa 2b c3 2c 85 17 44 9b 21
       8f bf ba f7 7b 6c 19 c3 07 19 45 34 1e 88 cd 86
       41 f8 32 38 41 3d 75 20 e1 c9 4a 94 03 e4 2f 4b
       38 2d 93 39 b7 71 e9 84 80 b9 aa ca 97 39 5a c6
       68 a7 b2 6f b0 3e 10 f0 02 e3 e3 62 78 23 b4 f7
       f1 a8 ce cd 71 a8 3a 23 81 63 ba 70 92 ea c6 9b
       2c 35 93 6d b5 58 61 6d 2c 06 a5 4d 0d 27 35 20
       0b 77 d0 0d 65 f0 24 11 71 0b 71 45 2b 73 9c 42



Kiefer & Kwiatkowski      Expires May 10, 2019                  [Page 9]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


       fd d4 09 ba 8a ed d2 9e 78 9c 2f 43 91 5d e7 3a
       19 0b f8 2b 71 6d 47 ae 86 e4 7a 9e e1 a0 de b5
       08 bd a4 30 bb c1 3e ad db 75 79 36 a0 0a ea 70
       a0 9c 64 f7 ba 92 a4 02 05 4d d4 9b ba a8 b3 9e
       92 cd 28 13 0e 84 81 90 84 cd ae 09 b2 0b 12 23
       1c b4 3a 18 cb 66 a1 8a 81 63 d4 e7 06 1c 16 04
       29 20 2b cf da a3 90 55 15 4a 15 ab 30 95 f1 20
       b0 84 f5 7e 0f 92 f6 7f 4d 8c 22 2a a8 80 41 7b
       ee fa 85 f8 e2 4d 45 38 28 eb e2 fd a5 c6 1e 37
       98 9f a2 ed 13 b9 dd f5 21 bc 78 10 2f 99 21 dc
       30 55 57 58 c6 59 89 13 f9 76 aa e1 ec 0d 82 27
       74 a1 86 b5 d1 74 12 49 5f ac a0 25 d2 91 5a 26
       11 5e 0e f8 d2 7f 00 7f 8e 8b 7d 89 93 ba 69 4c
       5f c7 7c df d0 45 f4 17 3c 0c 03 df bf 1e 00 2b
       00 02 7f 1c

   SH [Len: 651]
       08 00 00 14 00 12 00 0a 00 04 00 02 01 05 00 1c
       00 02 40 01 00 00 00 00 0b 00 01 c3 00 00 01 bf
       00 01 ba 30 82 01 b6 30 82 01 1f a0 03 02 01 02
       02 01 05 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b
       05 00 30 13 31 11 30 0f 06 03 55 04 03 0c 08 72
       73 61 5f 73 69 67 6e 30 1e 17 0d 31 38 30 36 31
       30 31 30 32 34 31 32 5a 17 0d 32 38 30 36 31 30
       31 30 32 34 31 32 5a 30 13 31 11 30 0f 06 03 55
       04 03 0c 08 72 73 61 5f 73 69 67 6e 30 81 9f 30
       0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 81
       8d 00 30 81 89 02 81 81 00 c6 96 5e 96 71 5a ea
       40 c2 c0 60 c7 c7 4e 98 b3 40 0c 02 a3 1c 9c 8e
       e7 c6 57 6b 48 8c 23 04 d4 e8 54 09 37 c2 b8 b1
       ac b4 49 b7 76 ef 59 f8 3f 7c 4e e3 6a fa 32 04
       53 74 85 2d 0d 8e 91 ad 2d 65 52 ec f2 54 1c 82
       f1 b5 46 c8 5e ec e1 4e 6a f1 a1 c8 9f 9c 2b e1
       79 3b 85 58 80 19 d5 f2 87 cb c0 13 5f 56 56 d3
       75 78 bb 71 ef fa df e4 98 76 31 47 72 9b 5d 6a
       fe d7 c9 58 e6 d2 c6 2c 5f 02 03 01 00 01 a3 1a
       30 18 30 09 06 03 55 1d 13 04 02 30 00 30 0b 06
       03 55 1d 0f 04 04 03 02 07 80 30 0d 06 09 2a 86
       48 86 f7 0d 01 01 0b 05 00 03 81 81 00 07 58 be
       81 c3 60 a0 cb 94 bc 79 81 0c b5 c6 ec 84 c6 c0
       f8 d9 63 50 0a 7e b2 9d 80 95 5d b2 ba c9 31 72
       73 d5 78 97 d1 5f e3 d9 f8 54 25 e0 1a 0e 7f 2b
       ec 20 27 b6 ba ff 9c 38 42 23 ed 10 c4 51 54 f2
       a3 45 54 df 59 be 83 d4 b8 00 7f 13 a3 27 40 ca
       af 66 72 f5 f7 cf 1e 4d 6c 94 e4 02 46 cf f7 9d
       13 7e 72 6b 77 20 15 9c c9 f7 c2 f1 5f 00 91 d3
       da c6 2e 71 f0 51 82 db 13 b2 ee c7 0c 00 00 0f
       00 00 84 04 01 00 80 7e c8 cb 1d d8 2e 83 d4 7e



Kiefer & Kwiatkowski      Expires May 10, 2019                 [Page 10]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


       69 8a db 8d 39 79 13 49 9f 03 21 7a 2f 5f ef df
       2e 07 58 a8 0f 4b 61 85 10 25 01 3c cc 14 ef ac
       35 17 c8 ed 27 17 0f 6e e5 78 7e 19 b5 0a 99 2d
       bd 68 f4 47 0e 0a 11 cb 57 12 d5 73 cd 20 05 a4
       b5 04 6c 13 6c 1b 9a f9 15 aa cc ca c2 22 83 fe
       37 5f c3 f2 24 09 e3 d5 df 26 9f ab 84 e9 92 68
       38 73 09 b1 58 55 43 79 02 59 0c 13 cc 68 4f 53
       62 4b 72 d7 3b 17 86 14 00 00 20 d1 6e ba a6 9a
       12 01 ec 46 fb e4 2c 8b 0e dd b5 73 a9 d7 e1 da
       ba c5 c3 0d 53 5d 90 24 fd 53 60

   Client finished handshake:

   Client finished [Len: 36]
       14 00 00 20 8e 34 2d 9d 69 fb 95 76 65 05 03 4d
       cf 27 21 59 7c 45 f7 0e 3f 1e d9 29 18 4b 29 87
       6a a5 c1 4d

   Shared secret (server & client):

   Shared secret (X25519||SIDH) [Len: 158 (32+126)]
       f0 93 ac 03 ca 0b 5c 05 e6 c3 d3 7f ae 71 10 57
       a6 a6 3e c7 7c 12 8d 21 8b 39 fc a5 8a 19 69 02
       31 c8 0b 85 96 07 d4 f2 9b 5d ca a1 2d 69 78 2a
       4f d8 1e c5 ea 87 ff 24 a2 7e b3 96 db 63 d5 66
       cd f8 13 d3 34 70 e8 03 10 34 44 68 2d 6b 11 1a
       a9 a0 58 cd 54 ed ce 8b 27 bc 3d ef 23 4b 2e f7
       0b 28 de 95 d9 de 45 4a 73 48 d1 ad 51 21 f6 fe
       fa ae 22 64 b5 2c db f7 99 7e 5b 3c 09 06 d9 eb
       e1 a3 a7 8f 34 74 a2 77 a0 85 ca 11 d4 1b 44 53
       ed eb 8c 67 b4 f2 62 6e 54 4c 97 a9 1a 27

7.  IANA Considerations

   TODO: register the codepoints

8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.







Kiefer & Kwiatkowski      Expires May 10, 2019                 [Page 11]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


   [RFC5869]  Krawczyk, H. and P. Eronen, "HMAC-based Extract-and-Expand
              Key Derivation Function (HKDF)", RFC 5869,
              DOI 10.17487/RFC5869, May 2010,
              <https://www.rfc-editor.org/info/rfc5869>.

   [RFC7748]  Langley, A., Hamburg, M., and S. Turner, "Elliptic Curves
              for Security", RFC 7748, DOI 10.17487/RFC7748, January
              2016, <https://www.rfc-editor.org/info/rfc7748>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8446]  Rescorla, E., "The Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/info/rfc8446>.

   [SIDH]     Jao, D. and L. De Feo, "Towards quantum-resistant
              cryptosystems from supersingular elliptic curve isogenie",
              PQCrypto-2011 , 2011,
              <https://eprint.iacr.org/2011/506.pdf>.

   [SIKE]     Azarderakhsh, R., Campagna, M., Costello, C., De Feo, L.,
              Hess, B., Jalali, A., Jao, D., Koziel, B., LaMacchia, B.,
              Longa, P., Naehrig, M., Renes, J., Soukharev, V., and D.
              Urbanik, "Supersingular Isogeny Key Encapsulation",
              Submission to the NIST Post-Quantum Standardization
              project , 2017, <http://sike.org/files/SIDH-spec.pdf>.

8.2.  Informative References

   [eSIDH]    Costello, C., Longa, P., and M. Naehrig, "Efficient
              algorithms for supersingular isogeny Diffie-Hellman",
              IACR-CRYPTO-2016 , 2016,
              <https://eprint.iacr.org/2016/413.pdf>.

   [ISOSEC]   Galbraith, S., Petit, C., Shani, B., and Y. Bo Ti, "On the
              security of supersingular isogeny cryptosystems", IACR-
              CRYPTO-2016 , 2016,
              <https://eprint.iacr.org/2016/859.pdf>.

   [KLM15]    Kirkwood, D., Lackey, B., McVey, J., Motley, M., Solinas,
              J., and D. Tuller, "Failure is not an Option:
              Standardization Issues for Post-Quantum Key Agreement",
              Workshop on Cybersecurity in a Post Quantum World, 2015 ,
              2015.





Kiefer & Kwiatkowski      Expires May 10, 2019                 [Page 12]

Internet-Draft           ECDHE-SIDH Key Exchange           November 2018


   [RNSL]     Roetteler, M., Naehrig, M., Svore, K., and K. Lauter,
              "Quantum Resource Estimates for Computing Elliptic Curve
              Discrete Logarithms", arXiv , 2017,
              <https://arxiv.org/pdf/1706.06752.pdf>.

   [URBJAO]   Urbanik, D. and D. Jao, "SoK: The Problem Landscape of
              SIDH", IACR-CRYPTO-2018 , 2018,
              <https://eprint.iacr.org/2018/336.pdf>.

Acknowledgements

   o  Martin Thomson
      Mozilla
      mt@mozilla.com

Authors' Addresses

   Franziskus Kiefer
   Mozilla

   Email: franziskuskiefer@gmail.com


   Krzysztof Kwiatkowski
   Cloudflare

   Email: kris@cloudflare.com
























Kiefer & Kwiatkowski      Expires May 10, 2019                 [Page 13]