[curves] Isogeny patterns among Edwards curves

Robert Ransom rransom.8774 at gmail.com
Thu Jan 30 09:08:05 PST 2014

On 1/30/14, Mike Hamburg <mike at shiftleft.org> wrote:

> It's not possible to do this trick with even scalars.  This is because
> there's an "imaginary infinite point of order 2", Phi = (infinity,
> 1/sqrt(d)) on E(P2(Fbar)).  It's not in E(P2(F)) when d is not square.  We
> have Phi+(x,y) = (1/ysqrtd, -1/xsqrtd), which encodes as -enc, just like -P
> does.  In other words, it's not possible to distinguish between P and Phi-P.
>  When multiplied by an even scalar, the Phi cancels out, so you wouldn't be
> able to distinguish between P and -P.  This is over Fbar, but you can't tell
> F from Fbar without eg taking roots.

> This issue of decompression to Edwards remains, and this is not cheap: it
> costs 2 square roots instead of 1, or at least a square root and a Legendre
> symbol check (even when p==1 mod 4: the criterion is that d has to be
> nonsquare).  I'm looking for a way to fix this now, but I'm not sure there
> is one.

Now I really get it.

Let t=x/y denote a compressed point on a*x^2 + y^2 = 1 + d*x^2*y^2,
where a=1.  The curve equation can be rearranged into the form d*x^4 -
x^2*(1 + a*t^2) + t^2 = 0; substitute w=x^2 and solve for w using the
quadratic formula.

The quadratic formula produces two possible values of w.  One is x^2;
the other solution turns out to be 1/(d*y^2) (the square of the x
coordinate of Phi+(x,y)).  So w is the x^2 value for *one* of the two
points which compress to t=x/y over the algebraic closure Fbar; it's
either P or Phi-P.

The Legendre symbol test is necessary to determine which w is indeed
x^2 for some x (and thus is P).  If it is omitted, decompression could
apply the isogeny to Phi-P instead, which eliminates Phi and produces
-P instead of P (thus wiping out the nice feature of preserving the
sign bit).

I'm also not seeing a workaround for this.

Robert Ransom

More information about the Curves mailing list