So in ECC GF(next_prime(2^160)) then construct the curve, base point
=====================================================================
I'm not sure how in hyper elliptic curve;
I think
$ `q = next_prime(2^80)`
$ `K.<x>=GF(q,'x')[]`
$ `f = x^5 + x^3 + 1`
$ `H = HyperellipticCurve(f, 0)`
$ `J = H.jacobian()`
$ `z = Integer(randrange(2, q-2))`
$ `D = J(H.lift_x(F(z)))` # divisor
===============================================================
To compare time
ECC => `%timeit (Integer(randrange(1, 2^160))) * base point`
HECC => %timeit (Integer(randrange(1, 2^80))) * divisor`
==============================================================
is this correct?
and if this correct, how ECC time = 13.2 millisecond;
HECC time = 185 millisecond
Please make the question readable and self-contained.
(Please only markdown blocks, when code is coming in blocks, and in text using the ticks. Else a copy+paste action must have a step of edit for each potential answerer.)
(Also it would be simpler for our purposes to fix that z.)
(ECC and HECC is also too criptic, one more "easy guess" that makes the reader go back.)
The lines of code
q = next_prime( 2^80 )
K.<x> = GF(q)[]
f = x^5 + x^3 + 1
H = HyperellipticCurve(f, 0)
J = H.jacobian()
z = Integer( randrange(2, q-2) )
can still be compiled on my machine, but the F in the next line is not defined:
D = J( H.lift_x(F(z)) ) # divisor
So what is F? What is the base point? What is the divisor? Is it D?
Please make the question readable and self-contained.
(Please only markdown blocks, when code is coming in blocks, and in text using the ticks. Else a copy+paste action must have a step of edit for each potential answerer.)
(Also it would be simpler for our purposes to fix that
z
.)(ECC and HECC is also too criptic, one more "easy guess" that makes the reader go back.)
The lines of code
can still be compiled on my machine, but the
F
in the next line is not defined:So what is
F
? What is thebase point
? What is thedivisor
? Is itD
?