Modulo vertailu

Kahden kokonaisluvun vertaileminen modulo luonnollinen luku   on matemaattinen operaatio, jonka avulla voit vastata kysymykseen, antavatko kaksi valittua kokonaislukua saman jäännöksen jaettuna samalla luvulla . Mikä tahansa kokonaisluku jaettuna antaa yhden mahdollisista jäännöksistä: numero 0 - ; tämä tarkoittaa, että kaikki kokonaisluvut voidaan jakaa ryhmiin, joista jokainen vastaa tiettyä jäännöstä jaettuna .

Aritmeettiset operaatiot lukujäännöksillä moduloivat kiinteämuotoista modulaarista aritmetiikkaa tai modulaarista aritmetiikkaa [1] [2] , jota käytetään laajalti matematiikassa , tietojenkäsittelytieteessä ja kryptografiassa [3] .

Historia

Edellytyksenä vertailuteorian luomiselle oli Diophantuksen teosten restaurointi , jotka julkaistiin alkuperäisenä ja latinalaisella käännöksellä Basha de Meziriakin ansiosta vuonna 1621 . Heidän tutkimuksensa johti Fermatin löytöihin, jotka olivat huomattavasti aikaansa edellä. Esimerkiksi kirjeessään Frenicle de Bessylle [4] 18. lokakuuta 1640 hän raportoi ilman todisteita lauseen , joka myöhemmin tuli tunnetuksi Fermat'n pienenä lauseena . Modernissa muotoilussa lause sanoo, että jos  on alkuluku ja  on kokonaisluku , joka ei ole jaollinen luvulla , niin

.

Tämän lauseen ensimmäinen todistus kuuluu Leibnizille , lisäksi hän löysi tämän lauseen Fermatista riippumatta viimeistään vuonna 1683 ja ilmoitti tämän Bernoullin tarkalla todistuksella . Lisäksi Leibniz ehdotti prototyyppiä Wilsonin lauseen muotoiluun .

Myöhemmin lukuteorialle ja vertailuteorialle omistettujen kysymysten tutkimusta jatkoi Euler , joka esitteli vastavuoroisuuden toisen asteen lain ja yleisti Fermatin lauseen ja totesi, että

missä  on Euler-funktio .

Gauss esitteli vertailujen käsitteen ja symbolisen nimeämisen tärkeäksi työkaluksi aritmeettisen teoriansa perustelemiseen, jonka hän aloitti vuonna 1797. Tämän ajanjakson alussa Gauss ei ollut vielä tietoinen edeltäjiensä teoksista, joten hänen työnsä tulokset, jotka esitettiin hänen kirjansa Aritmeettiset tutkimukset ( 1801 ) kolmessa ensimmäisessä luvussa, olivat periaatteessa jo tiedossa, mutta menetelmät joita hän käytti todisteisiin, osoittautui täysin uudeksi, ja sillä oli suurin merkitys lukuteorian kehitykselle. Näillä menetelmillä Gauss muutti kaiken ennen häntä kertyneen modulo-vertailuoperaatioihin liittyvän tiedon koherentiksi teoriaksi, joka esiteltiin ensimmäisen kerran samassa kirjassa. Lisäksi hän opiskeli ensimmäisen ja toisen asteen vertailuja, neliötähteiden teoriaa ja siihen liittyvää neliöllistä vastavuoroisuuden lakia [5] .

Määritelmät

Jos kaksi kokonaislukua ja jaettuna arvolla  antavat saman jäännöksen, niin niitä kutsutaan vertailukelpoisiksi (tai equiresiduaaliksi ) modulo luku [6] .

Numeroiden vertailukelpoisuus ja kirjoitetaan kaavana ( vertailu ):

Lukua kutsutaan vertailumoduuliksi .

Numeroiden ja modulon vertailukelpoisuuden määritelmä vastaa mitä tahansa seuraavista lauseista:

Todiste

Sitten sillä oletuksella, että

1 ja 2 suoritetaan :

(eli ero ja jaetaan ilman jäännöstä); jossa (eli voidaan esittää muodossa ).

Tarvittavan ehdon todistuksesta numero voidaan esittää seuraavasti:

Sitten

missä

Tällä tavalla

Määritelmän on osoitettu vastaavan ehtoa 2 , joka vastaa ehtoa 1 .

Esimerkiksi luvut 32 ja −10 ovat yhteneväisiä modulo 7:llä, koska molemmat luvut jaettuna 7:llä jättävät 4:n jäännöksen:

Myös luvut 32 ja -10 ovat vertailukelpoisia modulo 7:llä, koska niiden ero on jaollinen 7:llä ja lisäksi on olemassa esitys

Vertailukelpoisuuden ominaisuudet modulo

Kiinteän luonnollisen luvun moduulivertailurelaatiolla on seuraavat ominaisuudet:

Siten modulo-vertailurelaatio on ekvivalenssirelaatio kokonaislukujen joukossa [8] .

Yllä olevien ominaisuuksien lisäksi seuraavat väitteet ovat totta vertailuissa:

Todiste

Päästää

Näin ollen

missä  on jokin kokonaisluku.

Koska on luvun jakaja , niin

missä  on jokin kokonaisluku.

Näin ollen

missä

ja

määritelmän mukaan.

Todiste

Päästää

missä

Näin ollen

Koska ero on jokaisen kerrannainen , se on myös niiden pienimmän yhteisen kerrannainen .

Seuraus: Jotta luvut olisivat vertailukelpoisia modulo , jonka kanoninen hajoaminen alkutekijöiksi on muotoa

tarpeellista ja riittävää

missä [9] .

Operaatiot vertailuilla

Vertailuilla modulo yksi ja sama on monia tavallisten yhtäläisyyksien ominaisuuksia. Niitä voidaan esimerkiksi lisätä, vähentää ja kertoa: jos luvut ja ovat pareittain vertailukelpoisia modulo , niin niiden summat ja , sekä tulot ja ovat myös vertailukelpoisia modulo :

Samanaikaisesti näitä operaatioita ei voida suorittaa vertailuilla, jos niiden moduulit eivät täsmää [9] .

Voit lisätä saman numeron vertailun molempiin osiin :

Voit myös siirtää luvun vertailun osasta toiseen etumerkin muutoksella:

Jos luvut ja ovat vertailukelpoisia modulo , niin niiden tehot ja ovat myös vertailukelpoisia modulo mille tahansa luonnolliselle [7] :

Mihin tahansa vertailun osaan voit lisätä moduulin kokonaislukukerran, toisin sanoen jos luvut ja ovat vertailukelpoisia modulo jokin luku , niin ja on verrattavissa modulo , jossa ja  ovat mielivaltaisia ​​kokonaislukuja , jotka ovat kerrannaisia :

Myös vertailun molemmat osat ja moduuli voidaan kertoa samalla luvulla, eli jos luvut ja ovat vertailukelpoisia modulo jokin kokonaisluku , niin luvut ja ovat vertailukelpoisia modulo luku , jossa  on kokonaisluku :

Vertailuja ei kuitenkaan voida yleisesti ottaen jakaa keskenään tai muilla luvuilla. Esimerkki: 2 kertaa vähennettynä saamme kuitenkin virheellisen vertailun: . Vertailujen vähennyssäännöt ovat seuraavat.

ja GCD sitten .

Jos luku ei ole moduulin kanssa alkuluku, kuten yllä olevassa esimerkissä, et voi pienentää.

jos , niin [9] .

Esimerkki

Vertailujen avulla on helppo hankkia erilaisia ​​jaotettavuuskriteereitä . Johdetaan esimerkiksi luonnollisen luvun N jaollisuusmerkki 7:llä. Kirjoitetaan se muotoon (eli erotetaan yksiköiden numero). Ehto, joka on jaollinen 7:llä, voidaan kirjoittaa seuraavasti: Kerro tämä vertailu luvulla

Tai lisäämällä vasemmalla olevan moduulin kerrannainen:

Tämä tarkoittaa seuraavaa jaollisuuden merkkiä 7:llä: on tarpeen vähentää kaksinkertainen yksiköiden määrä kymmenien lukumäärästä, sitten toistaa tämä toimenpide, kunnes saadaan kaksi- tai yksinumeroinen luku; jos se on jaollinen 7:llä, niin alkuperäinen luku on myös jaollinen. Tarkastetaan esimerkiksi algoritmi [10] :

Johtopäätös: 22624 on jaollinen seitsemällä.

Aiheeseen liittyvät määritelmät

Jäännösluokat

Kaikkien modulon kanssa yhteensopivien lukujen joukkoa kutsutaan modulo - jäännösluokiksi , ja sitä merkitään yleensä tai . Siten vertailu vastaa jäämäluokkien yhtäläisyyttä [11] .

Mitä tahansa luokkanumeroa kutsutaan modulo- jäännökseksi . Olkoon  määrällisyyden  vuoksi jakojäännös minkä tahansa valitun luokan edustajista luvulla , niin mikä tahansa tämän luokan luku voidaan esittää muodossa , jossa  on kokonaisluku . Jäännöstä , joka on yhtä suuri kuin jäännös ( at ), kutsutaan pienimmäksi ei-negatiiviseksi jäännökseksi ja jäännöstä ( ), joka on absoluuttisen arvon pienin, kutsutaan ehdottoman pienimmäksi jäännökseksi . Kun saamme sen , muuten . Jos  on parillinen ja , niin [12] .  

Koska modulo-vertailu on ekvivalenssirelaatio kokonaislukujen joukossa , modulo-jäännösluokat ovat ekvivalenssiluokkia ; niiden lukumäärä on yhtä suuri .

Kaikkien jäännösluokkien joukko modulo on merkitty joko [13] tai [14] .

Summa- ja kertolaskuoperaatiot indusoivat vastaavat operaatiot joukkoon :

Näiden operaatioiden osalta joukko on äärellinen rengas , ja yksinkertaiselle se  on äärellinen kenttä [6] .

Vähennysjärjestelmät

Jäännösjärjestelmän avulla voit suorittaa aritmeettisia operaatioita rajalliselle lukujoukolle ylittämättä sitä. Täydellinen jäännösjärjestelmä modulo on mikä tahansa joukko pareittain vertailemattomia modulo - kokonaislukuja. Yleensä toinen kahdesta sarjasta pidetään täydellisenä jäännösjärjestelmänä modulo :

, parittoman , ja numeroiden tapauksessa parillisessa tapauksessa .

Pareittain vertailemattomien moduulilukujen maksimijoukkoa, jonka kanssa koprime ,  kutsutaan pelkistetyksi modulojäännösten järjestelmäksi . Mikä tahansa pelkistetty jäännösjärjestelmä modulo sisältää elementtejä, joissa  on Euler-funktio [12] .

Esimerkiksi luvulle täydellinen jäännösjärjestelmä voidaan esittää numeroilla 0, 1, 2, 3, ..., 21, 22, 23, ..., 39, 40, 41 ja pelkistetyllä järjestelmällä. voidaan esittää  numeroilla 1, 5, 11, 13, 17, 19, 23, 25, 29, 31, 37, 41.

Vertailut polynomirenkaassa kentän päällä

Polynomien rengasta kentän päällä tarkastellaan . Kahta polynomia ja valittuun renkaaseen kuuluvaa kutsutaan polynomin vertailukelpoiseksi modulo , jos niiden ero on jaollinen ilman jäännöstä. Vertailu on merkitty seuraavasti:

Aivan kuten kokonaislukujen renkaassa, tällaisia ​​vertailuja voidaan lisätä, vähentää ja kertoa [15] .

Vertailujen ratkaiseminen

Ensimmäisen asteen vertailut

Numeroteoriassa , kryptografiassa ja muilla tieteenaloilla ongelmana on usein löytää ratkaisuja muodon ensimmäisen asteen vertailuun.

Tällaisen vertailun ratkaisu alkaa gcd :n laskemisesta . Tässä tapauksessa kaksi tapausta on mahdollista:

missä ja ovat kokonaislukuja , ja ja ovat koprime . Siksi luku voidaan kääntää modulo , eli löytää sellainen luku , että (toisin sanoen ). Nyt ratkaisu löytyy kertomalla tuloksena saatu vertailu luvulla :

Käytännön arvon laskenta voidaan tehdä eri tavoilla: käyttämällä Eulerin lausetta , Euklidin algoritmia , jatkuvien murtolukujen teoriaa (katso algoritmi ) jne. Erityisesti Eulerin lause sallii arvon kirjoittamisen muodossa:

[16] . Esimerkkejä

Esimerkki 1. Vertailun vuoksi

meillä on siis modulo 22, vertailussa on kaksi ratkaisua. Korvataan 26 luvulla 4, joka on vertailukelpoinen modulo 22, ja kumotaan sitten kaikki kolme numeroa kahdella:

Koska 3 on koprime modulo 11, se voidaan kääntää modulo 11 ja löytää

.

Kerrotaan vertailu 4:llä, saadaan ratkaisu modulo 11:

,

vastaa kahden ratkaisun joukkoa modulo 22:

ja .

Esimerkki 2. Vertailu annetaan:

Huomaa, että moduuli on alkuluku.

Ensimmäinen tapa ratkaista se on käyttää Bezout-relaatiota . Käyttämällä Euclid-algoritmia tai Bezout-suhdetta käsittelevässä artikkelissa annettua ohjelmaa huomaamme, että tämä lukujen suhde on muotoa:

tai

Kun tämän vertailun molemmat puolet kerrotaan 41:llä, saadaan:

Tästä seuraa, että alkuperäiseen vertailuun on ratkaisu. On helpompaa korvata se jollain siihen verrattavalla (jäännös jakamalla luvulla ). Vastaus:

Toinen ratkaisu, yksinkertaisempi ja nopeampi, ei vaadi Bezout-relaation rakentamista, mutta vastaa myös euklidelaista algoritmia.

Vaihe 1. Jaa moduuli x:n kertoimella jäännöksellä: . Kerro alkuperäisen vertailun molemmat puolet osamäärällä ja lisää ; saamme: , mutta vasen puoli on :n kerrannainen , eli verrattavissa nollaan, mistä:

Saimme at:lle kertoimen 37 100:n sijaan. Jokaisessa seuraavassa vaiheessa vähennämme samalla tavalla, kunnes saamme yhden.

Vaihe 2. Samalla tavalla jaamme uudella kertoimella kohdassa x: . Kerro edellisessä vaiheessa saadun vertailun molemmat osat osamäärällä ja lisää ; korvaamalla vasemman puolen jälleen nollalla, saamme:

korvaa sen jäännöksellä, kun se jaetaan yhtä suurella :

Sitten olisi mahdollista tehdä vielä 5 vaihetta samalla tavalla, mutta on helpompi jakaa molemmat vertailun osat 10:llä ja saada heti tulos:

Toisen asteen vertailut

Toisen asteen modulo m -vertailuilla on seuraava yleinen muoto:

Tämä lauseke voidaan viedä muotoon

ja kun se vaihdetaan, se yksinkertaistuu

Tämän vertailun ratkaiseminen edellyttää, että selvitetään, onko annettu luku neliöjäännös (käyttäen toisen asteen vastavuoroisuuslakia ) ja lasketaan sitten neliöjuuren modulo [17] . Neliöjuuren laskemiseksi kvadraattisesta jäännöksestä on olemassa todennäköisyyspohjainen Berlekamp-menetelmä ja deterministinen Tonelli-Shanks-algoritmi .

Vertailujärjestelmät

Kiinan jäännöslause sanoo, että kongruenssijärjestelmä parittaisten koprimemoduulien kanssa on:

on aina ratkaistavissa, ja sen ratkaisu on ainutlaatuinen modulo .

Toisin sanoen kiinalainen jäännöslause sanoo, että jäännösrengas modulo useiden parittaisten koprimelukujen tulo on tekijöitä vastaavien jäännösrenkaiden suora tulo.

Sovellus

Modulaarista aritmetiikkaa käytetään lukuteoriassa , ryhmäteoriassa , rengasteoriassa , solmuteoriassa , yleisalgebrassa , kryptografiassa , tietojenkäsittelytieteessä , kemiassa ja muilla aloilla.

Vertailuja käytetään usein esimerkiksi tunnisteissa käytettävien tarkistussummien laskemiseen. Joten kansainvälisen pankkitilin numeron syöttämisen virheiden määrittämiseen käytetään vertailumoduulia 97 [18] .

Salaustekniikassa vertailut löytyvät julkisen avaimen järjestelmistä , joissa käytetään esimerkiksi RSA-algoritmia tai Diffie-Hellman-protokollaa . Modulaarinen aritmetiikka tarjoaa myös äärelliset kentät , joiden päälle sitten rakennetaan elliptisiä käyriä , ja sitä käytetään erilaisissa symmetrisissä avainprotokollissa ( AES , IDEA ) [19] .

Kemiassa CAS-rekisteröintinumeron viimeinen numero on tarkistussumman arvo , joka lasketaan lisäämällä luvun viimeinen numero kerrottuna 1:llä, toinen numero oikealta kerrottuna 2:lla, kolmas numero kerrottuna kolmella ja niin ensimmäiseen numeroon asti vasemmalta, joka päättyy 10:llä jaon jäännösosan laskemiseen [20]

Katso myös

Muistiinpanot

  1. Welshenbach M. Luku 5. Modulaarinen matematiikka: Laskenta jäännösluokissa. // Kryptografia C:ssä ja C++:ssa toiminnassa . - M . : "Triumph", 2004. - S.  81 -95. — 464 s. — ISBN 5-89392-083-X .
  2. Kansainvälisen tieteellisen konferenssin "Modulaarinen aritmetiikka" materiaalit . Virtuaalinen tietokonemuseo (2005). Käyttöönottopäivä: 31. heinäkuuta 2010. Arkistoitu alkuperäisestä 5. lokakuuta 2007.
  3. Egorov A. A. Modulo-vertailut ja jäännösaritmetiikka  // Kvant . - 1970. - Nro 5 . - S. 28-33 . Arkistoitu alkuperäisestä 4. maaliskuuta 2016.
  4. Ranskalainen matemaatikko, Ranskan tiedeakatemian jäsen vuodesta 1666 .
  5. Vileitner G. Luku III. Numeroteoria // Matematiikan historia Descartesista XIX-luvun puoliväliin / käännös. hänen kanssaan. alla. toim. A. P. Juskevitš. - M .: Valtion fyysisen ja matemaattisen kirjallisuuden kustantaja, 1960. - S. 69-84. — 467 s. Arkistoitu 24. syyskuuta 2015 Wayback Machineen
  6. 1 2 Stepanov S. A. Luku 1. Peruskäsitteet // Vertailut . - M . : "Tieto", 1975. - S. 3-9. - 64 s. Arkistoitu 24. elokuuta 2015 Wayback Machineen
  7. 1 2 Vinogradov I.M. Lukuteorian perusteet . - M. - L .: Valtio. toim. tekninen ja teoreettinen kirjallisuus, 1952. - S. 41-45. – 180 s. Arkistoitu 1. heinäkuuta 2020 Wayback Machinessa
  8. Siziy, 2008 , s. 88.
  9. 1 2 3 Sagalovich, 2010 , s. 25-29.
  10. Nesterenko, 2008 , s. 86-87.
  11. Bukhshtab A. A. Luku 8. Luokat // Numeroteoria . - M . : "Enlightenment", 1966. - S. 77-78. — 384 s. Arkistoitu 20. marraskuuta 2015 Wayback Machineen
  12. 1 2 Sagalovich, 2010 , s. 29-32.
  13. Siziy, 2008 , s. 87-88,91.
  14. Lidl R., Niederreiter G. Äärilliset kentät. 2 osassa - M .: Mir, 1998. - S. 27 (esimerkki 1.37). - 430 s. — ISBN 5-03-000065-8 .
  15. Fadeev D.K. Luku VII. Vertailu polynomien ja kenttälaajennusten renkaassa // Algebran luentoja. - M .: "Nauka", 1984. - S. 197-198. — 416 s.
  16. Siziy, 2008 , s. 105-109.
  17. Bukhshtab A. A. Luku 21. 2. asteen moduulialkuluvun vertailut, Luku 22. Vertailut toisen asteen modulo-komposiittiin // Numeroteoria . - M . : "Enlightenment", 1966. - S. 172-201. — 384 s. Arkistoitu 20. marraskuuta 2015 Wayback Machineen
  18. Harald Niederreiter, Arne Winterhof. Sovellettu lukuteoria. - "Kevät", 2015. - S. 369. - 442 s. — ISBN 978-3-319-22321-6 .
  19. Koblitz N. Lukuteorian ja kryptografian kurssi / käännös. englannista. M. A. Mikhailova ja V. E. Tarakanov, toim. A. M. Zubkova. - M . : Tieteellinen kustantaja TVP, 2001. - S. 96, 105-109, 200-209. — 262 s. — ISBN 5-85484-012-X .
  20. CAS-rekisterinumeroiden tarkistusnumeroiden  tarkistus . Arkistoitu alkuperäisestä 8. joulukuuta 2015.

Kirjallisuus