Efficient Lifting of Discrete Logarithms Modulo Prime Powers
Giovanni Viglietta, Yasuyuki Kachi
TL;DR
This work addresses the problem of lifting a discrete logarithm from a prime modulus $p$ to the prime power modulus $p^k$ when a preliminary solution $z$ to $a^z \equiv b \pmod p$ is known and $p\nmid a$. The authors present a deterministic lifting algorithm that expresses the final exponent as $x=(p-1)y+z$ and computes $y$ digit-by-digit in base $p$ by updating $c_j=a^{(p-1)y_j+z}$ until $c_j\equiv b \pmod{p^k}$, with separate handling for odd $p$ and $p=2$. They prove correctness via order-theoretic lemmas and provide a detailed complexity analysis, showing a worst-case cost of $k(\lceil \log_2 p\rceil+2)+O(\log p)$ modular multiplications, which improves Bach's 1984 lifting by at least a factor of 8. The method yields the minimum non-negative solution when $\operatorname{ord}_p(a)=p-1$ and has broad relevance to computational number theory, $p$-adic techniques, and certain cryptographic contexts. Overall, the paper delivers a practical, faster alternative to previous lifting approaches with explicit performance guarantees.
Abstract
We present a deterministic algorithm that, given a prime $p$ and a solution $x \in \mathbb Z$ to the discrete logarithm problem $a^x \equiv b \pmod p$ with $p\nmid a$, efficiently lifts it to a solution modulo $p^k$, i.e., $a^x \equiv b \pmod {p^k}$, for any fixed $k \geq 1$. The algorithm performs $k(\lceil \log_2 p\rceil +2)+O(\log p)$ multiplications modulo $p^k$ in the worst case, improving upon prior lifting methods by at least a factor of 8.
