How does the Pohlig-Hellman algorithm work?

  • MHB
  • Thread starter mathmari
  • Start date
  • Tags
    Algorithm
In summary, the Pohlig-Hellman algorithm is used to find a solution for equations of the form $y = g^x$ in a finite group $\mathbb{Z}_p^{\star}$, where $p$ is a prime number. It involves finding the order of the group and breaking down the exponent into smaller equations. By using the Chinese remainder theorem, a solution can be found.
  • #1
mathmari
Gold Member
MHB
5,049
7
Hey! :eek:

I am studying Cryptology right now and I am facing some difficulties to understand the Pohlig-Hellman algorithm.

Could you explain to me how the algorithm works??

Could you give me a step by step example??

(Wondering)
 
Last edited by a moderator:
Mathematics news on Phys.org
  • #2
I read an example... Could you tell me if I have understood it correct??

If we want to find for example $x$ such that $7=2^x$ in $\mathbb{Z}_{29}^{\star}$ we do the following:

The order of the group os $28=2^2 \cdot 7$.

- $y_0=7^7\equiv 1 \pmod {29}, g_0=2^7\equiv 12 \pmod {29}, g_1=g_0^{2^{2-1}}=g_0^2=12^2\equiv 28 \pmod {29}$

We write $x$ in the basis $2$, $x=a_0+2a_1, a_0, a_1 \in \{0, 1\}$.

$ord(12) \mid 28 \Rightarrow ord(12) \mid 2^2 \cdot 7$

$12^{\frac{28}{2}}=12^{14}=28\neq 1 \Rightarrow 2^2 \mid ord(12) \ \ , \ \ 12^{\frac{28}{7}}=12^4=1$

Can we conclude from here that $ord(12)=4$ ??

$1=12^x \Rightarrow 1=12^{a_0+2a_1} \Rightarrow 1=12^{2a_0+4a_1} \Rightarrow 1=(12^2)^{a_0}(12^4)^{a_1} \Rightarrow 1=(12^2)^{a_0} \Rightarrow 1=28^{a_0} \Rightarrow 1=(-1)^{a_0} \Rightarrow a_0=0$

$1=12^{2a_1} \Rightarrow 1=(12^2)^{a_1} \Rightarrow 1=(-1)^{a_1} \Rightarrow a_1=0$

So, we have that $$x \equiv 0+2 \cdot 0 \pmod 4 \Rightarrow x \equiv 0 \pmod 4$$

- $y_0=7^4\equiv 23 \pmod {29}, g_0=2^4=16, g_1=g_0=16$

$23=16^x$

$16^0=1, 16^1=16, 16^2=24, 16^3=7, 16^4=25, 16^5=23$

So, we have that $$x \equiv 5 \pmod 7$$

We have $$x \equiv 0 \pmod 4 \\ x \equiv 5 \pmod 7$$ From the Chinese remainder theorem we get $$x \equiv 12 \pmod {28}$$

Is this correct?? (Wondering)
 
Last edited by a moderator:

FAQ: How does the Pohlig-Hellman algorithm work?

What is the Pohlig-Hellman algorithm?

The Pohlig-Hellman algorithm is an algorithm used in cryptography to solve the discrete logarithm problem. It is named after its creators, mathematicians Carl Pohlig and Martin Hellman, and is based on the Chinese Remainder Theorem.

What is the purpose of the Pohlig-Hellman algorithm?

The Pohlig-Hellman algorithm is used to break down the discrete logarithm problem into smaller, more easily solvable problems. This allows for faster computation of the discrete logarithm, which is an important component in many cryptographic protocols.

How does the Pohlig-Hellman algorithm work?

The Pohlig-Hellman algorithm works by first factoring the modulus used in the discrete logarithm problem. Then, using the Chinese Remainder Theorem, it solves the discrete logarithm problem for each prime factor individually. Finally, it combines these solutions to find the overall solution to the original problem.

What are the advantages of using the Pohlig-Hellman algorithm?

The main advantage of the Pohlig-Hellman algorithm is its efficiency. It is significantly faster than other methods for solving the discrete logarithm problem, making it a popular choice in cryptography. Additionally, it is relatively easy to implement and has been proven to be secure against known attacks.

Are there any limitations of the Pohlig-Hellman algorithm?

One limitation of the Pohlig-Hellman algorithm is that it only works for certain types of cyclic groups, such as the multiplicative group of a finite field. It also requires the knowledge of the prime factorization of the modulus, which can be difficult to obtain in some cases. Additionally, it is vulnerable to certain attacks, such as the Pohlig-Hellman attack, if the prime factors used are small.

Similar threads

Replies
1
Views
1K
Replies
5
Views
1K
Replies
23
Views
3K
Replies
1
Views
1K
Replies
1
Views
2K
Replies
6
Views
1K
Back
Top