Aritmetika modular

**Aritmetika modularra**, matematikaren esparruan, zenbaki osoko kongruentzia klaseetarako sistema aritmetikoa da. 1801ean Carl Friendrich Gaussek garatu zuen eta *Disquisitiones Arithmeticae* izeneko liburuan argitara eman zuen.

Erlojuaren aritmetika moduan ere ezagutzen da, orduak 12:00-etara iristean berriro 00:00-tik kontatzen hasten baitira; 12 orduko erlojua aritmetika modularraren adibide argia da. Erloju analogikoetan, eguna 12 orduko bi zatitan banatuta dago; goizeko 7:00-ak badira eta 8 ordu pasa badira, 15:00-ak izan beharko lirateke, baina 0tik 12ra kontatzen duenez, 3:00-ak direla esaten dugu. Modu berean, 12:00-ak badira eta 21 ordu pasa badira, 9:00-ak direla esaten dugu 33:00-ak direla esan beharrean, erlojuaren orratza 12:00-ra iristean berriro ere 0tik kontatzen hasten delako. Hori horrela izanik, erloju analogikoetan 12 moduluko aritmetika egiten dela esango dugu.

thumb|250px|eskuinera|Erloju horrek 12 moduluko aritmetika erabiltzen du.

## Kongruentzia erlazioa 
**Aritmetika modularra** era matematikoan eraikia izan daiteke zenbaki osoen arteko n moduluko **kongruentzia erlazioaren** bidez, batuketa, kenketa eta biderketa eragiketekin bateragarria dena. n \in \mathbb{Z},  \quad n >1 izanik, n moduluko kongruentzia erlazioa honela definitzen da:

*a* eta *b* zenbaki osoak kongruenteak dira modulu n, (*a* – *b*) zenbaki osoa n-ren multiploa bada, edo, beste modu batean esanda, n-k (*a* – *b*) zatitzen badu.

\exists k\in \mathbb{Z}  non  a - b = k\cdot n, hau da,  a = b + k\cdot n

Erlazioa era honetan adierazten da: a,b\in \mathbb{Z}  a \equiv b \pmod {n}

Adibideak:

38 \equiv 14 \pmod {12}, \quad 12 \; |\; (38-14),\quad \exists k \in \mathbb{Z} \quad non \quad 38-14=k\cdot 12, \quad 24=k \cdot 12 \Rightarrow k=2\in \mathbb{Z} 

Kasu honetan argi ikusten da 38 – 14 = 24, 12ren multiploa dela, 12 x 2 = 24 baita. a,b\in \mathbb{Z} zenbaki negatiboetarako adibideak:

\begin{align}
-8 &\equiv 7 \pmod 5, \quad 5\;|(-8-7), \quad \exists k \in \mathbb{Z} \quad non \quad -8-7=5\cdot k, \quad -15=5\cdot k \Rightarrow k=-3\in \mathbb{Z}\\[1ex]

2 &\equiv -3 \pmod 5, \quad 5\;|(2-(-3)), \quad \exists k \in \mathbb{Z} \quad non \quad 2-(-3)=5\cdot k, \quad 5=5\cdot k \Rightarrow k=1\in \mathbb{Z}\\[1ex]

-3 &\equiv -8 \pmod 5, \quad 5\;|(-3-(-8)), \quad \exists k \in \mathbb{Z} \quad non \quad -3-(-8)=5\cdot k, \quad 5=5\cdot k \Rightarrow k=1\in \mathbb{Z}.
\end{align}

## Hondarrak 
Aritmetika modularra zatiketa Euklidearrarekin erlazionatuta dago. Izan ere, zatiketa Euklidearraren hondarra bilatzearen eragiketari "modulu eragiketa" ere deitu ohi zaio, eta “mod” aurrizkiaren bidez adieri ohi da. Horrela, adibidez, 14 eta 12ren arteko zatiketaren hondarra *14 mod 12* moduan adieraz daiteke. Hondar hori 2 denez, *14 mod 12 = 2* idazten da.

Azken batean *a* eta *b* bi zenbaki oso kongruenteak direla modulu n esaten dugunean, zera adierazi nahi dugu: n balioaz zatitzean lortzen den hondarra bietarako berbera dela.

a \equiv b \pmod {n}

eta

a \pmod {n} = b \pmod {n}

adierazpenak baliokideak dira.

Gogoan izan behar da hondarra beti zenbaki oso positiboa dela.

Adibideak (12 moduluko kongruentziarako eta 5 moduluko kongruentziarako):

 38 \equiv 14 \pmod {12}, \quad 38=12\cdot 3+2, \quad 14=12\cdot 1+2. Hondarra 2 da.

-8 \equiv 7 \pmod 5, \quad -8=5\cdot (-2)+2, \quad  7=5\cdot 1+2. Hondarra 2 da.
   2 \equiv -3 \pmod 5, \quad  2=5\cdot 0+2, \quad -3=5\cdot (-1)+2. Hondarra 2 da.
-3 \equiv -8 \pmod 5,\quad -3=5\cdot (-1)+2, \quad  -8=5\cdot (-2)+2. Hondarra 2 da.

Hortaz, 5 moduluko kongruentzian -8, 2, -3 eta 7 kongruenteak dira haien artean; 5 balioaz zatitzean 2-ko hondarra lortu da kasu guztietan.

### Hondarraren teorema txinatarra 
Demagun *n1,n2,...,nk* zenbaki oso eta binaka elkarrekiko lehen ditugula. Orduan, emandako a*1,a2,...,ak* -entzako existitzen da *x* zenbaki oso bat kongruentzien sistemaren soluzio bakarra dena N =n_1*n_2*...*n_k
 moduluarekiko.

x \equiv a_1 \pmod {n_1}

x \equiv a_2 \pmod {n_2}

...

x \equiv a_k \pmod {n_k}

Eta sistemaren *x* soluzio guztiak  y \equiv x \pmod {N} dira. 

## Fermaten teorema txikia eta Eulerren teorema 
Fermaten teorema txikia erabiltzen da bi moduluak zenbaki lehenak direnean. 

Izan bedi *p zenbaki lehena eta edozein a*\in \mathbb{\N}:

{\displaystyle a^{p-1}\equiv 1{\pmod {p}}}

*Froga:*

Har ditzagun *a, 2a,... (p-1)a* zenbakiak eta ohartu zerrenda horretan ez daudela bi zenbaki *p* moduluarekiko kongruenteak direnak. Izan ere, {\displaystyle xa\equiv yb{\pmod {p}}} bada, *(x-y)a p*-ren pultiploa da, baina *p* lehena denez eta ez duenez *a* zatitzen, *(x-y)* zatituko du. Beraz, *x-y=0* da, x,y\in {{\{1,2,... (p-1)\}}} direlako.

Hartutako bi zenbakiak, *p*-rekin zatitzean hondar desberdinak ematen dituzte eta ez dago *p*-ren multiplorik haien artean. Beraz, {\displaystyle {\displaystyle a*2a*...*(p-1)a\equiv 1*2*...*(p-1){\pmod {p}}}} edo {\displaystyle {\displaystyle a^{p-1}(p-1)!\equiv (p-1)!{\pmod {p}}}}.Azken formula honetatik, hasierako formulara heltzen gara; izan ere, *zki(p,(p-1)!)=1*.

Expresio hau orokortu zuen Eulerrek eta ondoko korolarioa enuntziatu zuen: edozein n \in \mathbb{Z} eta horrekiko lehena den edozein a \in \mathbb{Z}{\displaystyle {\displaystyle a^{\phi(n)}\equiv 1{\pmod {n}}}}, non \phi(n) Eulerren phi funtzioa adierazten du, zeinak 1-etik n-rainoko n-rekiko zenbaki lehen oso guztiak kontatzen ditu. Eulerren teorema, Lagrangeren teoremaren ondorio bat da, ℤ/*n*ℤ taldeko eraztuneko unitateen kasuari aplikatuta.

## Eragiketak 
Esan bezala, **kongruentzia erlazioa**, batuketa eta biderketa modularrarekin bateragarria da.

### Batuketa modularra 
Baldin eta

a_1 \equiv b_1 \pmod {n}

eta

a_2 \equiv b_2 \pmod {n}

orduan

a_1 + b_1 \equiv a_2 + b_2 \pmod {n}

a_1 - b_1 \equiv a_2 - b_2 \pmod {n}

Adibidea:

38 \equiv 14 \pmod {6} \quad  eta  \quad 26 \equiv 8 \pmod {6} \quad  izanik,

 \begin{align}
38 + 14 \equiv 26 + 8 \pmod {6}  \quad \Rightarrow  \quad 52 \equiv 34 \pmod {6} & \quad   \Rightarrow  \quad34=5\cdot 6+4\\
& \quad   \Rightarrow  \quad 52=8\cdot 6+4\\[1ex]
38 - 14 \equiv 26 - 8 \pmod {6}  \quad \Rightarrow  \quad 24 \equiv 18 \pmod {6} & \quad
  \Rightarrow  \quad 24=4\cdot 6+0\\
& \quad   \Rightarrow  \quad 18=3\cdot 6+0.
\end{align}

Ondorioz, batuketa modularra horrela idatz daiteke:

(a \!\!\!\!\mod n)\, + \,(b\!\!\!\!\mod n) \equiv a+b \pmod n

edo, bere baliokidea dena:

((a \!\!\!\!\mod n)\, + \,(b\!\!\!\!\mod n)) \!\!\!\!\mod n =  (a+b) \!\!\!\!\mod n

### Biderketa modularra 
Baldin eta

a_1 \equiv b_1 \pmod {n}

eta

a_2 \equiv b_2 \pmod {n}

orduan

a_1 b_1 \equiv a_2 b_2 \pmod {n}

Adibidea:

38 \equiv 14 \pmod {6}  \quad  eta   \quad 26 \equiv 8 \pmod {6} \quad  izanik,

 \begin{align}
38 \cdot 14 \equiv 26 \cdot 8 \pmod {6}  \quad \Rightarrow  \quad 532 \equiv 208 \pmod {6} & \quad  \Rightarrow  \quad 532=88\cdot 6+4\\
& \quad  \Rightarrow  \quad 208=34\cdot 6+4\\[1ex]
\end{align}

Ondorioz, biderkadura, aritmetika modularraren oinarrizko propietatea dena, horrela idatzia izan beharko litzateke:

(a \!\!\!\!\mod n)\,(b\!\!\!\!\mod n) \equiv ab \pmod n

edo, bere baliokidea dena:

((a \!\!\!\!\mod n)\,(b\!\!\!\!\mod n)) \!\!\!\!\mod n =  (ab) \!\!\!\!\mod n

### Berreketa modularra 
 a, n \in \mathbb{Z},  \quad x \geq 0 \quad izanik,  a^x  berreketa biderketen bidez kalkulatzean,

*x* berretzailea handia denean bi arazo mota sortzen dira:

•  a^x  handiegia da: kalkulatu nahi izateak arazoak sor ditzake.

• *a* zenbakia bere buruarekin *x − 1* aldiz biderkatu behar da: Biderketa kopuru handia.

Aritmetika modularrean,  a^x \pmod n  kalkulatzean:

• Zenbaki handiegien arazoa ekiditen da, ez dago  a^x  kalkulatu beharrik, horrela eragiten delako.

  ((a \pmod n) \cdot (b \pmod n)) \pmod n = (a \cdot b) \pmod n  

• Berreketa bitarraren metodoa. *x* berretzailearen adierazpen bitarra erabiliz biderketa kopuru minimoa kalkulatuko da.

### Alderantzizko modularra 
 \mathbb{Z}  multzoko elementu guztiek ez dute alderantzizkorik, ezta  \mathbb{Z}_n  multzoko guztiek alderantzizko modularrik ere.

*a* elementua alderantzikagarria izateko  a \cdot a^{-1} = 1  beteko
duen  a^{-1}  existitu behar da multzoan.

#### Alderantzizko modularraren existentzia 
 a^{-1} \pmod n  existitzen da baldin eta soilik baldin  zkh(a, n) = 1  bada.

 \mathbb{Z}_n  multzoan alderantzikagarri diren elementuen multzoa  \mathbb{Z}^*_n  da.

*n* moduluko hondarren multzo murriztua:

 \mathbb{Z}^*_n = \{a \in \mathbb{Z}_n : zkh(a, n) = 1\} .

Alderantzizko modularra existitzen denean,  a^{-1} \pmod n  kalkulatzeko Euklidesen algoritmoa erabiltzen da.

#### Alderantzizko modularraren kalkulua Euklidesen algoritmoa erabiliz 
Izan bitez  a, n \in \mathbb{Z} lehen erlatiboak,  zkh(a, n) = 1 .

Dakigunez,  \exists x, y \in \mathbb{Z}  non   xa + yn = zkh(a, n) .

Hortaz,

 zkh(a, n) = 1  \quad \Leftrightarrow  \quad \exists \; x, y \in \mathbb{Z}  \quad  non   \quad ax + ny = 1 .

*a*-ren alderantzizkoa modulu n *x* dela ondoriozta daiteke horrela:

  ax + ny = 1 \Rightarrow ax=1+(-y)\cdot n \Rightarrow ax \equiv 1 \pmod n 
 \Rightarrow a^{-1} \equiv x \pmod n 

Euklidesen algoritmoa erabiliz *x* kalkulatzen da, hau da,  a^{-1} .

## Kongruentzia klaseak 
n moduluko kongruentzia baliokidetasun erlazioa da. *a* zenbaki osoaren baliokidetasun klasean honako elementuak daude:

'*[*a*]={…, *a* - 2*n*, *a* - *n*, *a*, *a* + *n*, *a* + 2*n*,…}*'

Multzo horretan *a* elementua dago, eta harekin kongruente modulu n diren gainerako zenbaki oso guztiak ere. Multzoa [*a*] notazioaz adierazten da eta *a*-ren kongruentzia klasea dela esaten da.

## Aplikazioak 
Aritmetika modularrak zenbait aplikazio ditu, bai zenbaki teorian, bai aljebra abstraktuan, bai kriptografian, baita arte bisual eta musikaletan ere.

Gaur egun konputagailu gehienetan egiten diren eragiketa aritmetikoak modularrak dira, modulua 2b izanik (b = eragiketako balioen bit kopurua). Eragiketa modularrak programazio-lengoaia askotan eta kalkulagailuetan inplementatuta daude. XOR 2 biten batuketa da, modulu 2. "Int"-en gaineko eragiketa aritmetiko guztiak, esaterako, modulu 232 hartzen dira konputagailu gehienetan.

Musikan, 12 moduluko aritmetika erabiltzen da eskala dodekafonikoaren azterketan, non zortzigarrena eta baliokidetasun enarmonikoa produzitzen dituen (hots, 1∶2 edo 2∶1 erlazioak baliokideak dira eta Do# eta Reb bera dira).

Arte bisualetan, aritmetika modularra patroi artistikoak sortzeko erabili daiteke, modulu *n* biderketa tauletan oinarrituta.

Aritmetika modularra sarritan erabiltzen da identifikatzaileen barnean erabiltzen diren kontrol baturak kalkulatzeko. Esate baterako, Nazioarteko kontu-korronteen zenbakiak (IBAN), modulu 97 eragiketa aritmetikoa erabiltzen du bankuko kontu korronteetan erabiltzaile-sarrera akatsak harrapatzeko.

Kriptografian, aritmetika modularra RSA eta Diffie-Hellman-en zifratze-protokoloa bezalako gako publikoen sistemen oinarria da; kriptografia simetrikoa erabiltzen da, horien artean, zifratze estandar aurreratua (AES-a), datuak zifratzeko nazioarteko algoritmoa (IDEA) eta RC4. RSA-k eta Diffie-Hellman-en zifratze-protokoloak berreketa modularra darabilte.

Ikuspegi orokorrago batetik, aritmetika modularrak beste zenbait aplikazio ditu, bai zuzenbidean, bai ekonomian, baita giza-zientzien beste area batzuetan ere, non zatiketa proportzionalak eta errekurtso-esleipenak analisiaren zati garrantzitsua jokatzen baitute.

## Kanpo estekak