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