Idly playing around with finite fields one day, I found a curiosity that I can't explain. Given a prime modulus $p$ and one of its primitive roots $r$, define a mapping $f$ from $\mathbb{F}_{p}$ to $\mathbb{C}$ by:
$$f(x) = \zeta^{log_r(x)}$$
and taking $f(0) = 0$, where $\zeta = e^{2\pi i / (p-1)}$, and $log_r$ is the discrete log mod $p$.
Then, empirically it appears that this is some kind of homomorphism-esque thing--that is, it appears to be that when you do some operation to the elements of the finite field, it corresponds to the same operation done in $\mathbb{C}$, except the answer might be off by a distance of a multiple of $\sqrt{p}$. More formally,
$$|f(a+b) - (f(a) + f(b))| = k \sqrt{p}$$
It is easy to prove that the same holds for multiplication exactly:
$$|f(a b) - f(a) f(b)| = 0$$
The same seems to be true for prime power fields $\mathbb{F}_{p^n}$, with the distance being $\sqrt{p}$ again.
It's like finite fields are representable as complex numbers, with a suitable "complex mod". I guess my big question is why is it always off by a multiple of $\sqrt{p}$? Is this a known result? Does the "complex mod" hint I see go any deeper?
I'm no advanced mathematician, and I've used more or less the extent of my algebra vocabulary in posing this question, so keeping the answer as plebian as possible would be appreciated.