Re: [Cfrg] New names for draft-ladd-safecurves

Mike Hamburg <> Tue, 21 January 2014 04:12 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 1B11F1A0299 for <>; Mon, 20 Jan 2014 20:12:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.444
X-Spam-Status: No, score=-0.444 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, GB_I_LETTER=-2, HELO_MISMATCH_ORG=0.611, HOST_MISMATCH_NET=0.311, RDNS_DYNAMIC=0.982, SPF_PASS=-0.001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Ozia3A1V_m0m for <>; Mon, 20 Jan 2014 20:12:40 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id C10111A0030 for <>; Mon, 20 Jan 2014 20:12:40 -0800 (PST)
Received: from [] (unknown []) by (Postfix) with ESMTPSA id 2F82A3AA04; Mon, 20 Jan 2014 20:10:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;; s=sldo; t=1390277435; bh=SPjKNzwhhYVqytH12fFHsYwNwx8r0cRFHDkCENjqmE4=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=SumYe6fB8f321bVVtsH4TkSdQQNPVBXBsBLai3NHmqJEZ+XfXqgv+UY+w9lSflxNO NEiRWs9O+6ybfcZfp52pshS8PZplyRXx0dSqoAmZl5pXr2yYkcNmawgPJPLnVsfMhW BfG32Ca+mpoF8++hnK+dd0h7ENhALSXc6ACPOfKA=
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 7.1 \(1827\))
From: Mike Hamburg <>
In-Reply-To: <>
Date: Mon, 20 Jan 2014 20:12:39 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <>
To: Watson Ladd <>
X-Mailer: Apple Mail (2.1827)
Cc: "" <>, Jon Callas <>
Subject: Re: [Cfrg] New names for draft-ladd-safecurves
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Crypto Forum Research Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 21 Jan 2014 04:12:42 -0000

On Jan 20, 2014, at 7:54 PM, Watson Ladd <> wrote:

> On Mon, Jan 20, 2014 at 7:50 PM, Jon Callas <> wrote:
>> On Jan 20, 2014, at 7:17 PM, Watson Ladd <> wrote:
>>> I am proposing that we name the curves with the following scheme: E,
>>> M, TE, indicating
>>> the curve type, followed by a prime designator. The prime designator
>>> will be the concatination
>>> of the numbers a and b such that 2^a-b=p if such a and b exist and are
>>> small. Otherwise I'll think of something (Ed448 Goldilocks I'm looking
>>> at you).
>>> Any objections? Or do we have consensus on this change, and I was just
>>> to dense to notice?
>>> A new version with significant alterations will be hitting the draft
>>> server in a few days.
>> I think it's overkill, myself.
>> Really, there's no reason to designate in the name an Edwards curve from a Montgomery, especially because in the implementation someone's probably going to flip between representations. Only us math weenies really care about the representation, and you're going to confuse the coders.
> If I hand you a string of bytes, what point does that represent and on
> what curve does it fall? Seems to me like that's a representation
> issue we should all care about.

It may depend on whether we expect a curve to be used for both signatures and ECDH, or just one purpose.  If they're only for one thing, then the letters make a difference.

I think Jon wants to use each curve for both purposes, at least potentially, which makes sense to me.  This is why I suggested always using the Montgomery point representation (or even its inverse square root! but maybe that's crazy) even for the Edwards curves.

I suppose in that case we should be using curves with a small A or (A-2)/4 in Montgomery form instead of small d in Edwards form, because you need to multiply by A more often: Edwards representations are probably fastest with Niels+Extended coordinates at that size so they almost never multiply by d.

>> I spent time talking to Dan and Tanja this weekend at ShmooCon about this sort of thing and I think that our agreement was that names like "Curve 255-19" (which covers both Curve25519 and Ed25519) or "Curve 414-17" (for the curve formerly known as Curve3617) made sense.

This is also nice because you could call Ed448-Goldilocks as "Curve 448-224-1".

> This would be great except that we want both Edwards and Montgomery
> wire formats. If there is consensus on only Edwards wire formats, that
> naming will work fine.

If you're going to pick one, it should be Montgomery.  This is because the Montgomery ladder suffers almost a 10% hit from conversion, but Edwards suffers like an 0.2% hit.

-- Mike