Here is another way to prove Euler's generalization. You do not need to know the formula of $\varphi(n)$ for this method which I think makes this method elegant.
Consider the set of all numbers less than $n$ and relatively prime to it. Let $\{a_1,a_2,...,a_{\varphi(n)}\}$ be this set.
Consider a number $c < n$ and relatively prime to it i.e. $c \in \{a_1,a_2,\ldots,a_{\varphi(n)}\}$.
First observe that for any $a_i$, $c a_{i} \equiv a_{j} \pmod{n}$ for some $j$.
(True since $c$ and $a_i$ are themselves relatively prime to $n$, their product has to be relatively prime to $n$).
And if $c a_{i} \equiv c a_{j} \pmod{n}$ then $a_i = a_j$.
(True as cancellation can be done since $c$ is relatively prime to $n$).
Hence, if we now consider the set $\{ca_1,ca_2,...,ca_{\varphi(n)}\}$ this is just a permutation of the set $\{a_1,a_2,...,a_{\varphi(n)}\}$.
Thereby, we have $\displaystyle \prod_{k=1}^{\varphi(n)} ca_k \equiv \prod_{k=1}^{\varphi(n)} a_k \pmod{n}$.
Hence, we get $\displaystyle c^{\varphi(n)} \prod_{k=1}^{\varphi(n)} a_k \equiv \prod_{k=1}^{\varphi(n)} a_k \pmod{n}$.
Now, note that $\displaystyle \prod_{k=1}^{\varphi(n)} a_k$ is relatively prime to $n$ and hence you can cancel them on both sides to get
$$c^{\varphi(n)} \equiv 1 \pmod{n}$$ whenever $(c,n) = 1$.
I would have gone for the $2$'s:
$$8^{103} = 2^{309} \equiv 2^9 \equiv 16\cdot 16 \cdot 2 \equiv 3\cdot 3\cdot2 \equiv 18 \equiv 5 \pmod{13},$$
still using Fermat's Little Theorem.
Best Answer
The statement that $a^p\equiv a\mod p$ is the same as $a^{p-1}\equiv 1\mod p$ when $a$ and $p$ are relatively prime, because in this case we can divide both sides of the congruence by $a$, and obtain one from the other.
Euler's theorem says that
$$a^{\phi(m)}\equiv 1\mod m,$$
where $\phi(m)$ is the number of integers less than $m$ and relatively prime to $m$. For a prime, this is exactly $p-1$, so Fermat's Little Theorem is a special case of Euler's theorem.