<div dir="ltr">I was hoping someone could point me in the direction of relevant mathematics where we examine what equations can be converted to other equations using variable substitutions, in ways that are efficiently computable modulo a prime.  For example, we can easily convert an Edwards curve into a circle with the substitution z^2 = x^2(1 + y^2).  However, this substitution does not cause the Edwards addition law to become the circle group addition law.  It becomes something cool, but the equations are no more efficient than computing the regular Edwards addition law.<div><div><br></div><div>Has it been proven that no birational substitution can convert the Edwards addition law into the circle group addition law?  The circle group addition law is:</div><div><br></div><div>    x3 = x1x2 - y1y2</div><div>    y3 = x1y2 + x2y1</div><div><br></div><div>The Edwards addition law (with the origin properly set to (1, 0) rather than (0, 1)) is:</div><div><br></div><div>    x3 = (x1x2 - y1y2)/(1 - d*x1y1x2y2)</div><div>    y3 = (x1y2 + x2y1)/(1 + d*x1y1x2y2)</div><div><br></div><div>These seem similar, so it is natural to ask if there is any efficiently computable variable substitution that maps one to the other.  Clearly there is such a substitution, since we know we can continuously morph the points on the Edwards curve that are in the group to the points of the circle group at least when the points do not wrap around the curve more than once, which turns out not to be a significant limitation.</div><div><br></div><div>It looks like it is enough to do is map the doubling equation onto the circle doubling equation, which is a simpler problem.  The Edwards point doubling equation for points in the upper right quadrant can be expressed in terms of the X coordinate like this:</div><div><br></div><div>    x2 = -(x^4 + 2x^2 - 1)/(x^4 - 2x^2 - 1)<br></div><div><br></div><div>Similarly, the circle group doubling equation is:</div><div><br></div><div>    x2 = 2x^2 -1</div><div><br></div><div>To be able to use the circle doubling equation to compute the Edwards doubling equation, we have to find a function F(x) such that:</div><div><br></div><div>    2*F(x)^2 - 1 = F(-(x^4 + 2x^2 - 1)/(x^4 - 2x^2 - 1))</div><div><br></div><div>To work on this, I seem to need modular-arithmetic friendly identities such as:</div><div><br></div><div>    F(a*b) = F(a)*F(b) when F(x) = x^q for any rational q</div><div>    F(a*b) = F(a) + F(b) when F(x) = log(x) (I assume I can solve DLP efficiently, since I'm attacking ECC which uses small keys)</div><div>    F(a + b) = F(a)*F(b) when F(x) = g^x</div><div><br></div><div>This feels a bit like solving integrals, but I don't know the rules.  Where can I read about this?</div><div><br></div><div>Thanks,</div><div>Bill</div></div></div>