Cryptography Reference
In-Depth Information
> S + E2![2, 9];
(6 : -17 : 1)
To find the 3rd multiple of the point (2 , 9) on E 2 :
> 3*E2![2,9];
(5111/625 : -389016/15625 : 1)
To find the torsion subgroup of E 1 ( Q ):
> TorsionSubgroup(E1);
Abelian Group isomorphic to Z/10
Defined on 1 generator
Relations:
10*$.1 = 0
Note that we obtained only an abstract group, not the points. To get the
points, we define a group G andanisomorphism f from G to the set of points:
> G, f:= TorsionSubgroup(E1);
To obtain the first element of G ,type:
> f(G.1);
(3 : 1944 : 1)
This is a torsion point in E 1 ( Q ).
Let's reduce E 1 mod 13. Define F to be the field with 13 elements and E 3
to be E 1 mod 13:
> F:= GF(13);
> E3:= ChangeRing( E1, F );
> E3; Elliptic Curve defined by y ˆ 2=x ˆ 3 +10*x + 5 over GF(13)
The last command was not needed. It simply identified the nature of E 3 .
We also could have defined a curve over F 13 . The command F!10 puts 10
into F 13 , which forces everything else, for example 5, to be in F 13 :
> E4:= EllipticCurve( [F!10, 5]);
> E4;
Elliptic Curve defined by y ˆ 2=x ˆ 3 +10*x + 5 over GF(13)
>E3eqE4;
true
The last command asked whether E 3 is the same as E 4 . The answer was
yes.
We can find out how many points there are in E 3 ( F 13 ), or we can list all
the points:
> #E3;
10
> Points(E3);
{ @ (0 :
1 :
0), (1 :
4 :
1), (1 :
9 :
1), (3 :
6 :
1),
(3 :
7 :
1), (8 :
5 :
1), (8 :
8 :
1), (10 :
0 :
1),
Search WWH ::




Custom Search