Re: [TLS] Additional Elliptic Curves (Curve25519 etc) for TLS ECDH key agreement
Alyssa Rowan <akr@akr.io> Sat, 11 January 2014 17:50 UTC
Return-Path: <akr@akr.io>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D6CEC1AE09E for <tls@ietfa.amsl.com>; Sat, 11 Jan 2014 09:50:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2AQMtabxBHTW for <tls@ietfa.amsl.com>; Sat, 11 Jan 2014 09:50:38 -0800 (PST)
Received: from entima.net (entima.net [78.129.143.175]) by ietfa.amsl.com (Postfix) with ESMTP id AADD81AE085 for <tls@ietf.org>; Sat, 11 Jan 2014 09:50:38 -0800 (PST)
Received: from [10.10.42.10] (cpc5-derb12-2-0-cust796.8-3.cable.virginm.net [82.31.91.29]) by entima.net (Postfix) with ESMTPSA id 083966010F for <tls@ietf.org>; Sat, 11 Jan 2014 17:50:28 +0000 (GMT)
Message-ID: <52D18475.10709@akr.io>
Date: Sat, 11 Jan 2014 17:50:45 +0000
From: Alyssa Rowan <akr@akr.io>
MIME-Version: 1.0
To: tls@ietf.org
References: <87eh4e7a2y.fsf@latte.josefsson.org>
In-Reply-To: <87eh4e7a2y.fsf@latte.josefsson.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Subject: Re: [TLS] Additional Elliptic Curves (Curve25519 etc) for TLS ECDH key agreement
X-BeenThere: tls@ietf.org
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." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 11 Jan 2014 17:50:42 -0000
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On 11/01/2014 16:32, Simon Josefsson wrote: > [draft-josefsson-tls-curve25519-03] Strong interest here. Curve25519 in particular has extremely fast, public-domain constant-time implementations compared to, say, secp256r1, with better security, and a less clouded origin. Better forward security at a very fast speed? Yes please! 1. Representation - Endian I had thought that I might point out that all the existing routines in the wild use little-endian representations and so that might be a good reason to prefer that, so the routines can be used directly to accelerate rollout. But on reflection, pretty much everything else in internet standards goes big-endian, so there's consistency there, and an endian swap isn't exactly a big deal. No objection. 2. Monty & Eddie You list both Montgomery and Edwards curves in that list. I suggest just listing the Montgomery curves (Curve25519, M383 and M511) for this use, as these are the forms that are the very natural choices for ECDHE, with the handy x-coordinate-only feature. Edwards forms (Curve1174, E382, Curve3617, E521 in their natural states) are more eminently suitable for other uses like authentication (although definitely should not be used with ECDSA, and note EdDSA as specified is actually closely tied to Ed25519 - really we should specify a new derivative, which we should really get on with). You can also convert between the representations (e.g. Ed25519 is the twisted Edwards isomorphism of Curve25519). The ones which are naturally specified in Montgomery form have handy basepoints in that form. I'd suggest putting Curve25519 as a MUST to implement, and M383 and M511 as a MAY. 3. Security Considerations: Implementation Thoughtful. Do we need to directly specify that implementations MUST avoid side-channel attacks, because otherwise they might be tempted to implement them in a way that isn't constant-time? (There's a typo in that section, by the way; "22519".) 4. Other uses I think other uses of these curves, which should definitely be specified, should be specified in another draft (i.e. something like EdDSA one, though it may not end up being exactly EdDSA). We'll want OIDs for that. Can we get some for these "Chicago curves"? I gather there's one suggested for Curve25519: could Mr Gutmann perhaps please provide us with some for all of the others? (We could put them in the eventual CFRG informational RFC for posterity, then.) - -- /akr -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJS0YR1AAoJEOyEjtkWi2t6z3AP/jwvsUwcPawNSsT8hIxJkLg+ tj8kUMeyRpxv2gqzGudycxAwi9WVV9LD9ml7Up9dfRQfxbkIr1lj6Y3Xbf/UbMXe ENw9rvTz15p9p7fZJN8vb0Ab19xGptzwBtMl3sMeOy4eCeATLq0smpPqfgLNwl6m FHcP8Vx4zrvvs1OKPlgUEEwv6l6F6A5P4OytW48WmIVGMr4ud34JPJAv4OdscvXD 8jtythP1b2Pvr+j+03LP9b0beV74YgwlqCpyQtTmLF/W7WtmW1xdBs0mKP94bB/K 9AGH86pUuBi/fBfn9lUDBkaETx6EnN8r9Mzat96o9gL2DB+s8ML0+1ckZkORzISb VDVGxv5bZLBuW9zVlelsfAJO0az7DCaS5WKk3pKvhO9uT1R66EWpWwHJiJd4+TFB H85Ko+tU65xBwh5Er/uiLwCAq205D9GFxd+MZUfNOWIDQ8/8rx+OrAImDJbkOxwr +yOs7c1jbXlDaI9aA3j894d3ZDAFG5wal8m+gYRJumLfN8ufwr0bYYLpJy+DeFwN i1Ic+Jj8b513/YxKNdJNZcK6RtL7taDAv8jl7Yiym2ze8PMZWJtsqyL06KCeDt0C 9ZzGQGV/AoDiJ1xktFwZ1YGPcTavqq9167l/r9JP0v4riA1O1Xnr9LaVBs8Z2++D o2g0CcBzXK0AhWfLqfbC =nhGq -----END PGP SIGNATURE-----
- [TLS] Additional Elliptic Curves (Curve25519 etc)… Simon Josefsson
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Dr Stephen Henson
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Watson Ladd
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Dr Stephen Henson
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Robert Ransom
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Alyssa Rowan
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Dr Stephen Henson
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Robert Ransom
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Alyssa Rowan
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Adam Langley
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Kurt Roeckx
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Adam Langley
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Matt Caswell
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Stephen Farrell
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Eric Rescorla
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Matt Caswell
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Eric Rescorla
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Salz, Rich
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Matt Caswell
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Peter Gutmann
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Ilari Liusvaara
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Peter Gutmann
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Ilari Liusvaara
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Robert Ransom
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Robert Ransom
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Ilari Liusvaara
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Manuel Pégourié-Gonnard
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Manuel Pégourié-Gonnard
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Robert Ransom
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Alex Elsayed
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Manuel Pégourié-Gonnard
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Watson Ladd
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Manuel Pégourié-Gonnard
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Kurt Roeckx
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Dr Stephen Henson
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Robert Ransom
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Manuel Pégourié-Gonnard
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Manuel Pégourié-Gonnard
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Salz, Rich
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Dr Stephen Henson
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Watson Ladd
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Sean Turner
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Sean Turner
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Adam Langley
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Jim Schaad
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Salz, Rich
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Manuel Pégourié-Gonnard
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Adam Langley
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Salz, Rich
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Manuel Pégourié-Gonnard
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Watson Ladd
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Watson Ladd
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Salz, Rich
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Yoav Nir
- Re: [TLS] Additional Elliptic Curves (Curve25519 … Watson Ladd