Exemples de courbes elliptiques

(notebook sageMath)

$$y^2=x^3+x-1$$

sur ${\mathbb Z}/19{\mathbb Z}$.

Les paramètres sont $$y^2 + a_1 xy + a_3 y = x^3 + a_2 x^2 + a_4 x + a_6.$$

In [7]:
p =19; a=1; b=-1
E = EllipticCurve([GF(p)(0), 0,0,a,b])
In [8]:
E.plot()
Out[8]:
In [3]:
E.order()
Out[3]:
19
In [4]:
E.abelian_group()
Out[4]:
Additive abelian group isomorphic to Z/19 embedded in Abelian group of points on Elliptic Curve defined by y^2 = x^3 + x + 18 over Finite Field of size 19
In [5]:
E.gens()
Out[5]:
((13 : 9 : 1),)
In [6]:
g = _[0]
In [17]:
for i in range(20): print (i*g, end=' ')
(0 : 1 : 0) (13 : 9 : 1) (18 : 4 : 1) (8 : 5 : 1) (7 : 11 : 1) (16 : 11 : 1) (1 : 18 : 1) (2 : 16 : 1) (11 : 7 : 1) (15 : 8 : 1) (15 : 11 : 1) (11 : 12 : 1) (2 : 3 : 1) (1 : 1 : 1) (16 : 8 : 1) (7 : 8 : 1) (8 : 14 : 1) (18 : 15 : 1) (13 : 10 : 1) (0 : 1 : 0) 
In [ ]:
 

La même, avec $p=107$

In [8]:
q =107; a=1; b=-1
F = EllipticCurve([GF(q)(0), 0,0,a,b])
In [9]:
F.plot()
Out[9]:
In [10]:
F.abelian_group()
Out[10]:
Additive abelian group isomorphic to Z/111 embedded in Abelian group of points on Elliptic Curve defined by y^2 = x^3 + x + 106 over Finite Field of size 107
In [11]:
F.gens()
Out[11]:
((98 : 44 : 1),)

La courbe $$y^2=x^3+x$$ modulo 23 (exemple du cours).

In [9]:
p =23; a=1; b=0
E = EllipticCurve([GF(p)(0), 0,0,a,b])
In [10]:
E.plot()
Out[10]:
In [11]:
E.order()
Out[11]:
24
In [12]:
g = E.gens()[0]
In [13]:
E.abelian_group()
Out[13]:
Additive abelian group isomorphic to Z/24 embedded in Abelian group of points on Elliptic Curve defined by y^2 = x^3 + x over Finite Field of size 23
In [14]:
g
Out[14]:
(17 : 13 : 1)
In [15]:
[i*g for i in range(25)]
Out[15]:
[(0 : 1 : 0),
 (17 : 13 : 1),
 (16 : 8 : 1),
 (15 : 20 : 1),
 (9 : 5 : 1),
 (21 : 6 : 1),
 (1 : 5 : 1),
 (11 : 13 : 1),
 (18 : 10 : 1),
 (20 : 19 : 1),
 (13 : 18 : 1),
 (19 : 1 : 1),
 (0 : 0 : 1),
 (19 : 22 : 1),
 (13 : 5 : 1),
 (20 : 4 : 1),
 (18 : 13 : 1),
 (11 : 10 : 1),
 (1 : 18 : 1),
 (21 : 17 : 1),
 (9 : 18 : 1),
 (15 : 3 : 1),
 (16 : 15 : 1),
 (17 : 10 : 1),
 (0 : 1 : 0)]
In [ ]: