Pohlig–Hellman algorithm - Wikipedia