Explicit-Formulas Database
Ordinary genus-1 curves over binary fields
Short Weierstrass curves EFD / Ordinary genus-1 binary / Affine coordinates for short Weierstrass curves

# Affine coordinates for short Weierstrass curves

An elliptic curve in short Weierstrass form [more information] has parameters a2 a6 and coordinates x y satisfying the following equations:
```  y^2+x*y=x^3+a2*x^2+a6
```

Affine coordinates [database entry] represent x y as X Y satisfying the following equations:

```  x=X
y=Y
```

## Best operation counts

Smallest multiplication counts assuming I=10M, S=0M, *param=0M, add=0M, *const=0M:
Smallest multiplication counts assuming I=10M, S=0.2M, *param=0M, add=0M, *const=0M:

## Summary of all explicit formulas

addition 1I + 2M + 1S 1I + 2M + 1S
doubling 1I + 2M + 1S
scaling 0M

The "add" addition formulas [database entry; Sage verification script; Sage output; three-operand code]:
• Cost: 1I + 2M + 1S + 9add.
• Explicit formulas:
```      lambda = (Y1+Y2)/(X1+X2)
X3 = lambda^2+lambda+X1+X2+a2
Y3 = lambda*(X1+X3)+X3+Y1
```

## Explicit formulas for doubling

The "dbl" doubling formulas [database entry; Sage verification script; Sage output; three-operand code]:
• Cost: 1I + 2M + 1S + 6add.
• Explicit formulas:
```      lambda = X1+Y1/X1
X3 = lambda^2+lambda+a2
Y3 = lambda*(X1+X3)+X3+Y1
```

## Explicit formulas for scaling

The "copy" scaling formulas [database entry; Sage verification script; Sage output; three-operand code]:
```      X3 = X1