# Modulární počítání ## Eukleidův algoritmus 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$. **Definice** - Nechť $p \geq 1$ je přirozené číslo. Definujme na množině všech celých čísel relaci $\equiv$ (kongruenci modulo $p$) předpisem $x \equiv y$, pokud $p$ dělí rozdíl $x - y$. Zapisujeme $x \equiv y \quad (\text{mod } p)$. Pro $a \in \mathbb{Z}_{n}$ rozumíme opačným prvkem prvek $x \in \mathbb{Z}_{n}$ takový, že řeší rovnici $a \cdot x \equiv 1 \quad (\text{mod } n)$. Značíme jej $-a$. TODO