-
Vajame numbrilist protseduuri, mis üht pidi on lihtne
-
ja teist pidi raske.
-
See toob meid modulaarse aritmeetika, tuntud kui ka kella aritmeetika juurde.
-
Näiteks, et leida 46 mod 12, võime võtta köie pikkusega 46 ühikut
-
ja keerata seda ümber 12 sektorist koosneva kella, mida kutsutakse moodustajaks
-
ja kus köis lõpeb, on lahendus.
-
Niisiis ütleme, et 46 mod 12 on kongruentne 10ga.
-
Lihtne. Nüüd, et seda rakendada, kasutame algarvulist moodulit, näiteks 17.
-
Siis leiame sellest algjuure, antud juhul siis 3.
-
Mil on see tähtis omadus, et kui teda suurendada erinevatele astendajatele,
-
jaguneb lahendus ühtlaselt ümber kella.
-
3 on tuntud ka kui moodustaja. Kui me suurendame 3 mistahes astendajale x
-
siis on lahendus tõenäoliselt üks täisarv 0 ja 17 vahel.
-
Nüüd, vastupidine protseduur on raske.
-
Ütleme, antud on 12, leia astendaja, millele kolm tõsta tuleb.
-
Seda kutsutakse Diskreetseks Logaritmiliseks probleemiks.
-
Ja nüüd on meil ühtepidi funktsioon.
-
Lihtne teostada, kuid raske tagasi pöörata.
-
Antud 12, peaksime kasutama katse eksituse meetodit, et leida sobivad astendajad.
-
Kui raske see siis on?
-
Väikeste arvudega on see lihtne, aga kui kasutame algarvulist moodulit, mis on sadu kohti pikk,
-
muutub selle lahendamine ebapraktiliseks.
-
Isegi, kui sul oleks juurdepääs kõikide arvutite võimsusele maal, võib see võtta tuhandeid aastaid, et
-
käia läbi kõik võimalused.
-
Niisiis ühtepidi funktsiooni tugevus põhineb ajal, mis kulub selle tagasi pööramiseks.