Re: [TLS] Curve25519 in TLS and Additional Curves in TLS

Nikos Mavrogiannopoulos <nmav@redhat.com> Mon, 27 January 2014 10:00 UTC

Return-Path: <nmav@redhat.com>
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 2AA8D1A0186 for <tls@ietfa.amsl.com>; Mon, 27 Jan 2014 02:00:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.437
X-Spam-Level:
X-Spam-Status: No, score=-7.437 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.535, 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 J194xsWceTD6 for <tls@ietfa.amsl.com>; Mon, 27 Jan 2014 02:00:53 -0800 (PST)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by ietfa.amsl.com (Postfix) with ESMTP id E14391A011C for <tls@ietf.org>; Mon, 27 Jan 2014 02:00:53 -0800 (PST)
Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s0RA0nkx000918 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 27 Jan 2014 05:00:49 -0500
Received: from [10.34.2.127] (dhcp-2-127.brq.redhat.com [10.34.2.127]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s0R9U1NG032451 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 27 Jan 2014 04:30:02 -0500
Message-ID: <1390815001.3812.10.camel@dhcp-2-127.brq.redhat.com>
From: Nikos Mavrogiannopoulos <nmav@redhat.com>
To: Robert Ransom <rransom.8774@gmail.com>
Date: Mon, 27 Jan 2014 10:30:01 +0100
In-Reply-To: <CABqy+srv0oNkOSYEf3u7_wtV2+asSNcXwnS87daHC5uNJYssvg@mail.gmail.com>
References: <87ob3456s1.fsf@latte.josefsson.org> <CABqy+spt7BYqjsqLAkZssGp3aY9M+iLqV+pmyr7ZN-TXmJJpVg@mail.gmail.com> <1390466373.20176.8.camel@dhcp-2-127.brq.redhat.com> <CABqy+sp3Ru+dMLXe=6gaXudSxn8UWhYjvHLAD6Y+QVaU685ZYw@mail.gmail.com> <52E2B937.5080502@polarssl.org> <2A0EFB9C05D0164E98F19BB0AF3708C711EB9F2DB6@USMBX1.msg.corp.akamai.com> <282749297.5013598.1390639819914.JavaMail.root@redhat.com> <CABqy+srv0oNkOSYEf3u7_wtV2+asSNcXwnS87daHC5uNJYssvg@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24
Cc: Manuel Pégourié-Gonnard <mpg@polarssl.org>, tls@ietf.org
Subject: Re: [TLS] Curve25519 in TLS and Additional Curves in TLS
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: Mon, 27 Jan 2014 10:00:55 -0000

On Sat, 2014-01-25 at 01:18 -0800, Robert Ransom wrote:

> > You seem to imply that following conventions established during the years is
> > unecessary. That could be true, but your only point of backing that up is
> > that a library that implements this curve uses the little endian format.
> Several libraries implement Curve25519 scalar multiplication in
> constant time, with varying degrees of portability and efficiency.
> All of them operate on public and secret keys in little-endian format.

I still cannot see your argument here. Is there a requirement for this
curve to be implemented or do these libraries use little-endian format
because it suits them better (e.g., they target little endian systems)?
This is an honest question as I don't know the answer.

> > Why force any other
> > library that will implement this curve handle its points in a special way?
> Does this mean that you intend to implement Curve25519 using a generic
> bignum library?  How will your implementation (attempt to) avoid
> leaking information about key material to a side-channel attacker?

Do you mean about power analysis (e.g., constant power consumption or
time)? Why would that matter for the protocol in question? As I
understand the document specifies additional curves for ephemeral
key exchange (ECDHE), so side channels are not a threat.

> It is about standardizing a curve which has a well-established
> convention of storing and transmitting keys in little-endian format.

I believe that software does the transmitting rather than the curve
itself, so that I think that my point of not standardizing software but
a curve is still valid.

regards,
Nikos