Finding Solutions for 2^k=n in $\mathbb{Z}/p$: Suggestions?

  • Context: Undergrad 
  • Thread starter Thread starter CRGreathouse
  • Start date Start date
  • Tags Tags
    Suggestions
Click For Summary
SUMMARY

The discussion centers on finding values of k such that 2^k = n in the finite field \(\mathbb{Z}/p\). Participants highlight that the number of solutions for k is either 0 or a divisor of p-1, emphasizing the complexity of the problem. The use of primitive roots is mentioned, specifically referencing prime(35) = 149, where 2 serves as a primitive root, ensuring a solution exists for 2^k ≡ n Mod 149. The conversation concludes that no straightforward algorithm exists for this problem, as it relates to the difficult domains of discrete logarithms and hidden subgroup problems.

PREREQUISITES
  • Understanding of finite fields, specifically \(\mathbb{Z}/p\)
  • Knowledge of primitive roots and their significance in modular arithmetic
  • Familiarity with the discrete logarithm problem
  • Basic concepts of group theory related to the hidden subgroup problem
NEXT STEPS
  • Research algorithms for solving the discrete logarithm problem
  • Explore the properties of primitive roots in modular arithmetic
  • Study the hidden subgroup problem and its implications in cryptography
  • Investigate computational techniques for efficient modular exponentiation
USEFUL FOR

Mathematicians, cryptographers, and computer scientists interested in number theory, particularly those working with modular arithmetic and discrete logarithms.

CRGreathouse
Science Advisor
Homework Helper
Messages
2,832
Reaction score
0
Is there a good algorithm for determining for what values of k [itex]2^k=n[/itex] in [itex]\mathbb{Z}/p[/itex]? I expect the number of solutions for k to be either 0 or a number dividing p-1, but beyond that I have nothing but brute force. Suggestions?

I think this is a fairly basic question, but I can't think of an answer. Can someone point me in the right direction?
 
Physics news on Phys.org
If you look this up on the Sloan table A001918, it will give you least primitative roots, if you also obtain a list that orders the primes. In this case, for example prime(35) = 149, and has 2 as a primitative root. Thus, there is always a solution to 2^k==n Mod 149. But beyond that the matter is much more difficult. Solving 2^k==50 Mod 149, I find somehow that 2^30==-5 Mod 149, and thus 2^61==50 Mod 149.

But, you probably know all this already. So, no, I don't think any kind of easy answer is available, since if it was, why bother to even compile primitative roots?
 
Last edited:
CRGreathouse said:
Is there a good algorithm for determining for what values of k [itex]2^k=n[/itex] in [itex]\mathbb{Z}/p[/itex]? I expect the number of solutions for k to be either 0 or a number dividing p-1, but beyond that I have nothing but brute force. Suggestions?

I think this is a fairly basic question, but I can't think of an answer. Can someone point me in the right direction?

dear CRGreathouse
have a look at the wikipedia pages on "discrete logarithm" and "hidden subgroup problem". Short answer: it is a hard problem.
 

Similar threads

  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 21 ·
Replies
21
Views
2K
  • · Replies 14 ·
Replies
14
Views
3K
Replies
48
Views
6K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 25 ·
Replies
25
Views
4K
  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K