After a bit of surfing, I have found that Schönhage–Strassen (without taking in consideration recent optimizations) seems to be the base algorithm to perform the requested operation. Anyways, this algorithm is focused on “raw” multiplication of two integers $a$ and $b$, if a sufficiently large $N$ is chosen (the multiplication is modulus $2^N+1$.

A first question would be: how is this algorithm abstracted to perform exponentiation?

Say, we want to perform $$c^k pmod{n},$$ how we proceed?

A naive approach would be to use the Schönhage–Strassen with $a = c$, $b = c$ and $N$ such that $2^N+1 = n$, as many times as needed (in this case, $k-1$ times). Am I in the good direction? If not, how does it works? Is this algorithm the best one yet known?