Algoritmus pro nalezení největšího společného dělitele čísel $a$ a $b$. Největšího společného dělitele označíme jako $\gcd(a, b)$.
Mějme $a = 57, b = 27$. Platí, že $c = \gcd(a, b)$ dělí $a$ a rovněž $b$, dělí tedy i rozdíl $a-b = 30$. Pokud nyní najdeme $\gcd(30, 27)$, získáme i $\gcd(57, 27)$. Aplikacím tohoto postupu dostaneme postupně $\gcd(30, 27) = \gcd(3, 27) = 3$, tedy i $\gcd(57, 27) = 3$.
## Modulární aritmetika
Ekvivalence $\sim$ na množině $X$ je relace na $X$, která je reflexivní, symetrická a tranzitivní.
Ekvivalence, která zachovává operace definované na množině, se nazývá **kongruence**. Jedna z takových kongruencí je například kongruence modulo $p$.
Motivace: při počítání hodin je pro nás obvykle 13 hodin to stejné, jako 1 hodina.
**Definice**: Mějme $p \geq 1$ a celá čísla $a, b \in \mathbb{Z}$. Relaci $\equiv (\text{mod }p)$ na množině $\mathbb{Z}$ nazveme **kongruencí modulo** $p$, kterou značíme $a \equiv b \space (\text{mod }5)$, jestliže $n$ dělí $b - a$.
- předpis: $a \equiv b \space (\text{mod }p) \iff (b - a) \text{ je dělitelné } p$
**Příklad**: Z hodin víme, že $21 \equiv 9 \space (\text{mod }12)$. Zkouška podle definice: $9−21 = −12$, což je dělitelné dvanácti. Jiný příklad: $(-2) \equiv 13 \space (\text{mod }5)$, protože $13 - (-2) = 15$, což je dělitelné pěti.
### Zbytkové třídy
Kongruence modulo $p$ je ekvivalence, její třídy ekvivalence nazýváme **zbytkové třídy** a označujeme $\mathbb{Z}_{p}(i), i = 0, \dots, p-1$.
Každá z $p$ tříd této ekvivalence je **tvořena všemi čísly**, která **při dělení číslem** $p$ dávají **tentýž zbytek**.
**Operace**: Na množině $\mathbb{Z}_{p}$ definujeme operace $\oplus$ a $\otimes$ předpisem:
5) distributivita: $\quad a \otimes (b \oplus c) = (a \otimes b) \oplus (a \otimes c)$,
kde $0 = \mathbb{Z}_{p}(0)$ a $1 = \mathbb{Z}_{p}(1)$.
## Aritmetika modulo $p$
**Definice**
- Nechť $p \geq 1$ je přirozené číslo. Pro každou zbytkovou třídu $\mathbb{Z}_{p}$ vybereme jednoho **reprezentanta**, tedy prvek v intervalu $\langle 0, p-1 \rangle$.