name twisted Edwards curves parameter a parameter d coordinate x coordinate y satisfying a*x^2+y^2 == 1+d*x^2*y^2 addition x = (x1*y2+y1*x2)/(1+d*x1*x2*y1*y2) addition y = (y1*y2-a*x1*x2)/(1-d*x1*x2*y1*y2) doubling x = (x1*y1+y1*x1)/(1+d*x1*x1*y1*y1) doubling y = (y1*y1-a*x1*x1)/(1-d*x1*x1*y1*y1) negation x = -x1 negation y = y1 neutral x = 0 neutral y = 1 toweierstrass u = (1+y)/(1-y) toweierstrass v = 2*(1+y)/(x(1-y)) a0 = 1/(a-d) a1 = 0 a2 = 4*a/(a-d)-2 a3 = 0 a4 = 1 a6 = 0 fromweierstrass x = 2*u/v fromweierstrass y = (u-1)/(u+1)