Re: [TLS] EDDSA/Curve25519 identifiers: Was Re: AES-OCB in TLS

Nico Williams <> Thu, 11 June 2015 03:20 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id B9C761A8AC7 for <>; Wed, 10 Jun 2015 20:20:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 0.233
X-Spam-Status: No, score=0.233 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id zeAT5EwtsBMf for <>; Wed, 10 Jun 2015 20:20:22 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id CC71C1A8ACC for <>; Wed, 10 Jun 2015 20:20:22 -0700 (PDT)
Received: from (localhost []) by (Postfix) with ESMTP id AB13C31809F; Wed, 10 Jun 2015 20:20:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed;; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to;; bh=KJRasAXopaZVw5 QFF+SgXn+NSfg=; b=o+ou9kAdpW7a9v3zIB9gT/aBQ0l4GJEeMUTevIKOVVExYI z/XiVbm5x2lx14Z3bEitzEm47dT3TxRy2HQEpyZddgOF156AMc3y3tXEg937T1kg k1VpHbHQ3cv5Wx3z1CccR5PiLcFxI7YhuPpiC9M7U/z7Ski01wrmejVmjah/M=
Received: from localhost (unknown []) (Authenticated sender: by (Postfix) with ESMTPA id 25194318095; Wed, 10 Jun 2015 20:20:22 -0700 (PDT)
Date: Wed, 10 Jun 2015 22:20:21 -0500
From: Nico Williams <>
To: Michael StJohns <>
Message-ID: <20150611032020.GB4007@localhost>
References: <> <> <> <20150601125302.GA19269@LK-Perkele-VII> <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <>
Cc: Simon Josefsson <>,
Subject: Re: [TLS] EDDSA/Curve25519 identifiers: Was Re: AES-OCB in TLS
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 11 Jun 2015 03:20:23 -0000

On Wed, Jun 10, 2015 at 01:27:17PM -0400, Michael StJohns wrote:
> On 6/5/2015 10:06 PM, Simon Josefsson wrote:
> >Are you saying it would be useful to also specify certificate formats
> >for Curve25519 ECDH keys?
> Sorry - I missed this in the pile.
> And yes for Curve25519.
> Here's my thoughts:
> [...]
> The nice thing about this scheme (It's called a C(2,2) scheme in
> NISP SP800-56A parlance), is that you don't need to sign anything
> during a key agreement handshake.  You still need traditional
> signature schemes over the certificates, but you don't actually need
> them in the handshake.

RSA key transport was nice because it was faster than DH + signatures.

Now that PFS matters that consideration goes the way of the dodo.  It's
got to be key agreement + authentication, which means either key
agreement with signatures, or two key agreements.

(Using DH with fixed public keys goes back to the invention of DH
itself, and this was deployed way back when.  E.g., AUTH_DH.  This is
why PKIX supports key agreement certificates.  Combining DH for
authentication with DH for PFS is an obvious idea.)

And besides, with ECC and curves like Curve25519, *two* ECDH exchanges,
one of which has a certified public key on the server side (the other
being ephemeral, for some value of "ephemeral"), can go faster than one
signed ECDH exchange.  How much, if at all, may depend on what curves
and implementations.

> There are other schemes where one side only has ephemeral keys (e.g.
> client without cert) where this still works - you end up with:

Right, and which would be the common case on the Internet.

> This just works with the existing EC Prime and F2M curves as the key
> pairs can be used with both ECDSA and ECDH.

Is that safe?

> In any event, going ahead and creating a certificate format for
> Curve25519 at the same time you do ED25519 probably makes sense
> given the two algorithms are family members and appear to share a
> representation.

Sure, but doing it separately works too.  Whatever makes the spec go