Group of Dirichlet Characters Modulo $q$ is Isomorphic to $(\mathbb{Z} / q\mathbb{Z})^*$ I'm currently reading a book on analytic number theory, and shortly after defining Dirichlet characters, the author stated that one can prove that for a given $q\in\mathbb{N}$, the group of Dirichlet characters modulo $q$ is isomorphic to the multiplicative group $(\mathbb{Z} / q \mathbb{Z})^*$. That sparked my interest, so I started to think about how to prove this fact, but unfortunately I've had no success and have been unable to find a proof elsewhere. Can somebody please shed some light on how to prove this fact? 
In case it's relevant, here's the definition of Dirichlet characters provided by my book:
Let $q \in \mathbb{N}$. A Dirichlet character modulo $q$ is a map $\chi : \mathbb{Z}\setminus \{0\} \rightarrow \mathbb{C}$ satisfying the following rules for all $a, b \in \mathbb{Z} \setminus \{0\}$:


*

*$\chi(a) = \chi(a \pmod q)$

*$\chi(ab) = \chi(a)\chi(b)$

*If $(a, q)>1$, then $\chi(a)=0$.
Thank you in advance for any help.
 A: I've never heard of a Dirichlet character, so this is an adventure for me too! Maybe my thought process will help out.

Let $q \in \mathbb{N}$. A Dirichlet character modulo $q$ is a map $\chi : \mathbb{Z}\setminus \{0\} \rightarrow \mathbb{C}$ satisfying the following rules for all $a, b \in \mathbb{Z} \setminus \{0\}$:
  
  
*
  
*$\chi(a) = \chi(a \pmod q)$
  
*$\chi(ab) = \chi(a)\chi(b)$
  
*If $(a, q)>1$, then $\chi(a)=0$.
  

Let $G = \Bbb Z/q\Bbb Z$, so that $G^* = (\Bbb Z/q\Bbb Z)^*$.
Let's pick apart the definition for a bit. By requiring $\chi(a) = \chi(a \pmod q)$, we're really forcing $\chi$ to be defined not just on $\Bbb Z$, but on $G$ as well. For $a \in \Bbb Z$, let $[a]$ denote the equivalence class $\{n \in \Bbb Z: n \equiv a \pmod q\}$. Now it shouldn't be hard to believe that, given a function $\chi : G \to \Bbb C$ satisfying criteria 2. and 3., that it can be extended to a function $\chi: \Bbb Z \to \Bbb C$ by criteria 1; that is, making it periodic, modulo $q$.
Now let's look more closely at criterion 2. We already mentioned that we can view $\chi$ as a function $G \to \Bbb C$, could we also view it as a function $\chi: G^* \to \Bbb C$? Of course! And it turns out that not only is $\chi : G^* \to \Bbb C$ a function, it's a function that makes groups happy: A homomorphism! This is exactly what criterion 2 forces; we have $$\chi([ab]) = \chi([a][b]) = \chi([a])\chi([b]).$$
Now that we have a homomorphism, all sorts of wonderful things happen. For example, we know that $\chi$ only maps things to complex roots of unity. This is because the size of $G^*$ is $n = \phi(q)$, Euler's totient function. For $[a] \in G^*$, we have $[a]^n = [1]$, and since $\chi$ is a homomorphism, we have $$1 = \chi([1]) = \chi([a]^n) = \chi([a])^n = 1;$$ in particular, $\chi([a])$ is an $n$th root of unity.
Let $\hat{G^*}$ be the set of characters $G^*: \to \Bbb C$. The big question question is: How do we multiply characters $\chi_1$ and $\chi_2$?
One sensible choice would be to define \begin{align*}
\chi_1\chi_2: \Bbb G^* &\to \Bbb C\\
[a] &\mapsto \chi_1([a])\chi_2([a]).
\end{align*}
It seems reasonable that the character
\begin{align*}\hat{1}: G^* &\to \Bbb C\\ [a] &\mapsto 1\end{align*} would act as the identity character, and you can verify that it does.
We can define inverse characters pointwise; given $\chi \in \hat{G}^*$, we define $\chi^{-1}([a]) := (\chi([a]))^{-1} = \chi([a]^{-1})$.
Unfortunately, this is about as far as I've made it; but here's a reference to help you forward: http://www.math.uconn.edu/~kconrad/blurbs/grouptheory/charthy.pdf
These notes by K. Conrad have the theorem that we need, and it's theorem 3.12: That an abelian group is isomorphic to it's dual. I realize I've left only scattered and disjointed breadcrumbs, and stopped short of the main course! But hopefully the group of characters is slightly less mysterious.
