Generating Elliptic Curves

In the following section, we are going to see how to generate Elliptic Curves and draw the curve with Python.

A Weierstrass Curve

The python code below draw a Weierstrass Curve:

#!/usr/bin/env python3

import matplotlib.pyplot as plt
from Cryptotools.Groups.curve import Curve


a = 3
b = 8

curve = Curve(a, b, Curve.WEIERSTRASS)
x = curve.x
curve.generatePoints()
y = curve.y
yn = curve.yn
points = curve.getPoints()

plt.figure(figsize=(10, 6))
plt.plot(x, y, color='b', label=f'$y^2 = x^3 + {a}x + {b}$')
plt.plot(x, yn, color='b', )
plt.legend()
plt.show()