0

I have been working on a program that Calculates the third divisor, D3, on a HyperElliptic curve given D1 and D2 in a FINITE FIELD. I have taken many approaches and have decided on using Cantors Algorithm to do so.

In order to use Cantors Algorithm, you need two divisors written in Mumford Representation, D[u(x), v(x)]

Example: Mumford representation takes the x-values of two points and uses them as roots for u(x).

u(x) for P1(2, 5) and P2(3, 6) would be written as x^2 - 5x + 6

Then, using a system of equations, you calculate v(x) as the solution to y1 = ax1 + b = y2 = ax2 + b where you plug in the x and y values of P1 and P2 to create two equations. Doing so, you get

5 = a2 + b
6 = a
3 + b

Setting these equal to each other will solve for the 'a' and 'b' values for v(x)

Now that anyone who stumbles upon this page can generally understand Mumfords form, I will get into my main problem.

Using the Example problem as a reference under the Cantors algorithm section on the Imaginary HyperElliptic Curve wiki page, I do not know how to properly calculate 'e1', 'e2', 'c1', or 'c2'.

They use this Example Equation and give the first and second divisor in Mumford representation. I am able to calculate d1 = gcd(u1, u2) but do not understand how they go from

x - 1 = e1u1 + e2u2

to

e1 = 1/2, e2 = -1/2

Does anyone have any idea how to properly calculate these values? I read into the Diophantine equation but have no idea how to implement something like this in python. I am using Sympy to do the rest of my calculations.

The most confusing part about this whole thing is figuring out how to do this in a FINITE FIELD

I will also link this work by Peter Birkner. I am specifically looking at pages 11 and 12. Any help is greatly appreciated!

  • 2
    This is pretty advanced math, you're more likely to get a useful answer on [math SE](https://math.stackexchange.com/) even though there are computational aspects to this. – President James K. Polk Jul 19 '22 at 16:51
  • @PresidentJamesK.Polk. I published it over [there](https://math.stackexchange.com/questions/4496093/calculating-third-divisor-on-a-hyperelliptic-curve-in-a-finite-field). Thanks for the advice! – Jordan De Sotle Jul 19 '22 at 17:42
  • I'm not seeing any programming code here, so this doesn't feel like a programming question, but really just a maths question, and is simply [off topic for Stackoverflow](/help/on-topic). – Mike 'Pomax' Kamermans Jul 23 '22 at 03:22

0 Answers0