multzoa
zatiketarako itxia ez bada ere, badira kasu batzuk non zenbaki oso batek beste bat zehazki zatitzen duen. Esaterako,
-ak
-a zehazki zatitzen du (
). Hau da,
zati 4 egitean, zatiduratzat
zenbaki osoa eta hondartzat
lortuko ditugu.
Definizioa.
zenbakiak emanik,
izanik, esango dugu
zenbakiak
zenbakia zatitzen duela, eta
adieraziko dugu, baldin
Hori gertatzen denean, esango dugu
zenbakia
zenbakiaren zatitzaile bat dela, edo
zenbakia
zenbakiaren multiplo bat dela.
Hitzarmena.
idazten dugunean,
dela suposatuko dugu.
bada, berehala egiazta daiteke emaitza hau: ![{\displaystyle a\mid b\;\Rightarrow \;a\leq b}](https://wikimedia.org/api/rest_v1/media/math/render/svg/da89136d8b1c2f87fdcbf98f9bdaccc20d6f0383)
Ondoko teoreman zatigarritasunaren propietate batzuk frogatuko ditugu.
Teorema. [propietateak]
emanik,
;
;
. (
)
. (
)
. (
)
. (
)
. (
)
Froga.
Hortaz,
eta
. Bestalde,
Hortaz,
.
- Hasteko daukagu,
, hau da,
![{\displaystyle k_{1},k_{2}\in \mathbb {Z} {\mbox{ izanik}}\Rightarrow \;k_{1}k_{2}=1,\;k_{1},k_{2}\in \mathbb {Z} {\mbox{ izanik}}\;\Rightarrow \;\left.{\begin{array}{c}k_{1}=k_{2}=1\\\vee \\k_{1}=k_{2}=-1\end{array}}\right\}\;\Rightarrow \;\left.{\begin{array}{c}a=b\\\vee \\a=-b.\end{array}}\right.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fb3044ec03b45ceaee29b165a28d31210d62bebb)
- Kasu honetan
daukagu,
.
- Edozein
emanik, ![{\displaystyle a\mid b\;\Rightarrow \;b=ka,\;k\in \mathbb {Z} {\mbox{ izanik}}\;\Rightarrow \;xb=x(ka)=(xk)a,\;xk\in \mathbb {Z} {\mbox{ izanik}}\;\Rightarrow \;a\mid xb.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/dd5f174f191a9ec6b97f1796d20309c4bc75f40b)
- Edozein
emanik,
![{\textstyle \Box }](https://wikimedia.org/api/rest_v1/media/math/render/svg/9c347094c0b826932542363dcdf4fb94975ec32d)
emanik,
adierazpenari
zenbakien konbinazio lineal deituko diogu.
zenbakiak
eta
zenbakiak zatitzen baditu, [propietateak]-5 Teoremaren arabera,
zenbakiak
eta
zenbakien edozein konbinazio lineal zatituko du. Propietate hori zabal daiteke honela:
emanik,
adierazpenari
zenbakien konbinazio lineal deituko diogu.
zenbakiak
zenbakiak zatitzen baditu,
zenbakiak
zenbakien edozein konbinazio lineal zatituko du: ![{\displaystyle a\mid b_{i},\;i=1,\cdots ,n\;\Rightarrow \;(\forall x_{1},\cdots ,x_{n}\in \mathbb {Z} )\quad a\mid x_{1}b_{1}+\cdots +x_{n}b_{n}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3df9b854047ecac792161d274836529be9f3d596)
Adibidea. [Grimaldi4.20] Ba al daude
ekuazioa betetzen duten zenbaki osoak?
Demagun
zenbaki oso horiek daudela.
,
eta
betetzen direnez,
ere beteko litzateke; baina hori ez da gertatzen. Hortaz, ez daude ekuazioa betetzen duten
zenbaki osoak.
Definizioa. Izan bedi
,
.
Esango dugu
zenbaki lehena dela bere zatitzaile positibo bakarrak
eta
badira:
eta esango dugu
zenbaki konposatua dela ez bada lehena:
Adibidea.
zenbaki konposatua da,
delako eta
,
,
,
,
eta
zatitzaileak dituelako.
zenbaki lehena da,
delako eta bere zatitzaile positibo bakarrak
eta
direlako.
Hurrengo Teoreman zenbaki lehenen eta konposatuen arteko erlazio bat frogatuko dugu.
Teorema. [lekon] Zenbaki konposatu orok zatitzaile lehenen bat dauka. Hau da,
,
emanik,
Froga.
Izan bedi
zatitzaile lehenik ez duten zenbaki oso konposatu guztien multzoa:
Frogatuko dugu, absurdora eramanez,
dela.
Demagun
dela.
multzoa
multzoaren azpimultzo ez-hutsa denez, ordena onaren printzipioaren arabera,
multzoak lehen elementua izango du,
.
denez,
konposatua da; beraz,
badaude, non
den,
izanik.
da
multzoaren minimoa eta
da; beraz,
beteko da. Hortaz,
lehena da edo zatitzaile lehenen bat dauka.
lehena bada,
lehena da eta
betetzen da.
zenbakiak
zatitzaile lehen bat badauka,
lehena da eta
eta
; hortaz,
.
Bi kasuetan kontraesan bat aurkitu dugu,
zenbakiak ez baitauka zatitzaile lehenik. Hortaz,
da, eta zenbaki konposatu orok zatitzaile lehenen bat badauka.
Teorema. (Euklides, Elementuak, IX, 20)
Infinitu zenbaki lehen daude.
Froga.
Absurdora eramanez frogatuko dugu.
Suposa dezagun zenbaki lehenen kopurua finitua dela:
.
Izan bitez
eta
.
Orduan,
,
dugu eta, hortaz,
,
; hortik
,
aterako dugu. Beraz,
konposatua da. [lekon] Teoremaren arabera, badago
zenbaki lehenen bat, non
betetzen den.
Orduan,
eta
betetzen dira; hortaz,
ere beteko da. Baina
dugu; beraz,
dugu; eta hori ezinezkoa da
delako.
Beraz, zenbaki lehenen kopuruak ezin du kopuru finitua izan. Hau da, infinitu zenbaki lehen daude.
Mezuak zifratzeko erabiltzen den sistema ezaguna da RSA algoritmoa eta aritmetika modularraren aplikaziotzat har daiteke.
Zenbaki handien faktorizazioa lan nekeza da, hau da, zenbaki handi baten zatitzaile diren zenbaki lehenak zein diren ezagutzeko ez dago algoritmo azkarrik, ondorioz, lehenak diren zenbakiak banan banan hartu eta zenbaki handiaren zatitzaile diren ala ez begiratzea beste erremediorik ez dago. RSA algoritmoaren segurtasuna horretantxe oinarritzen da: zenbaki oso handia aukeratzen du algoritmoak, eta bere zatitzaile diren zenbaki lehenenetatik eratorritako aritmetika modularreko eragiketak baliatzen ditu mezuak zifratzeko.
1977. Urtean Ronald Rivest, Adi Shamir eta Leonard Adleman-ek sortutako kriptografia-sistema da RSA. Zenbaki handien faktorizazioa eragiketa motela den heinean kriptografia-sistema segurua da eta, lehen esan bezala, Zenbaki-Teorian eta Aritmetika Modularrean oinarritzen da. Terminologia aldetik esan behar da enkriptatzea eta zifratzea sinonimotzat erabili ohi direla. Mezu zifratua (enkriptatua) mezua jaso behar duenak
bakarrik ulertuko du, eta ulertezina izango da gainerakoentzat.
Gakoetan oinarritutako zifratze sistema da, eta bi gako ezberdin erabiltzen ditu, bata publikoa da eta zifratzeko erabiltzen da. Bestea, ordea, sekretua da, eta deszifratzeko beharrezkoa da. Beraz sistema asimetrikoa da.
Mezua jaso behar duenak sortu behar ditu gakoak. Hartzailearen gakoak dira, beraz, prozesuan erabiliko diren gakoak.
Zifratze-deszifratze prozesuaren oinarrian Euler-Fermat teorema dagoela esan dezakegu, bai eta Eulerren
funtzioaren propietate bat ere. Eta horrez gain, zenbaki baten alderantziko modularraren adierazpena ere kontuan izan behar da eta sistema eraginkorra izan dadin berreketa modularra era eraginkorrean programatzea komeni da.
Teorema. Izan bedi
non
eta
zenbaki lehenak diren, eta izan bedi
eta izan bedi
, orduan beteko da
.
Froga.
Teoreman zehaztu da
zenbakia
eta
bi zenbaki lehenen biderketa dela, beraz, badakigu
dela. Bestalde,
denez, alderantziako modularraren definizioaren arabera
izango da, eta ondorioz, badakigu badagoela
zeinarentzat beteko den
, eta beraz,
beteko da. Berdintza horretako bi aldeeetan
modulua kalkulatzen badugu:
Badakigu, ordea, euler-Fermat teoremaren arabera,
eta
lehen erlatiboak badira, orduan,
dela. Kontuan izan behar da,
dela eta, beraz, ez dago zatitzaile komunik
eta
zenbakien artean, ondorioz, bi zenbakiak lehen erlatiboak dira eta Euler-Fermaten teorema aplikatuz iritsiko gara bila genbiltzan berdintzara:
.
Teorema horretan oinarritzen da RSA algoritmoa:
mezua bidali beharrean
mezu zifratua bidaltzea proposatzen du algoritmoak, eta hori deszifratzeko
kalkulatzea nahikoa da, bai baitakigu
dela.
Demagun
kodeak adierazten duela zifratu nahi dugun mezua. RSA algoritmoaren oinarriak kontuan hartuz, berreketa modularra erabiliz
kalkulatu beharko luke mezua bidali nahi duenak. Beraz,
zenbakiek ezagunak izan behar dute. Hain zuzen ere gako publikoak bi zenbaki horiexek dira.
Mezua deszifratzeko
kalkulatu beharko du mezua jaso duenak. Izan ere, badakigu Euler-Fermat-en teoremaren eta alderantzizko modularraren definizioaren ondorioz,
dela, non
. Beraz, mezu zifratua deszifratzeko behar den informazioa
zenbakiek osatzen dute; gako pribatua horixe da hain zuzen ere.
Gako publikoa ezagutzera ematen bada, alegia
zenbakiakak publikoak badira,
zenbakiaren deskonposaketa eginez
eta
zenbakiak ezagutu daitezke, eta ondorioz
ere ezagutzea lortuko genuke. Hori guztia ezagutuz, deszifratzeko falta zaigun bakarra
zenbakia da, eta
denez, hori ere ezagutzea lortuko genuke. Hau da, gako publikoa ezagutzera emanaz gako pribatua ezagutzeko bidea ematen da. Nola esango dugu, bada, mezua sekretua dela? Sekretu izaera
zenbaki sekretua kalkulatzeko behar den denborak ematen dio: lehen esan bezala,
zenbakia oso handia bada, bere faktorizazioa egiteak eskatzen duen denbora ikaragarria da. Alegia, gako publikoak argitaratu arren bere faktorizazioa egin beharko litzateke eta horrek denbora gehiegi behar du. Ondorioz,
,
eta
ezezagunak izango dira, eta ezin izango da
kalkulatu.
Esandakoaren arabera,
zenbakia ezagutu arren,
eta
ezkutuan geratzen dira, bai eta
ere, ondorioz
ezagutzera eman arren
ezkutuan gordetzen da, izan ere
ezagutzeko
multzoan
-ren alderantzizkoa kalkulatu beharko genuke, baina multzo hori ezkutuan geratu da.
Adierazi dugun bezala,
bete behar da, horrek ziurtatzen baitu
, non
.
Gako publikoa
zenbakiek osatzen dute, Beraz,
zenbakia zehaztu eta ezagutzera eman behar da. Baina
ezezaguna izan dadin, aukeratu behar den
zenbakiak oso handia izan behar du, bestela, bere faktorizazioa denbora onargarrian egin ahal izango litzateke eta ondorioz
kalkulatu ahal izango litzateke.
Hori gerta ez dadin,
oso handia aukeratu behar da, hau da, bai
eta bai
zenbaki lehenak izateaz gain zenbaki oso handiak aukeratu behar dira. Horrela,
ezin izango da denbora laburrean kalkulatu. Kontuan izan behar da faktorizazioa beti egin daitekeela, alegia,
ezaguna bada, faktorizazioa egin daiteke, baina handia den heinean, faktorizazio horrek denbora luzea hartuko du.
Beraz,
zenbakia zehazteko,
zenbaki lehenak aukeratu behar izan ditugu, eta bi zenbaki horiexek zehazten dute
zenbakia, bai eta
multzoa ere.
Orain
eta
zenbakiak aukeratu behar dira. Bete behar duten baldintza da
. Eta horretarako,
eta
zenbakiek elkarren artean lehen erlatiboak izan behar dute, alegia,
bete behar da.
Laburbilduz, prozesuak urrats hauek ditu:
- Aukeratu
zenbaki lehenak eta oso handiak
- Aukeratu
zenbakiaren lehen erlatiboa izango den
zenbakia.
- Kalkulatu
zenbakia
- Publikatu
gako publikoak eta ondo jaso
gako pribatuak.
Norbaiti, demagun Jasoneri, RSA algoritmoa erabiliz mezu zifratua bidali nahi badiogu, Jasonek bere RSA gakoak aukeratuta izan behar ditu, eta gako publikoak ezagutzera emanda izan behar ditu. Jasonek lan hori egina baldin badauka, bere
gako publikoak ezagunak izango dira, eta ondorioz, guk gure mezua Jasonek deszifratzeko moduan zifratu ahal izango dugu.
Guk mezuari dagokion kodea zifratu behar dugu, hau da, gure mezuari dagokion kodea
baldin bada,
kalkulatu behar dugu eta Jasoneri
bidaliko diogu.
Jasonek, beraz,
mezua jasoko du, eta mezua deszifratzeko
kalkulatu beharko du. Baina badakigu eragiketa horren emaitza
dela. Hau da, gure mezuari dagokion kodea kalkulatuko du Jasonek.
Gako publikoak eta pribatuak beste erabilera bat ere badute: mezu ziurtatua bidaltzeko aukera ere ematen dute. Alegia mezua bidali duena nor izan den ziurtatzeko aukera ematen dute.
Horretarako, Jasonek mezua bere gako pribatuarekin zifratu behar du, eta guk, bere gako publikoarekin deszifratu behar dugu: Jasonek
mezua bere gako pribatuarekin zifratuta
lortuko du
mezu ziurtatua, eta hori bidaliko baligu, guk
kalkulatu beharko genuke, eta horrela lortutako
mezuak zentzurik balu, esan ahal izango genuke Jasonek sortutako mezua dela (edo Jasoneren gako pribatua ezagutzen duen norbaitek sortutakoa).