Let $(p\_1)^{k\_1}(p\_2)^{k\_2}\dots$ be the prime factorization of $\varphi(n)$. Assuming that we have a value of order $(p\_x)^{k\_x}$ for all $x$, can we calculate the discrete log of any value in $\mathbb{Z}\_n^\times$ efficiently? Alternatively, if we have a value of order $p\_x$ for all $x$, can we calculate the discrete log efficiently?


Here the interest is in the discrete log of any base, i.e. for the general case. There may be algorithms that work well for a specific base, but here the focus should be on algorithms for all bases.



Does having the discrete logarithm of prime factors of $n$ allow us to calculate any discrete log more efficiently?
There are no known general-purpose algorithms that can compute the discrete logarithm efficiently with this additional information.


A special case of your question arises when $n$ is a "[safe prime](https://en.wikipedia.org/wiki/Safe_and_Sophie_Germain_primes)," i.e. a prime number such that $p=\frac{n-1}{2}$ is also prime (a Sophie-Germain prime). In this case, $\varphi(n)=2p$. Then $-1$ has order $2$, and it is very straightforward to find an element of order $p$ (pick any $g\in(\mathbb{Z}/n\mathbb{Z})^\times$ besides $1$ and $-1$, and compute $g^p$ using square-and-multiply. If $g^p=1$, then $g$ has order $p$; otherwise $g^p=-1$ and $g^2$ has order $p$). However, safe primes are often [explicitly sought out](https://doi.org/10.1007/0-387-23483-7_367) as moduli for Diffie-hellman protocols precisely because there is no known attack on the discrete log problem for such $n$.


