# Teorema cinese del resto

In matematica, il termine teorema cinese del resto comprende diversi risultati in algebra astratta e teoria dei numeri.

## Congruenza simultanea di interi

La formulazione originale del teorema, contenuta in un libro scritto nel III secolo dal matematico cinese Sun Tsu e successivamente ripubblicata in un libro del 1247 scritto da Qin Jiushao, è una affermazione riguardante le congruenze simultanee (si veda la voce aritmetica modulare). Si supponga che n$_1$, ..., n$_k$ siano interi a due a due coprimi (il che significa che MCD(n$_i$, n$_j$) = 1 quando i ≠ j). Allora, comunque si scelgano degli interi a$_1$, ..., a$_k$, esiste un intero x soluzione del sistema di congruenze
    $x\equiv a_{i}{\pmod {n_{i}}}\quad \mathrm {per} \;i=1,\ldots ,k.$
Inoltre, tutte le soluzioni x di questo sistema sono congruenti modulo il prodotto n = n$_1$...n$_k$.
Si può trovare una soluzione x come segue. Per ogni i gli interi n$_i$ e n/n$_i$ sono coprimi, e utilizzando l'algoritmo di Euclide esteso si possono trovare due interi r e s tali che r n$_i$ + s n/n$_i$ = 1. Ponendo e$_i$ = s n/n$_i$, si ottiene
    $e_{i}\equiv 1{\pmod {n_{i}}}\quad \mathrm {e} \quad e_{i}\equiv 0{\pmod {n_{j}}}\quad \mathrm {per} \quad j\neq i.$
Una soluzione del sistema di congruenze è quindi:
    $x=\sum _{i=1}^{k}a_{i}e_{i}.\$

### Trovare le soluzioni

Si definisca il seguente sistema (con $MCD(n_{1},n_{2})=MCD(n_{1},n_{3})=MCD(n_{2},n_{3})=1$):
${\begin{cases}x\equiv a_{1}{\pmod {n_{1}}}\\x\equiv a_{2}{\pmod {n_{2}}}\\x\equiv a_{3}{\pmod {n_{3}}}\end{cases}}$
Sia $N=n_{1}\cdot n_{2}\cdot n_{3}$
    $N_{1}=n_{2}n_{3}$
    $N_{2}=n_{1}n_{3}$
    $N_{3}=n_{1}n_{2}$
Siano poi $y_{i}$ le soluzioni alle congruenze $N_{i}y_{i}\equiv 1{\pmod {n_{i}}}$; la soluzione sarà data da:
    $x\equiv a_{1}N_{1}y_{1}+a_{2}N_{2}y_{2}+a_{3}N_{3}y_{3}{\pmod {N}}$
Nel caso in cui $MCD(n_{1},n_{2},n_{3})>1$ si sarebbe potuto scomporre il sistema di congruenze in un sistema più grande rendendo ogni $n_{i}$ primo. Ad esempio: ${\begin{cases}x\equiv 2{\pmod {6}}\\x\equiv 2{\pmod {3}}\end{cases}}$
sarebbe diventato
${\begin{cases}x\equiv 2{\pmod {3}}\\x\equiv 0{\pmod {2}}\\x\equiv 2{\pmod {3}}\end{cases}}$
ovvero
${\begin{cases}x\equiv 0{\pmod {2}}\\x\equiv 2{\pmod {3}}\end{cases}}$

## Enunciato per domini ad ideali principali

Per un dominio ad ideali principali R il teorema cinese del resto assume la forma seguente: se u$_1$, ..., u$_k$ sono elementi di R che sono a due a due coprimi, e u denota il prodotto u$_1$...u$_k$, allora l'anello quoziente R/uR e il prodotto di anelli R/u$_1$R x ... x R/u$_k$R sono isomorfi mediante l'omomorfismo di anelli
    $f:R/uR\rightarrow R/u_{1}R\times \cdots \times R/u_{k}R$
tale che
    $f(x+uR)=(x+u_{1}R,\ldots ,x+u_{k}R)\quad {\mbox{ per ogni }}x\in R.$
L'isomorfismo inverso può essere costruito come segue. Per ogni i, gli elementi u$_i$ e u/u$_i$ sono coprimi, e per questo esistono due elementi r e s in R tali che
    $ru_{i}+su/u_{i}=1.$
Sia e$_i$ = s u/u$_i$. Allora l'inverso di f è la mappa
    $g:R/u_{1}R\times \cdots \times R/u_{k}R\rightarrow R/uR$
tale che
    $g(a_{1}+u_{1}R,\ldots ,a_{k}+u_{k}R)=\left(\sum _{i=1}^{k}a_{i}e_{i}\right)+uR\quad {\mbox{ per ogni }}a_{1},\ldots ,a_{k}\in R.$
Si noti che questa formulazione è una generalizzazione del teorema precedente riguardante le congruenze di interi: l'anello Z degli interi è un dominio ad ideali principali, la suriettività della mappa f mostra che ogni sistema di congruenze nella forma
    $x\equiv a_{i}{\pmod {u_{i}}}\quad \mathrm {per} \;i=1,\ldots ,k$
può essere risolto per trovare la x, e la iniettività della mappa f mostra che tutte le soluzioni x sono congruenti modulo u.

## Enunciato per anelli generici

La forma generale del teorema cinese del resto, che implica tutte le formulazioni precedenti, può essere formulata per gli anelli e gli ideali. Se R è un anello e I$_1$, ..., I$_k$ sono ideali (bilateri) di R che sono coprimi a due a due (il che significa che I$_i$ + I$_j$ = R ogni volta che i ≠ j), allora il prodotto I di questi ideali è uguale alla loro intersezione, e l'anello quoziente R/I è isomorfo all'anello prodotto R/I$_1$ x R/I$_2$ x ... x R/I$_k$ mediante l'isomorfismo
    $f:R/I\rightarrow R/I_{1}\times \cdots \times R/I_{k}$
tale che
    $f(x+I)=(x+I_{1},\ldots ,x+I_{k})\quad {\mbox{ per ogni }}x\in R.$

## Applicazioni del teorema cinese del resto

Nell'algoritmo RSA i calcoli vengono fatti modulo $n$, dove $n$ è un prodotto di due numeri primi $p$ e $q$. Di solito la dimensione di $n$ è di 1024, 2048 o 4096 bit, cosa che rende i calcoli molto lunghi. Usando il teorema cinese del resto questi calcoli possono essere trasportati dall'anello $\mathbb {Z} _{n}$ all'anello $\mathbb {Z} _{p}\times \mathbb {Z} _{q}$. La somma delle dimensioni in bit di $p$ e $q$ è la dimensione in bit di $n$, in questo modo i calcoli vengono molto semplificati.
Un'altra applicazione potenziale del teorema cinese del resto è il problema di contare i soldati in un esercito. Il generale può fare allineare i soldati in gruppi di 2, 3, 5, 7, 11, e così via, e conta i soldati rimanenti che non possono formare gruppi completi. Dopo che è stato fatto un numero sufficiente di questi test, il generale può calcolare facilmente quanti soldati formano l'esercito, trasformando un conteggio che impiegherebbe alcune ore in un altro che impiega pochi minuti.
Il fatto che un numero molto grande possa essere rappresentato da un piccolo numero di resti relativamente piccoli è anche l'idea centrale dei sistemi di numeri residui.