Re: [Cfrg] On curves

Michael Hamburg <mike@shiftleft.org> Thu, 03 July 2014 03:00 UTC

Return-Path: <mike@shiftleft.org>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 629BB1A8BAF for <cfrg@ietfa.amsl.com>; Wed, 2 Jul 2014 20:00:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.556
X-Spam-Level: *
X-Spam-Status: No, score=1.556 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FH_HOST_EQ_D_D_D_D=0.765, FH_HOST_EQ_D_D_D_DB=0.888, HELO_MISMATCH_ORG=0.611, HOST_MISMATCH_NET=0.311, RDNS_DYNAMIC=0.982, SPF_PASS=-0.001] autolearn=no
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 1FTdzYYIWRDf for <cfrg@ietfa.amsl.com>; Wed, 2 Jul 2014 20:00:16 -0700 (PDT)
Received: from aspartame.shiftleft.org (199-116-74-168-v301.PUBLIC.monkeybrains.net [199.116.74.168]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2F7BC1A0545 for <cfrg@irtf.org>; Wed, 2 Jul 2014 20:00:16 -0700 (PDT)
Received: from [10.71.105.60] (unknown [70.42.157.29]) by aspartame.shiftleft.org (Postfix) with ESMTPSA id 4110B3AA12; Wed, 2 Jul 2014 19:59:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=shiftleft.org; s=sldo; t=1404356381; bh=TqoNOXwHtSpLMY7oxlP8UKDGNOgFEE1pxupA9nXnLy0=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=NVJRvjnuthrs3YjrtnqBrMqYhOx44S/q55Isqw4l6l8FAKzPsGSMXPDx7aeBjkp5P nW77JJY+o38ZL8xieiA/fO3GuysZ5POZkPOldw43hcTPOBBCuKmxiHrWnshdXfXbZ2 Pc09wAH05x5VjgLqK0ARR5+7iiycvVUIwKfzH2Vw=
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Michael Hamburg <mike@shiftleft.org>
In-Reply-To: <CACsn0cnKn2mx15SWN=2HmcXnsDeQhc49p5Z6kh5ucgj_jAPQzg@mail.gmail.com>
Date: Wed, 02 Jul 2014 23:00:06 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <9FC87305-B678-4FBF-8976-9E0CE4A79FF2@shiftleft.org>
References: <CACsn0cnKn2mx15SWN=2HmcXnsDeQhc49p5Z6kh5ucgj_jAPQzg@mail.gmail.com>
To: Watson Ladd <watsonbladd@gmail.com>
X-Mailer: Apple Mail (2.1878.2)
Archived-At: http://mailarchive.ietf.org/arch/msg/cfrg/OVXqZBWMKvocfiX6m_uDiwo7U4Q
Cc: "cfrg@irtf.org" <cfrg@irtf.org>
Subject: Re: [Cfrg] On curves
X-BeenThere: cfrg@irtf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
List-Unsubscribe: <http://www.irtf.org/mailman/options/cfrg>, <mailto:cfrg-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/cfrg/>
List-Post: <mailto:cfrg@irtf.org>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Subscribe: <http://www.irtf.org/mailman/listinfo/cfrg>, <mailto:cfrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 03 Jul 2014 03:00:17 -0000

Thanks for your perspective, Watson!

But, how should we proceed?  We have, now, at least four pieces of code which aim for eventual production-grade Edwards curve crypto.  None of them entirely follows your suggestions:

* Ed25519, which uses Edwards coordinates, p=5 mod 8, and an extra bit sign encoding;

* Snowshoe, with endomorphisms over GF((2^127-1)^2), and I think no compression;

* The Microsoft curves, which have code released for p = 2^(64b)-minimal, p=3 mod 4, and no point compression;

* Ed448-Goldilocks, which uses a Solinas prime and a 1/sqrt(x) point representation.

Are you requesting that the Microsoft folks release implementations of some of their other curves?

Cheers,
— Mike

On Jul 2, 2014, at 10:37 PM, Watson Ladd <watsonbladd@gmail.com> wrote:

> Dear all,
> After thinking about it for a bit, I've come up with the following
> summary of my current position.
> 
> For compressed Edwards points, having p=3 (mod 4) is slightly easier
> to explain how to deal with then p =5 (mod 8). We want to have the
> same prime
> 
> There is no point to adding additional Weierstrass curves: additional
> performance alone isn't that compelling unless implementors want to
> implement a bunch of curves. Doing a good implementation is a bunch of
> work, and in particular while a saturated word arithmetic is easy,
> it's not worth doing unsaturated arithmetic unnecessarily.
> 
> Likewise the difference between 2^256 and 2^255 is minor in security,
> but has a performance hit. so I would try to avoid going over word
> boundaries.
> 
> As a result I suggest a Montgomery curve and isogenous twisted Edwards
> curve with primes of the form p=2^(64*b-1)-c, c minimal so p is 3 (mod
> 4). I believe these have been computed by Longa et all.
> 
> However, at the 128 bit level, I see no technical arguments against
> Curve25519. It's really a WG decision as how to do it.
> 
> This leaves the question of point representation: I would use Edwards
> form with point compression: the Montgomery form has advantages in
> variable-base multiplication, but it appears that summing the time of
> one variable-base multiplication with one fixed-base multiplication
> comes out lower for Edwards form. Again, for everything but signatures
> the difference is probably minor.
> 
> Sincerely,
> Watson Ladd
> 
> _______________________________________________
> Cfrg mailing list
> Cfrg@irtf.org
> http://www.irtf.org/mailman/listinfo/cfrg