Edwards Curve

Definition

An Edwards Curve is a special form of elliptic curve introduced by Harold Edwards in 2007, defined over a field Fq\mathbb{F}_q by the following equation:

x2+y2=1+dx2y2x^2 + y^2 = 1 + dx^2y^2

where dFq{0,1}d \in \mathbb{F}_q \setminus \{0, 1\}. This form is called the (original) Edwards Form. In practice, a more general and widely used variant is the Twisted Edwards Form:

ax2+y2=1+dx2y2ax^2 + y^2 = 1 + dx^2y^2

where a,dFqa, d \in \mathbb{F}_q, a0a \ne 0, d0d \ne 0, and the curve is non-singular if ada \ne d.

Edwards curves are particularly useful in cryptography because they offer efficient and complete point addition formulas and resist many implementation bugs like those caused by exceptions in traditional Weierstrass addition.

Addition (Twisted Edwards Form)

Let P1=(x1,y1)P_1 = (x_1, y_1) and P2=(x2,y2)P_2 = (x_2, y_2) be two points on a Twisted Edwards curve defined by:

ax2+y2=1+dx2y2ax^2 + y^2 = 1 + dx^2y^2

Then the sum P3=P1+P2=(x3,y3)P_3 = P_1 + P_2 = (x_3, y_3) is given by:

x3=x1y2+y1x21+dx1x2y1y2y3=y1y2ax1x21dx1x2y1y2x_3 = \frac{x_1 y_2 + y_1 x_2}{1 + d x_1 x_2 y_1 y_2} \\ y_3 = \frac{y_1 y_2 - a x_1 x_2}{1 - d x_1 x_2 y_1 y_2}

These formulas are complete over prime fields if dd is a non-square, meaning they work for all inputs, unlike the Weierstrass formulas which require case distinctions and exception handling (e.g., P=QP = Q, y=0y = 0, etc.).

Negation (Twisted Edwards Form)

The additive inverse of a point P=(x,y)P = (x, y) on a Twisted Edwards curve is:

P=(x,y)-P = (-x, y)

This is because:

  • The x-coordinate changes sign,

  • The y-coordinate remains the same,

  • And:

(x,y)+(x,y)=O(x, y) + (-x, y) = \mathcal{O}

where O=(0,1)\mathcal{O} = (0, 1) is the identity element of the group (just like O\mathcal{O} or "point at infinity" in Weierstrass form).

Why does this work?

Let’s verify algebraically:

Using the addition formula:

  • x1=xx_1 = x, y1=yy_1 = y

  • x2=xx_2 = -x, y2=yy_2 = y

Then:

x3=xy+y(x)1+dx(x)yy=01dx2y2=0y3=yyax(x)1dx(x)yy=y2+ax21dx2y2x_3 = \frac{x y + y (-x)}{1 + d x (-x) y y} = \frac{0}{1 - d x^2 y^2} = 0 \\ y_3 = \frac{y y - a x (-x)}{1 - d x (-x) y y} = \frac{y^2 + a x^2}{1 - d x^2 y^2}

If you substitute this back into the curve equation, you’ll find that the result corresponds to the identity point O=(0,1)\mathcal{O} = (0,1), confirming that (x,y)+(x,y)=O(x,y) + (-x,y) = \mathcal{O}.

Benefits of Edwards Curves

  • Complete addition formulas (no exceptions)

  • Efficient computation (fewer field multiplications than Weierstrass)

  • Better resistance to side-channel attacks due to uniform operation patterns

  • Symmetry in xx and yy makes certain transformations easier

These features make Edwards curves a popular choice in cryptographic systems such as:

  • Ed25519: widely used digital signature scheme (used in Signal, SSH, OpenSSH, etc.)

  • Curve25519: used for key exchange (X25519 in TLS, etc.)

References

Written by ryan Kim from A41

Last updated