# Aritmetica modulare

L'aritmetica modulare (a volte detta aritmetica dell'orologio poiché su questo principio si basa il calcolo delle ore a cicli di 12 o 24) rappresenta un importante ramo della matematica. Trova applicazioni nella crittografia, nella teoria dei numeri (in particolare nella ricerca dei numeri primi) ed è alla base di molte delle più comuni operazioni aritmetiche e algebriche.
Si tratta di un sistema di aritmetica degli interi, in cui i numeri "si avvolgono su loro stessi" ogni volta che raggiungono i multipli di un determinato numero $n$, detto modulo. Per capire, si pensi al funzionamento di un orologio in formato da 12 ore: trascorse quest'ultime "si ricomincia" dal numero 1 a contare le ore. Dire "sono le 3 del pomeriggio" (formato 12 ore) equivale a dire "sono le 15" (formato 24 ore). Tradotto in termini matematici, significa che $15\equiv 3{\pmod {12}}$. Si legge, $15$ è congruente a $3$, modulo $12$.
L'aritmetica modulare e la notazione usuale delle congruenze vennero formalmente introdotte da Carl Friedrich Gauss nel suo trattato Disquisitiones Arithmeticae, pubblicato nel 1801.

## La relazione di congruenza

L'aritmetica modulare si basa sul concetto di congruenza modulo $n$.
Dati tre numeri interi $a$, $b$, $n$ con $n\neq 0$, diciamo che $a$ e $b$ sono congruenti modulo $n$, oppure che $a$ è congruo a $b$ modulo $n$, se la differenza $a-b$ è un multiplo di $n$. In questo caso scriviamo
    $a\equiv b{\pmod {n}}.$
In simboli la definizione di congruenza modulo $n$ si può esprimere
    $a\equiv b{\pmod {n}}\iff \exists \ k\in \mathbb {Z} |\ a-b=k\cdot n$
Per esempio, possiamo scrivere
    $38\equiv 14{\pmod {12}}$
poiché $38-14=24$, che è un multiplo di $12$.
Nel caso entrambi i numeri siano positivi, si può anche dire che $a$ e $b$ sono congruenti modulo $n$ se hanno lo stesso resto nella divisione per $n$. Quindi possiamo anche dire che $38$ è congruo a $14$ modulo $12$ poiché sia $38$ sia $14$ hanno resto $2$ nella divisione per $12$.

### Proprietà delle congruenze
#### Relazione di equivalenza

La congruenza è una relazione di equivalenza tra numeri interi, come si evince dalle seguenti proprietà:
* Proprietà riflessiva: ogni numero è congruo a sé stesso modulo $n$, per ogni $n$ diverso da $0$:
       $a\equiv a{\pmod {n}},\qquad \forall a\in \mathbb {N} ,\ \forall n\in \mathbb {N} _{0}.$
       Dimostrazione: si ha $a-a=0$ e, come è noto, ogni intero non nullo è divisore di $0$. Quindi $n$ divide $a-a$.
* Proprietà simmetrica: se $a$ è congruo a $b$ modulo $n$ allora $b$ è congruo ad $a$ modulo $n$:
       $a\equiv b{\pmod {n}}\implies b\equiv a{\pmod {n}},\qquad \forall a,b\in \mathbb {N} ,\forall n\in \mathbb {N} _{0}.$
       Dimostrazione: se $n$ divide $a-b$ , allora $n$ divide anche l'opposto $b-a=-(a-b)$.
* Proprietà transitiva: se $a$ è congruo a $b$ modulo $n$ e $b$ è congruo a $c$ modulo $n$, allora anche $a$ è congruo a $c$ modulo $n$:
       $a\equiv b{\pmod {n}}\quad \land \quad b\equiv c{\pmod {n}}\implies a\equiv c{\pmod {n}},\qquad \forall a,b,c\in \mathbb {N} ,\forall n\in \mathbb {N} _{0}.$
       Dimostrazione: se $n$ divide $a-b$ e $n$ divide $b-c$, allora, per la proprietà distributiva della divisione rispetto alla somma, $n$ divide anche $(a-b)+(b-c)=a-b+b-c=a-c$.

#### Invarianza rispetto alle operazioni aritmetiche

Un'altra importante caratteristica della relazione di congruenza è il fatto di essere preservata dalle usuali operazioni aritmetiche tra interi:
* Invarianza per addizione: aumentando o diminuendo della stessa quantità due numeri congruenti modulo $n$, i nuovi numeri ottenuti sono ancora congruenti tra loro modulo $n$. Più sinteticamente
       $a\equiv b{\pmod {n}}\Leftrightarrow (a+c)\equiv (b+c){\pmod {n}},\qquad \forall a,b,c\in \mathbb {Z} ,\forall n\in \mathbb {N} _{0}.$
       Dimostrazione: $a-b=a-b+c-c=(a+c)-(b+c).$
* Invarianza per moltiplicazione: moltiplicando per una stessa quantità due numeri congruenti modulo $n$, i nuovi numeri ottenuti sono ancora congruenti tra loro modulo $n$.
       $a\equiv b{\pmod {n}}\Rightarrow a\cdot c\equiv b\cdot c{\pmod {n}},\qquad \forall a,b,c\in \mathbb {Z} ,\forall n\in \mathbb {N} _{0}.$
       Dimostrazione: se $n$ divide $a-b,$ allora $n$ divide $(a-b)\times c.$
       Nota: Si può invertire questa proprietà solo se $\mathrm {MCD} (n,c)=1.$
* Invarianza rispetto all'elevamento a potenza: elevando due numeri congrui modulo $n$ alla stessa potenza $k$, i numeri ottenuti sono ancora congrui tra loro modulo $n$.
       $a\equiv b{\pmod {n}}\Rightarrow a^{k}\equiv b^{k}{\pmod {n}},\qquad \forall a,b\in \mathbb {Z} ,\forall k\in \mathbb {N} ,\forall n\in \mathbb {N} _{0}.$
       Dimostrazione: se $a\equiv b\equiv 0{\pmod {n}},$ la proposizione è banale. Se $a\equiv b{\pmod {n}},$ non è nullo, si supponga che $a^{k-1}\equiv b^{k-1}{\pmod {n}}$. Moltiplicando entrambi i termini per $a$ grazie all'invarianza per moltiplicazione, avremo $a^{k}\equiv b^{k-1}\cdot a{\pmod {n}}$. Partendo dalla congruenza $a\equiv b{\pmod {n}}$ e moltiplicando entrambi i membri per $b^{k-1}{\pmod {n}}$, sempre grazie all'invarianza per moltiplicazione, si ottiene: $a\cdot b^{k-1}\equiv b^{k}{\pmod {n}}$. Confrontando le due espressioni e utilizzando le proprietà simmetrica e transitiva si deduce che $a^{k}\equiv b^{k}{\pmod {n}}$. Poiché la proposizione è vera per $k=1$ e l'essere vera per $k-1$ implica che essa sia vera per $k$, per il principio di induzione la proposizione è vera per ogni $k$.

## Le classi di resto modulo n

Le proprietà riflessiva, simmetrica e transitiva descritte sopra indicano che la relazione di congruenza modulo $n$ è una relazione di equivalenza e definisce quindi un insieme quoziente.
La divisione euclidea di un intero $a$ per $n$, con $n\neq 0,$ per cui
    $a=k\times n+r$
ovvero
    $a-r=k\times n$
consente di suddividere l'insieme $\mathbb {Z}$ degli interi in $n$ classi (sottoinsiemi) secondo la seguente relazione di equivalenza: si dice che un intero $a$ è equivalente a $r{\pmod {n}}$ se e solo se la differenza $a-r$ è un multiplo relativo di $n$. Si definisce così l'insieme quoziente di $\mathbb {Z}$ rispetto a tale relazione di equivalenza e formato dalle $n$ classi
    $[0],[1],\ldots ,[n-2],[n-1]$
chiamate classi di resto modulo $n$.
Ciascuna classe di resto $[r]$ rappresenta, oltre a $r$ stesso, tutti i numeri interi della forma $a=k\times n+r$ per qualche intero $k$.
Ad esempio, nella congruenza modulo 7, la classe di resto [5] rappresenta, oltre al numero 5, anche il numero 12 (=1×7 + 5), il numero 19 (=2×7 + 5), il numero 2308 (=329×7 + 5) ecc. Inoltre [5] rappresenta anche il numero -2 (= -1×7 + 5), il numero -9 (= -2×7 + 5) e così via.

### L'aritmetica delle congruenze modulo n

Le invarianze descritte sopra rispetto a somma e moltiplicazione indicano che queste operazioni sono ben definite anche al quoziente. Queste operazioni continuano a soddisfare le proprietà commutativa, associativa e distributiva. Gli elementi neutri per l'addizione e la moltiplicazione sono le classi $[0]$ e $[1].$
Le classi modulo $n$ con la somma formano un gruppo abeliano: più precisamente, formano un gruppo ciclico finito. Con somma e prodotto formano un anello. Diversamente da quanto accade per i numeri interi, il prodotto di due elementi non nulli può essere nullo. Ad esempio:
    $[2]\cdot [3]=[6]=[0]$ se $n=6.$
Questo non succede però quando $n$ è un numero primo: infatti in questo caso le classi formano un dominio d'integrità e anche un campo.
Tra le proprietà delle operazioni troviamo le seguenti:
* $[a]+[b]=[a+b];$
* $[ab]=[a][b].$

## Radici primitive

A causa dell'eventuale presenza dei divisori dello 0, generalmente $\mathbb {Z} _{n}-\{0\}$ non è un gruppo con il prodotto. Infatti i divisori dello 0 non hanno inversi. Invece quando non esistono divisori dello 0 non nulli, cioè nei casi con $n$ primo, la moltiplicazione forma un gruppo moltiplicativo e l'anello $\mathbb {Z} _{n}$ è un campo. Tuttavia se ci si restringe alle classi i cui rappresentati sono coprimi con $n$, questa proprietà riappare. È facile dimostrarlo facendo ricorso all'identità di Bézout: se $a$ è coprimo con $n$, esistono due interi $x$ e $y$ tali che
    $ax+ny=1$
ossia, riducendo modulo $n$,
    $ax\equiv 1\mod n$
e quindi ogni $a$ ha un inverso. Inoltre la moltiplicazione continua a essere interna all'anello e a possedere le proprietà associativa e commutativa, e la classe $[1]$ è l'elemento neutro.
Un risultato importante, trovato già da Gauss, è che questo gruppo è ciclico se e solo se $n$ è 2, 4, la potenza di un numero primo dispari oppure il doppio della potenza di un numero primo dispari. I generatori di questo gruppo ciclico sono a volte detti radici primitive modulo $n$.

## Polinomi in aritmetica modulare

Anche in $\mathbb {Z} _{n}$ è possibile, attraverso le operazioni definite prima, parlare di polinomi. Le proprietà di questi differiscono in molti casi dalle proprietà "abituali" osservate quando si considerano polinomi su campi come $\mathbb {Q}$ o $\mathbb {R}$, oppure su anelli come $\mathbb {Z}$. Ad esempio, il principio di identità dei polinomi (due polinomi assumono valori uguali se e solo se i loro coefficienti sono ad uno ad uno uguali) non vale, sebbene valga una sua versione modificata.
Anche nello studio di questo soggetto, così come nella maggior parte dell'aritmetica modulare, si distinguono due tipi molto diversi di comportamento di $\mathbb {Z} _{n}$: quando $n$ è primo e quando $n$ è composto. In quest'ultimo caso, non essendo $\mathbb {Z} _{n}$ né un campo né un dominio d'integrità, il comportamento dei polinomi può essere molto "strano": ad esempio, la congruenza polinomiale di 2º grado $x^{2}-1\equiv 0{\bmod {8}}$ ha quattro soluzioni (1, 3, 5 e 7) quando in campi infiniti come i razionali, i reali o i complessi il numero delle soluzioni non può superare il grado del polinomio.

### Irriducibilità

Gli anelli $\mathbb {Z} _{p}$ forniscono anche un modo per studiare l'irriducibilità dei polinomi a coefficienti interi e quindi, per il lemma di Gauss, anche di quelli a coefficienti razionali. Infatti se un polinomio è riducibile nell'anello $\mathbb {Z} [x]$ dei polinomi a coefficienti interi come $f(x)=g(x)h(x),$ allora lo stesso vale modulo un qualsiasi primo $p$:
    $[f(x)]_{p}\equiv [g(x)]_{p}[h(x)]_{p}\mod p.$
Questa proprietà può essere sfruttata per costruire un criterio di irriducibilità: se un polinomio non si fattorizza in $\mathbb {Z} _{p}[x]$, con $p$ primo che non divide il coefficiente del termine di grado massimo, allora non si fattorizza, ossia è irriducibile, nell'anello $\mathbb {Z} [x]$.
Il viceversa non è vero: $f(x)=x^{2}+1$ è irriducibile in $\mathbb {Z} [x]$, ma in $\mathbb {Z} _{5}[x]$ si fattorizza come
    $x^{2}+1\equiv (x+2)(x+3)\mod 5.$

## Equazioni diofantee

Allo stesso modo dello studio dell'irriducibilità dei polinomi, nello studio delle equazioni diofantee si studia a volte la stessa equazione modulo un intero $n$ per fornire condizioni necessarie alla risolubilità dell'equazione stessa. Ad esempio l'equazione
    $x^{3}+7y^{3}=2$
non può avere soluzioni intere, perché se esistesse una soluzione $(x_{0},y_{0})$ questa sarebbe tale anche nell'anello delle congruenze modulo 7; cioè dovrebbe essere risolubile la congruenza
    $x^{3}+7y^{3}\equiv 2\mod 7$
    $x^{3}\equiv 2\mod 7$
che non ha soluzioni, perché i possibili valori che assume $x^{3}\mod 7$ sono 0, 1 e 6.

## Notazione

L'insieme di tutte le classi di congruenza di modulo $m$ è chiamato anello degli interi di modulo $m$ e può essere indicato con le notazioni Z/mZ{\textstyle \mathbb {Z} /m\mathbb {Z} }, $\mathbb {Z} /m$ oppure $\mathbb {Z} _{m}$. Tuttavia, la notazione $\mathbb {Z} _{m}$ è solitamente sconsigiata perché può essere confusa con quella che indica un numero p-adico e appartenente al sistema numerico corrispondente.