Loading [MathJax]/jax/output/HTML-CSS/jax.js
Ask Your Question
1

Solving an equation with modulo

asked 8 years ago

Alice gravatar image

I am trying to solve for k where p to the power of k is congruent to 1 modulo l. I have the following code:

p = 2^255-19;

l = 57896044618658097711785492504343953926634992332820282019728792003956564819949;

var('k')

sorted(solve_mod(p^k == 1, l))

but I get this really long error message when I try to run it. How do I solve this equation without getting errors?

I was trying to find the embedding degree for this elliptic curve:

sage: E = EllipticCurve(GF(p),[0,486662,0,1,0])

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
1

answered 8 years ago

tmonteil gravatar image

In your particular case, your equation is a bit weird since:

sage: p == l
True

In particular, p=0 mod l, so there is no hope to find any nonzero k such that pk=1 mod l.

In the more general case, the problem you are trying to solve is called the discrete logarithm. If you had some other numbers, you could have done the following:

sage: a = Mod(1,l)
sage: b = Mod(p,l)
sage: discrete_log(a,b)

As explained before, in this particular example where p=l you get ValueError: No discrete log of 1 found to base 0, which seems normal.

Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 8 years ago

Seen: 2,195 times

Last updated: Sep 29 '16