Re: [Cfrg] A draft merging rpgecc and thecurve25519function.

Adam Langley <> Fri, 02 January 2015 00:51 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id C7E3B1A8033 for <>; Thu, 1 Jan 2015 16:51:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.278
X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id pa-3WzQ1YnVD for <>; Thu, 1 Jan 2015 16:51:20 -0800 (PST)
Received: from ( [IPv6:2a00:1450:4010:c03::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 197721A8032 for <>; Thu, 1 Jan 2015 16:51:20 -0800 (PST)
Received: by with SMTP id ms9so14895183lab.24 for <>; Thu, 01 Jan 2015 16:51:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=32yxfjdBShWAopYrwmPd/oex5OddajwHrKAWENu9LpA=; b=maXQVrDPKR0c7AE5C8yM0KjzrdlrLPsYDsVjpUicn4qm+MyTnzbwuuxSv5fFTGSCt6 NRC1idEdiGjZ5n8NNJasmT8itug77rdBb69QExTmTJ4lahBJFzW9zu9YhhDwpEKVpTDj nfNMvuK7KaYYX0l6Gd5z+XGP7zNmwIsS5eskbOvOirp4OpLR7dLfPYOtClO4EoZIOz3G QoSJMwxEecfdJBLMCbhtJpDnwiObuZkU0aItkLFQgeDT1TKejfTqO5P/ycs4E+dE/J9x HTT8V8OMxwIe22MBe5jHkIkM4shFP84DMELdRKQQY3GLR6TWr1rekNvFimzE2MWMY09T oPEg==
MIME-Version: 1.0
X-Received: by with SMTP id ms10mr36225304lbb.33.1420159878376; Thu, 01 Jan 2015 16:51:18 -0800 (PST)
Received: by with HTTP; Thu, 1 Jan 2015 16:51:18 -0800 (PST)
In-Reply-To: <>
References: <> <> <>
Date: Thu, 1 Jan 2015 16:51:18 -0800
X-Google-Sender-Auth: es_lzgYWMkfAd-_16kNZhY7FsPA
Message-ID: <>
From: Adam Langley <>
To: Watson Ladd <>
Content-Type: text/plain; charset=UTF-8
Cc: "" <>
Subject: Re: [Cfrg] A draft merging rpgecc and thecurve25519function.
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: Fri, 02 Jan 2015 00:51:22 -0000

On Thu, Jan 1, 2015 at 4:08 PM, Watson Ladd <> wrote:
> Is it just me, or is this the draft I uploaded a couple weeks ago,
> plus typos, and a section about an algorithm that gets used only to
> have its result ignored?

Is "the draft I uploaded a couple weeks ago" referring to
draft-turner-thecurve25519function-01? If so, then somewhat yes. (The
only other draft I see from you is draft-ladd-spake2 but it's quite
possible that I've missed something in all the recent emails.)

However, I don't agree that the algorithm is simply ignored. It's
clearly important to some that the generation algorithm be explicit
and transparent. Yes, it's odd that at the end we have to do an
arbitrary isogeny but I think the motivation for that is clear and
it's a "safe" step (i.e. we can't have hidden anything dodgy in there
to my knowledge.)

The algorithm could be written to reflect how curve25519 was
developed: i.e. that it output a Montgomery curve and then the twisted
Edwards is the obvious isomorphism from there (if needed). That might
well be clearer if we don't recommend any other curves.

But dealing with Edwards curves and having the algorithm generate them
makes it easier if we recommend another, or in the optimistic scenario
that we also end up specifying a signature scheme.

As far as making the wording clearer: lots of rewriting is called for
*if* this draft isn't dead-on-arrival.

(As an aside: does the existing algorithm output Curve41417,
Goldilocks or E-521 when given the corresponding prime? I suspect not
for Curve41417 since the curve/twist cofactors are {8,8} not {4,4}.
Goldilocks might work though.)

> Should cat be a coauthor?

If there's anyone I've left out, I'll add them immediately. And if
anyone wants to move from the "credit" section to the list of authors
I'll do that too. (The reason for not listing people as authors is in
section 1.)