A finite-field elliptic curve is a small set of exact residue pairs in this toy. The plot shows every accepted point.

highlighted = computed this step

Why the curve is finite

This curve is evaluated over a prime field, so x and y are residues modulo p. The plot marks every affine point the equation accepts.

y2=x3+ax+b(modp)y^2=x^3+ax+b\pmod p
Points on the curveFinite-field curve points recomputed from p, a, and b.Points on the curve - 18 affine pointsPoints on the curvecurve y^2=x^3+2x+2 over F_17points sorted by xy over F_p0816(0,6)(0,11)(3,1)(3,16)G: (5,1)(5,16)(6,3)(6,14)(7,6)(7,11)(9,1)(9,16)R: (10,6)(10,11)(13,7)(13,10)(16,4)(16,13)

Pin the toy curve

Here p=17, a=2, and b=2.

p=17, a=2, b=2p=17,\ a=2,\ b=2
Points on the curveFinite-field curve points recomputed from p, a, and b.Points on the curve - 18 affine pointsPoints on the curvecurve y^2=x^3+2x+2 over F_17points sorted by xy over F_p0816(0,6)(0,11)(3,1)(3,16)G: (5,1)(5,16)(6,3)(6,14)(7,6)(7,11)(9,1)(9,16)R: (10,6)(10,11)(13,7)(13,10)(16,4)(16,13)

Count the plotted points

The recomputed list has 18 affine points. The point at infinity is the group identity and is not an affine dot.

#E(Fp)affine=18\#E(\mathbb F_p)_{\text{affine}}=18
Points on the curveFinite-field curve points recomputed from p, a, and b.Points on the curve - 18 affine pointsPoints on the curvecurve y^2=x^3+2x+2 over F_17points sorted by xy over F_p0816(0,6)(0,11)(3,1)(3,16)G: (5,1)(5,16)(6,3)(6,14)(7,6)(7,11)(9,1)(9,16)R: (10,6)(10,11)(13,7)(13,10)(16,4)(16,13)

Summary

The plot is the exact point set for the toy curve. NOTE: toy-modulus; no-side-channel; no-production; never-roll-your-own. Exact point arithmetic over a deliberately tiny prime field; real ECC uses about 256-bit curves such as Curve25519 in reviewed protocols.

points recomputed from curve\text{points recomputed from curve}
Points on the curveFinite-field curve points recomputed from p, a, and b.Points on the curve - 18 affine pointsPoints on the curvecurve y^2=x^3+2x+2 over F_17points sorted by xy over F_p0816(0,6)(0,11)(3,1)(3,16)G: (5,1)(5,16)(6,3)(6,14)(7,6)(7,11)(9,1)(9,16)R: (10,6)(10,11)(13,7)(13,10)(16,4)(16,13)