ASKSAGE: Sage Q&A Forum - RSS feedhttps://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Sat, 06 May 2017 18:00:24 +0200I want to compare time of scalar multiplicity between ECC HECC with security level 80https://ask.sagemath.org/question/37514/i-want-to-compare-time-of-scalar-multiplicity-between-ecc-hecc-with-security-level-80/ 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 millisecondThu, 04 May 2017 23:54:50 +0200https://ask.sagemath.org/question/37514/i-want-to-compare-time-of-scalar-multiplicity-between-ecc-hecc-with-security-level-80/Comment by dan_fulea for <pre><code>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
</code></pre>
https://ask.sagemath.org/question/37514/i-want-to-compare-time-of-scalar-multiplicity-between-ecc-hecc-with-security-level-80/?comment=37530#post-id-37530Please 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`?Sat, 06 May 2017 18:00:24 +0200https://ask.sagemath.org/question/37514/i-want-to-compare-time-of-scalar-multiplicity-between-ecc-hecc-with-security-level-80/?comment=37530#post-id-37530