I want to compare time of scalar multiplicity between ECC HECC with security level 80

asked 2017-05-04 23:54:50 +0200

sherifasagewad gravatar image
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
edit retag flag offensive close merge delete

Comments

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?

dan_fulea gravatar imagedan_fulea ( 2017-05-06 18:00:24 +0200 )edit