Cryptography Reference
In-Depth Information
We can also compute with curves mod p . Let's consider E 3 : y 2
= x 3 +
10 x + 5 (mod 13) (this is the reduction of E 1 mod 13):
? e3=ellinit([0,0,0,Mod(10,13),Mod(5,13)])
%9 = [0, 0, 0, Mod(10, 13), Mod(5, 13), 0, Mod(7, 13),
Mod(7, 13), Mod(4, 13), Mod(1, 13), Mod(9, 13), Mod(2, 13),
Mod(7, 13), 0, 0, 0, 0, 0, 0]
Multiples of points can be computed as before:
? ellpow(e3,[Mod(3,13),Mod(7,13)],10)
%10 = [0]
? ellpow(e3,[Mod(3,13),Mod(7,13)],5)
%11 = [Mod(10, 13), Mod(0, 13)]
The first output means that the 10th multiple of the point is .
The height pairing can be computed. For example, on E 2 the pairing
(2 , 9) , (3 , 10) from Example 8.11 is computed as follows:
? ellbil(e2,[2,9],[3,10])
%12 = -0.9770434128038324411625933747
Pari works with the complex functions associated to an elliptic curve. For
example, the value of j ((1 +
171) / 2) (see the beginning of Section 10.4) is
computed as follows:
? ellj((1+sqrt(-171))/2)
%13 = -694282057876536664.0122886865 + 0.0000000003565219231*I
We know the value should be real. To increase the precision to 60 digits,
type:
? \ p60
realprecision = 67 significant digits (60 digits displayed)
Now, retype the previous command:
? ellj((1+sqrt(-171))/2)
%14 = -694282057876536664.0122886867083074260443674536412446626
29851 - 7.05609883 E-49*I
The imaginary part of the answer is less than 10 48 .
To find other functions that are available, type ? . To find the functions
that relate to elliptic curves, type ?5 . To find how to use a command, for
example elladd ,type
?elladd
elladd(e,z1,z2):
sum of the points z1 and z2 on elliptic
curve e.
To quit, type
? \ q
Goodbye!
Search WWH ::




Custom Search