Solve $3^x \equiv 43 \pmod {97}$ using Pohlig-Hellman

169 Views Asked by At

Problem: Solve $3^x \equiv 43 \pmod {97}$ using the Pohlig-Hellman algorithm.

Here is my solution, but the problem is that I don't get it right at the end.

First of all, I calculate $\phi(97) = 96 = 2^5 \cdot 3$.

Now, let $x=a_0 + 2^5a_1=a_0+32a_1$. Then $$ {3^{(a_0+32a_1)}}^3 \equiv 43^3 \pmod{97}$$ $$27^{a_0} \equiv 64 \pmod {97}.$$

Trial and error yields $a_0 = 6$. So now we have $x = 6 + 32a_1$, meaning $x \equiv 6 \pmod {32}$.

Now, let $x=b_0 + 3b_1$. Then $$ {3^{(b_0 + 3b_1)}}^{32} \equiv 43^{32} \pmod{97}$$ $$35^{b_0} \equiv 35\pmod {97}.$$

Obviously, $b_0=1$. So now we get $x = 1 + 3b_1$, meaning $x \equiv 1 \pmod {3}$.

Using CRT, we can now solve: $$x \equiv 6 \pmod {32}$$ $$x \equiv 1 \pmod {3}.$$

Solving the first equivalence:

$$3x_1 \equiv 6 \pmod {32}.$$

The multiplicative inverse of $3$ modulo $32$ is $11$.

$$11 \cdot 3x_1 \equiv 11 \cdot 6 \pmod {32}$$ $$x_1 \equiv 11 \cdot 6 \equiv 2 \pmod {32}.$$

Now for the second one:

$$32x_2 \equiv 1 \pmod {3}$$ $$2x_2 \equiv 1 \pmod {3}$$ $$x_2 \equiv 2 \pmod 3.$$

And at last:

$$x_0 = 3 \cdot 2 + 32 \cdot 2 = 70 \equiv 70 \pmod {96}.$$

Now $3^{70} \pmod {97}$ is not $43$, and I cannot find where is my error. But, if I got $a_0=22$, then I would get $x_1 \equiv 18 \pmod {32}$ and $x_0 \equiv 22 \pmod {96}$, and that would be correct answer.

1

There are 1 best solutions below

0
On BEST ANSWER

$3^{70} \mod 97$ IS 43, and your solution is fine. The only problem is that it's not unique - because the order of $3 \mod 97$ is 48 instead of 96.

So morally speaking, you should look at $x \mod 48$ instead. Using Chinese remainder theorem, you would split that up into $x \mod 16$ and $x \mod 3$. Your calculations were correct - the answer would be $x \equiv 6 \mod 16$ and $x \equiv 1 \mod 3$, and from there you see that the solution is $x \equiv 22 \mod 48$. In particular, 70 IS also a correct solution - it just doesn't exhaust everything.