31 lines
605 B
Markdown
31 lines
605 B
Markdown
# 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()
|
|
```
|