Re: [Cfrg] ECC mod 8^91+5

Dan Brown <> Wed, 02 August 2017 14:54 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id BAE59132118 for <>; Wed, 2 Aug 2017 07:54:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id lB9aKR4BDNUs for <>; Wed, 2 Aug 2017 07:54:51 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id ED2FA1319B4 for <>; Wed, 2 Aug 2017 07:54:50 -0700 (PDT)
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-SHA; 02 Aug 2017 10:54:48 -0400
Received: from ([fe80::45d:f4fe:6277:5d1b]) by ([fe80::8dc1:9551:6ed8:c618%17]) with mapi id 14.03.0319.002; Wed, 2 Aug 2017 10:54:48 -0400
From: Dan Brown <>
To: Dan Brown <>, Ilari Liusvaara <>
CC: "" <>
Thread-Topic: [Cfrg] ECC mod 8^91+5
Thread-Index: AdLNjx77PpyZT1/ZSIWijHcZu9CKCQ9d+upAACBlnYAAA5l8wAABnPiQ
Date: Wed, 2 Aug 2017 14:54:47 +0000
Message-ID: <>
References: <> <> <20170802081237.k6pcmldfso4dkgeq@LK-Perkele-VII> <>
In-Reply-To: <>
Accept-Language: en-US, en-CA
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [Cfrg] ECC mod 8^91+5
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Crypto Forum Research Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 02 Aug 2017 14:54:54 -0000

Based on Ilari's advice, I sought and found some exceptions (on the curve in question, or perhaps even any prime-field curve with 3 points of order 2) to the preferred differential addition formula:
Put {(X2:Z2),(X3:Z3)}={(1:1),(-1:1)}, which yields (X5:Z5)=(0:0) an EXCEPTION.  This seems to be only exception (25% sure), but is in line with Ilari's claim about exceptions.  (Also, I couldn't find any exceptions in the preferred doubling formula (25% sure).)
I'm not sure how exploitable this exception would be, however, so maybe I'm still missing something.  The two points have order 4, but differ by a point of order 2, so (X1:Z1) would have (10% sure) to be (0:1) or (i:1) or (-i:1).  This could be stopped by checking (X1:Z1) -- or perhaps (0.1% sure) just using it anyway, and safely leaking just a few bits of information about the private key.  

-----Original Message-----
From: Cfrg [] On Behalf Of Dan Brown
Sent: Wednesday, August 2, 2017 10:12 AM
To: Ilari Liusvaara <>
Subject: Re: [Cfrg] ECC mod 8^91+5

Hi Ilari,

Thank you very much for taking a look at these important details: I've been focusing on other aspects.

I did not know about the condition on uniqueness of a point of order 2.  So, I will try to better learn this important implementation issue.  If you happen to know off-hand a reference to the theorem you cited, then please let me know - but don't sweat it, I'll eventually find it (99% sure).

I did not understand what you meant by the "worst problem" being a "notation" for low-order points.   (My only guess (1% sure) is that "notation" could be some kind of "exception"?)  Also, I'm assuming that "worst" is in some relative sense, since Curve25519 has low-order points.  Also, is your implied assertion that "a complete curve has low-order point" a theorem?  (I had mistakenly thought complete formulas for NIST had been found, albeit slower - maybe they were only unified, so my understanding of what "complete" means is off.)

In my slides, I mentioned that the propose curve's cofactor (72) not being a power of 2 is problematic for easily generating signature ephemerals without bias. This has some known workarounds, but it is a serious issue.  Did you have something else in mind in saying that a subgroup of order 9 was problematic?

-----Original Message-----
From: Cfrg [] On Behalf Of Ilari Liusvaara
Sent: Wednesday, August 2, 2017 4:13 AM
To: Dan Brown <>
Subject: Re: [Cfrg] ECC mod 8^91+5

On Tue, Aug 01, 2017 at 09:22:10PM +0000, Dan Brown wrote:
> Hi CFRG,
> A minor addition to this topic.
> In my first email on this topic, and in my recent IETF 99 
> presentation, I mentioned that the proposed special curve 2y^2=x^3+x 
> was similar to curves proposed in Miller's 1985 paper introducing of 
> ECC.
> I believe (50% sure) that Miller made this non-square a recommendation 
> merely to help keep the group cofactor down (by ensuring a unique 
> point of order 2, namely (0,0)).

Unfortunately there is another related problem: The theorem that says that folded Montgomery ladder always works assumes that there is unique point of order 2.

So if using curve with multiple points of order 2, there may be exceptional cases. And getting those cases wrong might be exploitable.

And handling those cases without timing sidechannels might be very nasty to implement.
And sets of complete Montgomery and complete Edwards curves are very closely related, so this is probably not complete either as Edwards curve.

> By contrast 2y^2=x^3+x, has a subgroup of order 8.  (With points O, 
> (0,0), (i,0), (-i,0), (1,1), (1,-1), (-1,i), (-1,-i).)  A subgroup  of 
> order 4 (or 8) is nowadays considered (arguably) an advantage, because 
> of various Edwards curves (but I am only 10% sure, since I haven't 
> looked at this in a while, please correct me this is wrong).

It also seemingly has subgroup of order 9, which is considerably more problematic than subgroup of order 8.

There are some more exotic ECC algorithms that just can't deal with cofactor bigger than 1, but I think the worst problems that are attributed to cofactor >1 are actually caused by having a notation for low-order points. And any complete curve has at least one such point.

And then, not having notations for low-order points is annoying in implementing algorithms...


Cfrg mailing list

Cfrg mailing list