MATEMAATTINEN KRYPTOLOGIA. Keijo Ruohonen

Koko: px
Aloita esitys sivulta:

Download "MATEMAATTINEN KRYPTOLOGIA. Keijo Ruohonen"

Transkriptio

1 MATEMAATTINEN KRYPTOLOGIA Keijo Ruohonen 2012

2 Sisältö 1 I JOHDANTO 3 II LUKUTEORIA: OSA Jaollisuus, tekijät, alkuluvut Kokonaisluvun esitys eri kannoissa Suurin yhteinen tekijä ja pienin yhteinen jaettava Kongruenssilaskenta eli modulaarilaskenta Jäännösluokkarenkaat ja alkukunnat Suurten kokonaislukujen algoritmeja 13 Yhteen- ja vähennyslasku 13 Kertolasku 15 Jakolasku 17 Potenssiin korotus 18 Kokonaisjuuri 20 Satunnaisluvun generointi 23 III JOITAIN KLASSISIA KRYPTOSYSTEEMEJÄ KRYPTANALYYSEINEEN AFFINE. CAESAR HILL. PERMUTATION. AFFINE-HILL. VIGENÈRE ONE-TIME-PAD Kryptanalyysi 27 IV ALGEBRA: RENKAAT JA KUNNAT Renkaat ja kunnat Polynomirenkaat Äärelliset kunnat 34 V AES Yleistä RIJNDAEL Kierrokset Tavun muuntaminen (SubBytes) Rivinsiirto (ShiftRows) Sarakkeiden sekoitus (MixColumns) Kierrosavaimen lisäys (AddRoundKey) Avaimen laajentaminen Dekryptauksen muunnelma RIJNDAELin kryptanalyysiä AESin toimintamoodeja i

3 ii 42 VI JULKISEN AVAIMEN KRYPTAUS Algoritmien vaativuusteoriaa Julkisen avaimen kryptosysteemi Reppusysteemin nousu ja tuho Julkisen avaimen kryptaukseen sopivia tehtäviä 48 VII LUKUTEORIA: OSA Eulerin funktio ja Eulerin lause Kertaluku ja diskreetti logaritmi Kiinalainen jäännöslause Alkulukujen testaus ja generointi Lukujen tekijöihinjako Modulaarinen neliöjuuri Vahvat satunnaisluvut Hilat. LLL-algoritmi 65 VIII RSA RSAn määrittely Hyökkäyksiä ja puolustuksia Kryptanalyysi ja tekijöihinjako Osittaisen tiedon saaminen viestin biteistä Hyökkäys LLL-algoritmilla 74 IX ALGEBRA: RYHMÄT Ryhmät Diskreetti logaritmi Elliptiset käyrät 85 X ELGAMAL. DIFFIE HELLMAN Elgamalin kryptosysteemi Diffie Hellman-avainjakosysteemi Elliptisiin käyriin perustuvat kryptosysteemit XTR 89 XI NTRU Määrittely Kryptaus ja dekryptaus Systeemin pystytys Hyökkäys LLL-algoritmilla 93 XII TIIVISTEFUNKTIOT JA TIIVISTEET Määritelmiä Syntymäpäivähyökkäys Chaum van Heijst Pfitzmann -tiiviste

4 iii 99 XIII ALLEKIRJOITUS Allekirjoitussysteemi RSA-allekirjoitus Elgamalin allekirjoitus Syntymäpäivähyökkäys allekirjoitusta vastaan 102 XIV SALAISEN TIEDON SIIRTO Arpominen Salaisuuksien jakaminen Tietymätön tiedonsiirto Nollatietotodistukset 110 XV KVANTTIKRYPTOLOGIA Kvanttibitti Kvanttirekisterit ja kvanttialgoritmit Shorin algoritmit Avainjako kvanttimenetelmällä 119 Liite: DES 119 Liite.1 Yleistä 119 Liite.2 DESin määrittely 122 Liite.3 DESin kryptanalyysiä 124 Kirjallisuus 127 Hakemisto Esipuhe Tämä moniste on tarkoitettu TTY:n kurssin MAT Matemaattinen kryptologia perusmateriaaliksi. Monisteessa käydään läpi tärkeimmät nykyisen tiedonsalauksen tarvitsemat matemaattiset taustat sekä esitellään niiden soveltamista kryptauksessa sekä erilaisissa protokollissa. Matematiikan ja kryptologian liitto on vanha, mutta tuli vahvemmin esille oikeastaan vasta toisen maailmansodan tehokkaiden kryptausmenetelmien ja niiden murtamisen yhteydessä, sitten kun nämä tulivat julkisiksi. Asian yleinenkin kiinnostavuus ilmenee vaikkapa siitä kirjoitettujen suurelle yleisölle tarkoitettujen (osin) fiktiivisten kirjojen runsaudesta. 1 Kokonaan uuden vauhdin koko ala sai 1970-luvulla, jolloin otettiin käyttöön täysin avoin, nopea ja tehokas tietokoneille tarkoitettu kryptausmenetelmä DES sekä esiteltiin vallankumouksellinen julkisen avaimen kryptauksen idea. 2 Sen jälkeen kryptologian sekä myös sen tarvitseman matematiikan lähinnä eräiden lukuteorian ja algebran alojen kehitys on ollut tavattoman nopeaa. Voidaankin sanoa, että lukuteorian ja algebran viimeaikainen suosio johtuu nimenomaan kryptologiasta. Usein tähän liitetään myös teoreettiseen tietojenkäsittelytieteeseen kuuluva laskennallisen vaativuuden teoria, mutta totuuden nimessä pitänee todeta, ettei sillä ole ollut kryptologiassa kovinkaan suurta merkitystä. Otollisia kryptauksessa käyttökelpoisia mate- 1 Esimerkkinä vaikkapa Neal Stephensonin mainio Cryptonomicon. 2 Steven Levyn kirja Crypto. Secrecy and Privacy in the New Code War antaa hieman romantisoidun kuvauksen näistä julkisen avaimen kryptauksen alkuajoista.

5 maattisia probleemoja kun ovat sellaiset, joita huippumatemaatikot ovat tutkineet jo niin kauan, että vain todella vaikeasti löydettävät teorian tulokset ovat avoinna. Kryptauksen murtaminen edellyttää silloin myös huomattavaa teoreettista läpimurtoa. Tällaisia probleemoja löytyy runsaasti nimenomaan lukuteorian ja diskreetin algebran aloilta. Lukuteorian ja algebran tulokset ja algoritmit esitetään tässä monisteessa omissa luvuissaan, useassa osassa. Keskeistä on lukuteorian ja algebrallisten struktuurien probleemojen lajittelu laskennallisesti helppoihin ja vaikeisiin. Edellisiä tarvitaan kryptauksessa ja dekryptauksessa sekä myös kryptosysteemien pystytyksessä, jälkimmäiset taas takaavat kryptosysteemin varmuuden. Myös aloitteleva kvanttikryptaus esitellään lyhyesti taustoineen. Klassisia kryptosysteemejä joihin myös DES ja myöhempi AES on tyypiltään luettava esitellään monisteessa vain muutamia, lisätietoa niistä löytyy vaikkapa viitteistä BAUER, MOL- LIN ja SALOMAA, ja pääpaino on moderneissa julkisen avaimen menetelmissä. Tämä ei suinkaan ole osoitus siitä, että niillä ei olisi käyttöä. Vaikka vanhojen klassisten menetelmien merkitys on kadonnut nopeasti 3, uudempia klassistyyppisiä menetelmiä käytetään paljon ja niillä on hyvin tärkeä rooli nopeassa massakryptauksessa. Monisteessa jätetään vähälle huomiolle myös monissa sovelluksissa niin tärkeä vuokryptaus. Yhden kurssin puitteissa aika on rajallinen. Kokonaan oma lukunsa on vielä kryptosysteemien oikea implementointi ja käyttö, johon tällaisessa matemaattisessa kurssissa ei voi kovinkaan paljon puuttua. Hyväkin kryptosysteemi kun voidaan helposti tehdä tehottomaksi huonolla implementoinnilla ja huolettomalla käytöllä. 4 iv Keijo Ruohonen 3 Esimerkkinä mainittakoon vaikkapa se, että Yhdysvaltain maavoimien kenttämanuaali FM : Basic Cryptanalysis on nykyään julkisesti saatavana verkossa. Viite BAUER sisältää myös aikaisemmin salaiseksi luokiteltua materiaalia. 4 Erinomainen tähän liittyvä teos on Bruce Schneierin Secrets and Lies. Digital Security in a Networked World.

6 Luku 1 JOHDANTO Viestin kryptauksella tarkoitetaan sen salaamista siten, että satunnainen lukija tai salakuuntelija ei saa selville mitään viestin sisällöstä eli hän ei pysty murtamaan kryptausta. Alkuperäistä selväkielistä viestiä kutsutaan selvätekstiksi ja kryptattua taas kryptotekstiksi. Kryptauksessa tarvitaan ns. avain, ts. eräänlainen yleensä varsin mutkikas parametri, jolla kryptausta voidaan muuttaa. Jos kryptausmenettely pysyy pitkään tarkalleen samana, lisääntyvät murtomahdollisuudet käytännössä tuntuvasti. Eri käyttäjät tarvitsevat luonnollisesti vielä omat avaimensa. Viestin vastaanottaja dekryptaa viestin, mitä varten hän tarvitsee oman avaimensa. Salakuuntelijalle sekä kryptausavain että dekryptausavain ovat arvokkaita, edellistä käyttäen hän pystyy lähettämään kryptattuja valeviestejä, jälkimmäisellä taas purkamaan eli dekryptaamaan viestit. Symmetrisissä kryptosysteemeissä avaimet ovat lisäksi usein samat. Kryptausmenettely voi kryptata symbolivirtaa jatkuvasti (vuokryptaus) tai lohkoihin jaettuna (lohkokryptaus). Lohkokryptauksessa lohkot voivat joissain tapauksissa olla eripituisia, kuitenkaan tiettyä lohkon maksimipituutta ei saa ylittää. Yleensä kuitenkin lohkot ovat samanpituisia. Jatkossa tarkastellaan vain lohkokryptausta. Tällöin riittää selvittää mielivaltaisen viestilohkon kryptaaminen/dekryptaaminen ja selvätekstinä voidaan pitää yhtä mielivaltaista viestilohkoa ja kryptotekstinä mielivaltaista viestilohkon kryptattua versiota. Kryptausmenettely on symmetrinen, jos kryptaus- ja dekryptausavaimet ovat samat tai ainakin helposti saatavissa toinen toisistaan. Epäsymmetrisessä kryptauksessa kryptausavaimesta ei voi millään pienellä työmäärällä saada dekryptausavainta. Niinpä kryptausavain voidaan tällöin pitää jopa julkisena dekryptausavaimen pysyessä salaisena; tästä nimi julkisen avaimen kryptaus, vastaavasti symmetristä kryptausta kutsutaan salaisen avaimen kryptaukseksi. Symmetrisessä kryptauksessa pulmana on avaimien välitys salassa kaikille osapuolille, avaimia pitää vielä uusiakin aika ajoin. Symmetrinen kryptaus käyttäen samaa avainta voidaan karakterisoida ns. kryptosysteeminä eli viisikkona(p,c,k,e,d), missä P on äärellinen viestiavaruus (selvätekstit). C on äärellinen kryptotekstiavaruus. K on äärellinen avainavaruus. kutakin avainta k K kohti on kryptausfunktio e k E ja dekryptausfunktio d k D. E on mahdollisten kryptausfunktioiden avaruus ja D mahdollisten dekryptausfunktioiden avaruus. jokaiselle viestille (lohkolle)w ja avaimellek ond k (e k (w)) = w. 1

7 LUKU 1. JOHDANTO 2 Ilmeisesti kryptausfunktion pitää olla injektiivinen, ts. se ei kryptaa kahta eri selvätekstiä samaksi kryptotekstiksi. Kryptauksessa voi kuitenkin olla mukana satunnaisuutta, jolloin kryptausfunktio voi eri kerroilla kryptata saman selvätekstin eri kryptotekstiksi, kyseessä ei siis tällöin ole varsinaisesti matemaattinen funktio. Injektiivisyydestäkin voidaan toisinaan tinkiä, jos kryptotekstiä vastaavia selvätekstejä on rajallinen määrä ja niistä löytyy se oikea pienellä vaivalla. salakuuntelija l hett j selv - teksti e k kryptoteksti kanava kryptoteksti d k selv - teksti vastaanottaja avainjako k avainjako Kutakuinkin kaikki laajemmin käytetyt kryptausmenetelmät perustuvat lukuteorian tai algebran (ryhmäteoria, äärelliset kunnat, kommutatiivinen algebra) tuloksiin. Näihin perehdytään sitä mukaa kuin ne tulevat esille, tarvittavassa määrin.

8 So in order to remove the contingent and subjective elements from cryptography there have been concerted efforts in recent years to transform the field into a branch of mathematics, or at least a branch of the exact sciences. In my view, this hope is misguided, because in its essence cryptography is as much an art as a science. (N. KOBLITZ, 2010) Luku 2 LUKUTEORIA. OSA Jaollisuus, tekijät, alkuluvut Tietyt lukuteorian 1 käsitteet ja tulokset tulevat hyvin usein esille kryptologiassa, vaikka menettely sinänsä ei liittyisikään lukuteoriaan. Kaikkien kokonaislukujen joukkoa merkitään Z:lla. Ei-negatiivisten kokonaislukujen eli ns. luonnollisten lukujen joukkoa {0, 1, 2,...} merkitään N:llä. Kokonaislukujen yhteen- ja kertolasku ovat tuttuja vaihdannaisia ja liitännäisiä laskuoperaatioita, joiden identiteettialkiot ovat 0 ja 1. Muista myös liitäntälaki x(y + z) = xy + xz sekä vastaluvun ja vähennyslaskun määrittelyt x = ( 1)x ja x y = x +( 1)y. Kokonaislukujen jakolasku tarkoittaa seuraavanlaista operaatiota: Jaettaessa kokonaisluku x (jaettava) kokonaisluvulla y 0 (jakaja) x saatetaan muotoon x = qy +r, missä kokonaisluku r on jakojäännös, joka toteuttaa ehdon 0 r < y. Kokonaisluku q on osamäärä. Lisäämällä x:ään toistuvasti y:tä tai y:tä nähdään, että x on mahdollista kirjoittaa ko. muotoon. Jos voidaan kirjoittaa x = qy, missäq on kokonaisluku, sanotaan, ettäxon jaollineny:llä tai ettäy jakaax:n tai ettäy onx:n tekijä, merkitään y x. Kokonaisluvunxns. triviaalit tekijät ovat ±1 ja ±x. Mahdolliset muut tekijät ovat ei-triviaaleja. Seuraavat jaollisuuden ominaisuudet ovat melko ilmeisiä: (1) 0 on jaollinen millä tahansa kokonaisluvulla, mutta jakaa vain itsensä. (2) 1 ja 1 jakavat kaikki kokonaisluvut, mutta ovat jaollisia vain itsellään ja toinen toisillaan. (3) Josy x jax 0, niin y x. (4) Jos x y ja y z, niin myös x z (ts. jaollisuus on transitiivinen). (5) Josx y jax z, niin myösx y ±z. 1 Lukuteoria on nimenomaan kokonaislukujen teoriaa. Tosin lukuteoriasta on eri suuntiin laajenevia versioita. Mukaan voidaan ottaa algebralliset luvut eli kokonaiskertoimisten polynomien juuret jolloin päästään algebralliseen lukuteoriaan, jolla on muuten paljonkin käyttöä kryptologiassa, ks. esimerkiksi KOBLITZ. Toisaalta lukuteoriaa voidaan tutkia käyttämällä muita matematiikan formalismeja. Esimerkiksi analyyttinen lukuteoria tutkii kokonaislukuja käyttäen matemaattisen analyysin menetelmiä integraaleja, sarjoja jne. ja silläkin on käyttöä kryptologiassa, ks. SHPARLINSKI. 3

9 LUKU 2. LUKUTEORIA. OSA 1 4 (6) Josx y jaz on kokonaisluku, niinx yz. Jakolaskun tulos on yksikäsitteinen. Jos nimittäin x = q 1 y +r 1 = q 2 y +r 2, missä q 1,q 2,r 1,r 2 ovat kokonaislukuja ja 0 r 1,r 2 < y, niin y jakaa r 1 r 2 :n. Koska r 1 r 2 < y, tästä seuraa ettär 1 = r 2 ja edelleen ettäq 1 = q 2. Kokonaislukua, jolla on vain triviaalit tekijät, kutsutaan jaottomaksi. Jaoton kokonaisluku on alkuluku 2, jos se on 2. Ensimmäiset alkuluvut ovat 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,... 2 on ainoa parillinen alkuluku. Eräs perustehtävä on testata onko luonnollinen luku alkuluku vai ei. Kokonaisluku, joka on 2 eikä ole alkuluku, on yhdistetty luku. Lause 2.1. Jos kokonaisluku x on itseisarvoltaan 2, niin sillä on alkulukutekijä eli ns. alkutekijä. Todistus. Jos x 2, alkutekijäplöytyy seuraavalla algoritmilla: 1. Asetetaan z x. 2. Josz on jaoton, tulostetaanp = z ja lopetetaan. 3. Josz ei ole jaoton, etsitään sen ei-triviaali tekijäu. Asetetaanz u ja mennään kohtaan 2. Menettely pysähtyy, sillä kohdan 3. kautta mentäessä aina z pienenee ja on lopulta alkuluku, jolloin tullaan ulos kohdasta 2. Seuraus. Alkulukuja on äärettömän monta. Todistus. Ääretön jono alkulukuja voidaan saada aikaan seuraavalla jo muinaisten kreikkalaisten tuntemalla menettelyllä (jonka ei kuitenkaan arvella tuottavan kaikkia alkulukuja): 1. Asetetaan P 2. TässäP on jonomuuttuja. 2. Jos P = p 1,...,p n, niin lasketaan x = p 1 p n + 1. Huomaa, ettei mikään jonon P alkuluvuista jaax:ää (jakolaskun yksikäsitteisyys). 3. Lauseen 2.1 mukaisesti x:llä on alkutekijä p, joka ei siis kuitenkaan ole mikään jonon P alkuluvuista. Etsitään jokinp, asetetaan P P,p ja palataan kohtaan 2. Alkulukuihin liittyviä perustehtäviä ovat mm. seuraavat: (1) Laske suuruusjärjestyksessän:s alkuluku. (2) Laske suuruusjärjestyksessä n ensimmäistä alkulukua. (3) Laske suurin (vast. pienin) alkuluku, joka on x (vast. x). (4) Laske alkuluvut, jotka ovat x. 2 Alkulukujen joukkoa merkitään toisinaanp:llä.

10 LUKU 2. LUKUTEORIA. OSA 1 5 Lause 2.2. Kokonaisluku x 0 voidaan etumerkkiä vaille kirjoittaa alkulukujen tuloksi, ns. tekijöihinjako. Erityisesti sovitaan, että luku 1 on ns. tyhjä tulo eli tulo, jossa ei ole tekijöitä. Todistus. Seuraava menettely tuottaa jonon alkulukuja, joiden tulo on= ±x: 1. Asetetaan T NULL (tyhjä jono). 2. Josx = ±1, tulostetaant ja lopetetaan. Muista, että tyhjä tulo on = Etsitään jokin x:n alkutekijä p (Lause 2.1), jolloin x = py. Asetetaan T T,p sekä x y ja mennään kohtaan 2. Menettely pysähtyy, koska aina kohdan 3. kautta mentäessä x pienenee ja on lopulta = 1, jolloin tullaan ulos kohdasta 2. Erityisesti tulostus on tyhjä jono, jos x = ±1. Myöhemmin todetaan vielä, että ko. tekijöihinjako on tekijöiden järjestystä lukuunottamatta yksikäsitteinen, ks. Pykälä 2.3. Luonnollisesti eräs perustehtävä on kokonaisluvun tekijöihinjaon etsiminen. Laskennallisesti tämä on varsin vaativaa, ks. Pykälä Kokonaisluvun esitys eri kannoissa Tavallisin tapa esittää kokonaisluku on käyttää tuttua desimaaliesitystä eli 10-kantaista esitystä. Myös 2-kantainen eli binääriesitys on usein esillä, samoin 8-kantainen oktaaliesitys ja 16-kantainen heksadesimaaliesitys. Yleisen kannan esityksen antaa Lause 2.3. Jos k 2, niin jokainen positiivinen kokonaisluku x voidaan esittää yksikäsitteisesti muodossa x = a n k n +a n 1 k n 1 + +a 1 k +a 0, missä0 a 0,a 1,...,a n k 1 jaa n > 0. Kyseessä onx:nk-kantainen esitys,k on kantaluku eli radix ja n+1 on esityksen pituus. Todistus. Esityksen eli jonona n,a n 1,...,a 0 antaa seuraava algoritmi: 1. Asetetaan K NULL (tyhjä jono). 2. Jaetaan x kantaluvullak: Asetetaan K r,k jax q. x = qk + r (osamäärä q, jakojäännös r). 3. Josx = 0, tulostetaankja lopetetaan. Muussa tapauksessa mennään kohtaan 2. Koska kohdassa 2. ainaxpienenee, menettely pysähtyy lopulta kohtaan 3. k-kantainen esitys on yksikäsitteinen. Jos nimittäin x = a n k n +a n 1 k n 1 + +a 1 k +a 0 = b m k m +b m 1 k m 1 + +b 1 k +b 0, missä 0 a 0,a 1,...,a n,b 0,b 1,...,b m k 1 ja a n,b m > 0 ja n m, niin ensinnäkin voidaan päätellä, että n = m eli että esityksen pituus on yksikäsitteinen. Jos olisi n > m, niin olisi myös

11 LUKU 2. LUKUTEORIA. OSA 1 6 b m k m +b m 1 k m 1 + +b 1 k +b 0 (k 1)k m +(k 1)k m 1 + +(k 1)k +k 1 = k m+1 1 < k m+1 k n a n k n +a n 1 k n 1 + +a 1 k +a 0, mikä on ristiriita. Siispä n = m. Samalla tavoin voidaan todeta, että a n = b n. Jos nimittäin vaikkapaa n > b n, niin b n k n +b n 1 k n 1 + +b 1 k +b 0 (a n 1)k n +(k 1)k n 1 + +(k 1)k +k 1 = a n k n 1 < a n k n +a n 1 k n 1 + +a 1 k +a 0, mikä on taas ristiriita. Edelleen voidaan samalla tavoin näyttää, ettäa n 1 = b n 1 jne. Luvun 0 esitys on periaatteessa tyhjä jono missä tahansa kannassa. Koska tämä ei tietenkään käy, sovitaan, että 0:n esitys on 0. Konversio eri kantaesitysten välillä, ns. kantamuunnos eli radix-muunnos, on tietysti kokonaislukujen perustehtäviä. Lause 2.4. Positiivisen kokonaisluvunxk-kantaisen esityksen pituus on missälog k on k-kantainen logaritmi 3. log k x +1 = log k (x+1), Todistus. Josx:nk-kantainen esitys onx = a n k n +a n 1 k n 1 + +a 1 k+a 0, niin sen pituus on s = n+1. Ilmeisestix k n ja toisaalta x (k 1)k n +(k 1)k n 1 + +(k 1)k +k 1 = k n+1 1 < k n+1. Koska siisk s 1 x < k s, niins 1 log k x < s eli s = log k x +1. Toisaalta myösk s 1 < x+1 k s, jotens 1 < log k (x+1) s eli s = log k (x+1). 2.3 Suurin yhteinen tekijä ja pienin yhteinen jaettava Kokonaislukujenx ja y suurin yhteinen tekijä (s.y.t.) on suurin kokonaislukud, joka jakaa molemmat luvut, merkitään d = syt(x,y). S.y.t. on olemassa, jos ainakin toinen luvuista x ja y on 0. Huomaa, että s.y.t. on positiivinen. (Usein määritellään kuitenkin syt(0, 0) = 0.) Jos syt(x, y) = 1, sanotaan että luvuilla x ja y ei ole yhteisiä tekijöitä tai että ne ovat keskenään jaottomia. 3 Muistathan, että logaritmien kannan vaihto sujuu kaavalla log k x = lnx/lnk. Tässä x tarkoittaa x:n ns. pohjaa, ts. suurinta kokonaislukua, joka on x. Vastaavasti x tarkoittaa x:n ns. kattoa eli pienintä kokonaislukua, joka on x.

12 LUKU 2. LUKUTEORIA. OSA 1 7 Lause 2.5. (Bézout n lause) Kokonaislukujen x ja y, joista ainakin toinen on 0, s.y.t. d voidaan kirjoittaa muotoon d = c 1 x+c 2 y (ns. Bézout n muoto), missä c 1 ja c 2 ovat kokonaislukuja, ns. Bézout n kertoimet. Lisäksi, jos x,y 0, voidaan olettaa, että c 1 y ja c 2 x. Todistus. Bézout n muodon samoin kuin s.y.t.:nkin antaa seuraava ns. (Yleistetty) Eukleideen algoritmi. Tässä oletetaan, että 0 x y, mikä ilmeisesti ei mitenkään rajoita tilannetta. MerkitäänSYT(x,y) = (d,c 1,c 2 ). (Yleistetty) Eukleideen algoritmi: 1. Jos x = 0, niin tulostetaan SYT(x, y) = (y, 0, 1) ja lopetetaan. 2. Josx > 0, niin jaetaany ensinx:llä:y = qx+r, missä0 r < x. EtsitäänSYT(r,x) = (d,e 1,e 2 ). Silloin d = e 1 r +e 2 x = e 1 (y qx)+e 2 x = (e 2 e 1 q)x+e 1 y. TulostetaanSYT(x,y) = (d,e 2 e 1 q,e 1 ) ja lopetetaan. Koska r = y qx, syt(x, y) jakaa r:n ja näin ollen syt(x, y) syt(x, r). Vastaavasti syt(x, r) jakaa y:n ja siis syt(x,r) syt(x,y), joten syt(x,r) = syt(x,y). Kohta 2. tuottaa siis oikean tuloksen. Rekursio on päättyvä, koska min(r, x) < min(x, y), ts. aina kutsuttaessa SYT ko. minimiarvo pienenee ja on lopulta= 0. Jos x,y 0, niin ilmeisesti juuri ennen kuin rekursiossa tullaan kohtaan 1. on y = qx ja r = 0 ja d = x, jolloin c 1 = 1 y ja c 2 = 0 x. Toisaalta, aina kun kohdassa 2. y = qx + r ja d = e 1 r + e 2 x, missä e 1 x ja e 2 r, niin e 1 ja e 2 ovat erimerkkiset ja e 2 e 1 q = e 2 + e 1 q r+xq = y. Uudetkin kertoimetc 1 = e 2 e 2 q jac 2 = e 1 toteuttavat siis esitetyn ehdon. Suoraan Bézout n lauseesta näkee seuraavan tuloksen: Seuraus. Jos kokonaisluku z jakaa kokonaisluvut x ja y, joista ainakin toinen on 0, niin se jakaa myös syt(x,y):n. Huomautus. Tästä johtuen syt(x, y) määritelläänkin usein siten, että se on x:n ja y:n yhteinen tekijä, joka on jaollinen kaikilla näiden lukujen yhteisillä tekijöillä. Tämä johtaa samaan s.y.t.:n käsitteeseen. Vm. määritelmä soveltuu kuitenkin myös tilanteeseen x = y = 0 ja antaa em. kaavan syt(0, 0) = 0. Toinen seuraus Bézout n lauseesta on lukujen tekijöihinjaon yksikäsitteisyys, ks. Lause 2.2. Lause 2.6. Kokonaisluvun x 0 tekijöihinjako on yksikäsitteinen. Todistus. Asetetaan vastaoletus: On kokonaisluku x, jolla on (ainakin) kaksi eri tekijöihinjakoa. Voidaan olettaa, että x on positiivinen ja pienin sellainen positiivinen kokonaisluku, jolla on vastaoletuksessa mainittu ominaisuus. Ilmeisesti x 2, sillä ykkösen ainoa tekijöihinjako on tyhjä tulo. Nytxvoidaan oletettuja eri tekijöihinjakoja vastaten kirjoittaa tulomuotoihin x = p i 1 1 p i 2 2 p in n = qj 1 1 q j 2 2 q jm m,

13 LUKU 2. LUKUTEORIA. OSA 1 8 missä p 1,...,p n ovat eri alkulukuja ja samoin q 1,...,q m ovat eri alkulukuja ja i 1,...,i n sekä j 1,..., j m ovat positiivisia kokonaislukuja. Itse asiassa edelleen tiedetään, että silloin myös alkuluvut p 1,..., p n eroavat alkuluvuista q 1,...,q m. Jos nimittäin esimerkiksi p 1 = q 1, niin kokonaisluvulla x/p 1 olisi myös kaksi eri tekijöihinjakoa ja se on pienempi kuin x. Ilmeisesti syt(p 1,q 1 ) = 1, joten Bézout n muodossa Mutta tästä seuraa, että 1 = c 1 p 1 +c 2 q 1. q j q j 2 2 qjm m = (c 1p 1 +c 2 q 1 )q j q j 2 2 qjm m = c 1p 1 q j q j 2 2 qjm m +c 2x, josta havaitaan, ettäp 1 jakaa tulonq j q j 2 2 qjm m, ts. q j q j 2 2 qjm m = p 1z. Koska z:lla ja q j q j 2 2 q jm m :llä on yksikäsitteiset tekijöihinjaot (ne ovat pienempiä kuin x), seuraa tästä, ettäp 1 on jokin alkuluvuistaq 1,...,q m, mikä on ristiriita. Vastaoletus on siis väärä ja tekijöihinjako on yksikäsitteinen. Esitettäessä rationaaliluku muodossax/y, on tapana että syt(x,y) = 1, ts. luku on supistetussa muodossa. Tämä on erityisen tärkeää suurilla luvuilla laskettaessa, jotta x ja y eivät pääsisi kasvamaan suuriksi. Supistettu muoto saadaan luonnollisesti jakamallaxja y syt(x,y):llä, joten pitkissä laskuissa s.y.t. joudutaan etsimään toistuvasti. On tärkeää huomata, että Bézout n lauseessa mainittu kertoimia koskevat rajat c 1 y ja c 2 x ovat voimassa eo. Eukleideen algoritmin joka vaiheessa. Välitulokset eivät näin kasva suuriksi. Toisaalta Eukleideen algoritmi ei ota kovin monta askeltakaan: Lause 2.7. Laskettaessa syt(x, y), missä 0 x y, Eukleideen algoritmi tarvitsee enintään 2log 2 y +1 jakolaskua. Todistus. Asia on selvä, jos x = 0 (ei jakolaskuja) tai x = y (yksi jakolasku), joten voidaan siirtyä tapaukseen 0 < x < y. Todistus perustuu seuraavaan jakolaskua koskevaan havaintoon: Aina jaettaessa kokonaisluvut a ja b, missä 0 < a < b, muodossa b = qa + r (osamäärä q, jakojäännösr), on b = qa+r a+r > 2r. Laskettaessa syt(x, y):tä Eukleideen algoritmin jakoketjussa y = q 1 x+r 1 (0 < r 1 < x), x = q 2 r 1 +r 2 (0 < r 2 < r 1 ), r 1 = q 3 r 2 +r 3 (0 < r 3 < r 2 ),. r l 2 = q l r l 1 +r l (0 < r l < r l 1 ), r l 1 = q l+1 r l on l + 1 jakolaskua. Jos l = 2k + 1 on pariton, on mainitun havainnon mukaan 1 r l < 2 1 r l 2 < 2 2 r l 4 < < 2 i r l 2i < < 2 k r 1 < 2 k 1 y = 2 l+1 2 y < 2 l 2 y, ja josl = 2k on parillinen, 1 r l < 2 1 r l 2 < 2 2 r l 4 < < 2 k+1 r 2 < 2 k x < 2 l 2 y. Siisy > 2 l 2 eli (otetaan2-kantaiset logaritmit)2log 2 y > l, mistä tulos jo seuraakin.

14 LUKU 2. LUKUTEORIA. OSA 1 9 Eukleideen algoritmin soveltaminen ei näin ole kovin työlästä, 2log 2 y+1 on verrannollinen y:n binääriesityksen pituuteen (Lause 2.4). Tarkemmin Eukleideen algoritmin laskennallista vaativuutta käsittelee esimerkiksi KNUTH. Useamman kuin kahden kokonaisluvunx 1,x 2,...,x N suurin yhteinen tekijä d = syt(x 1,x 2,...,x N ) määritellään samoin kuin kahdenkin, eli se on suurin kokonaisluku, joka jakaa kaikki luvut x 1,x 2,...,x N. Jälleen vaaditaan, että ainakin yksi luvuista on 0, voidaan sopia, ettäx N 0. Tällainen s.y.t. voidaan laskea soveltamallan 1kertaa Eukleideen algoritmia, sillä Lause 2.8. syt(x 1,x 2,...,x N ) = syt(x 1,syt(x 2,...,x N )) ja lisäksi s.y.t. voidaan kirjoittaa Bézout n muodossa Todistus. Merkitään lyhyyden vuoksi = syt(x 1,syt(x 2,syt(x 3,...,syt(x N 1,x N ) ))) syt(x 1,x 2,...,x N ) = c 1 x 1 +c 2 x 2 + +c N x N. d = syt(x 1,x 2,...,x N ) ja d = syt(x 1,syt(x 2,syt(x 3,...,syt(x N 1,x N ) ))). Bézout n lauseen nojalla ja edelleen syt(x N 1,x N ) = e 1 x N 1 +e 2 x N syt(x N 2,syt(x N 1,x N )) = e 3 x N 2 +e 4 syt(x N 1,x N ) = e 3 x N 2 +e 4 e 1 x N 1 +e 4 e 2 x N jne., eli lopulta nähdään, että joillekin kokonaisluvuillec 1,...,c N d = c 1 x 1 +c 2 x 2 + +c N x N. Tästä seuraa, ettäd d ja siisd d. Toisaaltad jakaax 1 :n ja s.y.t.:n syt(x 2,syt(x 3,...,syt(x N 1,x N ) )). Viimemainittu s.y.t. jakaa x 2 :n ja s.y.t.:n syt(x 3,...,syt(x N 1,x N ) ). Jne. Siispä d jakaa kaikki luvutx 1,x 2,...,x N ja näin ollend d. Kaiken kaikkiaan päätellään, ettäd = d. Jos luvutx 1,x 2,...,x N ovat 0 ja niiden tekijöihinjaot ovat x i = ±p j i1 1 p j i2 2 p j im M (i = 1,2,...,N), missä sovitaan, ettäj ik = 0, mikäli alkulukup k ei olex i :n tekijä, niin ilmeisesti syt(x 1,x 2,...,x N ) = p min(j 11,...,j N1 ) 1 p min(j 12,...,j N2 ) 2 p min(j 1M,...,j NM ) M. Vaikeus tämän tuloksen käytössä on se, ettei tekijöihinjakoja yleisesti tunneta ja niiden etsiminen taas on työlästä. Kokonaislukujen x 1,x 2,...,x N pienin yhteinen jaettava (p.y.j.) on pienin positiivinen kokonaisluku, jonka kaikki luvutx 1,x 2,...,x N jakavat, merkitäänpyj(x 1,x 2,...,x N ). Jotta p.y.j. olisi olemassa, pitää olla x 1,x 2,...,x N 0. Ajatellen edellä olleita tekijöihinjakoja on ilmeisesti pyj(x 1,x 2,...,x N ) = p max(j 11,...,j N1 ) 1 p max(j 12,...,j N2 ) 2 p max(j 1M,...,j NM ) M. Myös p.y.j. saadaan rekursiivisesti Eukleideen algoritmilla ilman tietoa tekijöistä, sillä

15 LUKU 2. LUKUTEORIA. OSA 1 10 Lause 2.9. pyj(x 1,x 2,...,x N ) = pyj(x 1,pyj(x 2,...,x N )) ja = pyj(x 1,pyj(x 2,pyj(x 3,...,pyj(x N 1,x N ) ))) pyj(x 1,x 2 ) = x 1x 2 syt(x 1,x 2 ). Todistus. Lauseen ensimmäinen kaava seuraa tekijöihinjakokaavasta, sillä p k :n eksponentti pyj(x 1,pyj(x 2,...,x N )):ssä on max(j 1k,max(j 2k,...,j Nk )) ja toisaalta max(j 1k,max(j 2k,...,j Nk )) = max(j 1k,j 2k,...,j Nk ) (k = 1,2,...,M). Samoin toinen kaava seuraa tekijöihinjakokaavasta, sillä alkutekijänp k eksponenttix 1 x 2 :ssa on j 1k +j 2k ja toisaalta max(j 1k,j 2k ) = j 1k +j 2k min(j 1k,j 2k ). Huomautus. Tekijöihinjakokaavasta näkee, että myös useamman luvun s.y.t. on se näiden lukujen (positiivinen) yhteinen tekijä, jonka kaikki muut yhteiset tekijät jakavat, ja tätä käytetään usein määritelmänä. Vastaavasti näkee, että lukujen p.y.j. on se näiden lukujen (positiivinen) yhteinen jaettava, joka jakaa kaikki muut yhteiset jaettavat, ja tätäkin käytetään usein määritelmänä. Näiden vaihtoehtoisten määritelmien nojalla kirjoitetaan usein syt(0, 0,..., 0) = 0 ja myös pyj(0,x 2,...,x n ) = Kongruenssilaskenta eli modulaarilaskenta Kongruenssilaskennan idea on, että lasketaan vain kokonaislukujen jakojäännöksillä käyttäen (yhtä tai useampaa) kiinteää jakajaa, ns. modulia m 1. Kongruenssilaskentaa kutsutaan usein myös modulaarilaskennaksi. Sanotaan, että kokonaisluvutxjay ovat kongruentit modulom, merkitään x y mod m (ns. kongruenssi), josx y on jaollinenm:llä. Tämä luetaan myös x on kongruenttiy:n kanssa modulom tai vain x ony modulom. Jos taasx y ei ole jaollinenm:llä, sanotaan, ettäxjay ovat epäkongruentit modulo m ja merkitään x y mod m. Huomaa erityisesti, että x 0 mod m tarkalleen silloin, kunxon jaollinenm:llä, ja että kaikki luvut ovat keskenään kongruentteja modulo1. Kongruenssi x y mod m sanoo, että jaettaessa x ja y modulilla m saadaan sama (jako)jäännös, ts. x ja y kuuluvat samaan (jako)jäännösluokkaan modulo m. Jokainen kokonaisluku kuuluu aina johonkin jäännösluokkaan modulo m ja vain yhteen sellaiseen. Jäännösluokkia modulom on yhtä paljon kuin eri jakojäännöksiä eli m kpl. Ilmeisesti aina x x mod m, ja jos x y mod m, niin myös y x mod m ja x y mod m. Edelleen, josx y mod m jay z mod m, niin myösx z mod m, tällöin kirjoitetaan x y z mod m. Peruslaskutoimitusten osalta nähdään, että Lause (i) Josx y mod m jau v mod m, niinx+u y +v mod m. (ii) Joscon kokonaisluku ja x y mod m, niincx cy mod m.

16 LUKU 2. LUKUTEORIA. OSA 1 11 (iii) Josx y mod m ja u v mod m, niinxu yv mod m. (iv) Josx y mod m ja n on positiivinen kokonaisluku, niinx n y n mod m. Todistus. (i) Josx y = km jau v = lm, niin(x+u) (y +v) = (k +l)m. (ii) Josx y = km, niincx cy = ckm. (iii) Tämä seuraa (ii):sta, sillä xu yu yv mod m. (iv) Tämä seuraa (iii):sta. Kongruensseilla voidaan siis laskea paljolti kuten yhtälöillä, jakolasku ja supistus puolittain eivät kuitenkaan yleisesti ole sallittuja (asiaan palataan kohta). Jos ajatellaan jakojäännöksiä, voidaan laskea millä tahansa kokonaisluvuilla, joilla modulilla jaettaessa on kyseiset jakojäännökset, ja tulokset ovat samat, ts. edustajien valinnasta riippumattomat. Tietyt edustajajoukot, ns. jäännössysteemit, ovat kuitenkin usein esillä: positiivinen jäännössysteemi 0, 1,..., m 1 (ts. tavalliset jakojäännökset); symmetrinen jäännössysteemi (m 1)/2,...,0,1,...,(m 1)/2 parittomallem:lle; symmetrinen jäännössysteemi (m 2)/2,...,0,1,...,m/2 parillisellem:lle; negatiivinen jäännössysteemi (m 1),..., 1,0. Tavallisin on positiivinen jäännössysteemi. Yleisesti mitkä tahansa m kokonaislukua, joista mitkään eivät ole keskenään kongruentteja modulo m, muodostavat jäännössysteemin modulo m. Luvun x jäännöstä modulo m nimenomaan positiivisessa jäännössysteemissä eli jakojäännöstä jaettaessaxmodulillam merkitään jatkossa(x,mod m):llä. Jakolasku eli supistus puolittain ei yleisesti ole sallittua kongruensseissa, vaan vain seuraavassa mielessä: Lause xu yu mod m on sama kuin kuin x y mod m/syt(u,m), eli kongruenssista saa supistaa pois kokonaisluvun, mikäli samalla jakaa modulin sen ja supistettavan luvun s.y.t.:llä. (Huomaa erityisesti, että josmon u:n tekijä, niinm/syt(u,m) = 1.) Todistus. Lähdetään ensin liikkeelle siitä, että xu yu mod m eli että (x y)u = km. Merkitään d = syt(u,m) ja u = du sekä m = dm. Silloin ilmeisesti syt(u,m ) = 1 ja m = m/syt(u,m) ja vielä(x y)u = km. Bézout n lauseen mukaan 1 = c 1 u +c 2 m, josta seuraa että x y = c 1 u (x y)+c 2 m (x y) = (c 1 k +c 2 (x y))m, ts. ettäx y mod m/syt(u,m). Lähdetään sitten liikkeelle siitä, ettäx y mod m/d eli ettäx y = km/d. Tästä seuraa, että(x y)d = km ja edelleen että(x y)u = u km. Siispäxu yu mod m. Erityisesti kokonaisluvun, jolla ei ole yhteisiä tekijöitä modulin kanssa, saa supistaa pois kongruenssista moduliin koskematta. Seuraus. Jossyt(x,m) = 1, niin luvuty+kx (k = 0,1,...,m 1) muodostavat jäännössysteemin modulom, olipay mikä tahansa kokonaisluku. Todistus. Lukuja onmkpl. Josy+ix y+jx mod m, missä0 i,j m 1, niinix jx mod m ja Lauseen 2.11 nojallai j mod m. Siisi j = km, mutta koska0 i,j m 1, tämä on mahdollista vain kunk = 0 elii = j. Luvut eivät siis ole kongruentteja keskenään.

17 LUKU 2. LUKUTEORIA. OSA 1 12 Samantapaisella tekniikalla nähdään välittömästi, että jos syt(x, m) = 1, niin x:llä on inverssi modulom, ts. on sellainen kokonaislukuy, että xy 1 mod m. Tällöin kirjoitetaan myös x 1 y mod m tai 1/x y mod m. 4 Tällainen inverssi saadaan Eukleideen algoritmilla, sillä Bézout n lauseen nojalla1 = c 1 x+c 2 m ja näinx 1 c 1 mod m. Toisaalta, jos syt(x,m) 1, ei x:llä voi olla inverssiä modulo m, kuten helposti voi havaita. Huomaa vielä, että jos x 1 y mod m, niin y 1 x mod m eli (x 1 ) 1 x mod m. Inverssit modulo m (jos olemassa) tottelevat tavallisia potenssilaskusääntöjä. Esimerkiksi (xy) 1 x 1 y 1 mod m ja x n (x 1 ) n (x n ) 1 mod m (n = 1,2... ). Sellaiset jäännössysteemin luvut x, joille syt(x, m) = 1, muodostavat ns. supistetun jäännössysteemin. Vastaavia jäännösluokkia kutsutaan alkuluokiksi modulo m. Helposti voidaan todeta, että jos x y mod m, niin syt(x,m) = syt(y,m). Supistetuissa jäännössysteemeissä on näin aina yhtä monta lukua ja kahden supistetun jäännössysteemin luvut ovat jossain järjestyksessä pareittain kongruentit modulo m. Supistetun jäännössysteemin modulo m lukujen lukumäärää kutsutaan Eulerin (totientti)funktioksi, merkitään φ(m). Se tarvitaan mm. RSA-kryptauksessa. Tavallisin on jälleen positiivisesta jäännössysteemistä muodostettu supistettu jäännössysteemi. Huomaa erityisesti, että jospon alkuluku, niin1,2,...,p 1 muodostaa supistetun jäännössysteemin modulo p ja φ(p) = p Jäännösluokkarenkaat ja alkukunnat Kokonaisluvut jakautuvatmjäännösluokkaan sen mukaan minkä luvuni = 0,...,m 1 kanssa ne ovat kongruentteja modulo m. Luokkaa, johon kokonaisluku x kuuluu merkitään x:lla. Huomaa, että silloin x = x + km, olipa k mikä tahansa kokonaisluku. Jäännösluokille voidaan määritellä peruslaskutoimitukset edustajien välityksellä, ts. x±y = x±y, x y = x y ja x n = x n (n = 0,1,... ). Laskutoimituksen tulos ei riipu edustajan valinnasta, kuten on helppo todeta. Kokonaislukujen laskujen ominaisuudet siirtyvät jäännösluokille: (1) + ja ovat liitännäiset sekä vaihdannaiset. (2) Osittelulait pätevät. (3) Jokaisella luokallaaon vastaluokka a, ts. sellainen luokka a, että a+( a) = 0. Jos a = x, niin tietysti a = x. (5) 0 ja1 käyttäytyvät kuten pitää, ts.a+0 = a jaa 1 = a. Lisäksi vielä0 1, josm > 1. 4 Tätä inverssiä ei saa sekoittaa rationaalilukuun1/x.

18 LUKU 2. LUKUTEORIA. OSA 1 13 Algebrallisesti jäännösluokat modulo m muodostavat ns. renkaan, ks. Luku 4 ja kurssi Algebra 1 tai Symbolinen laskenta, ns. jäännösluokkarenkaan modulo m, merkitään Z m. Näistä Z 1 on harvinaisen mielenkiinnoton (eivätkä sitä kaikki pidä renkaanakaan). Jos syt(x,m) = 1, niin jäännösluokalla x, on myös käänteisluokka x 1, jolle x x 1 = 1. Luonnollisesti, jos x 1 y mod m, niin x 1 = y. Jos taas syt(x,m) 1, niin tällaista käänteisluokkaa ei ole. Näin ollen kaikilla muilla jäännösluokilla kuin 0:lla on käänteisluokka tarkalleen siinä tapauksessa, että modulimon alkuluku. Tällöin jäännösluokkarengasta kutsutaan alkukunnaksi. Alkukunnissa on näin ollen käytössä myös jakolasku, ts. kertominen käänteisluokalla. Pienin ja usein esiintyvä alkukunta on binäärikunta Z 2, jonka alkiot ovat bitit 0 ja 1 (kirjoitetaan useimmiten ilman yläviivoja:0 ja1). Jäännösluokkarenkaiden matriisien ja vektoreiden laskutoimitukset voidaan siirtää luonnollisella tavalla jäännösluokista muodostettujen vektorien ja matriisien laskutoimituksiksi. Käyttöön tulevat näin peruskursseilta tutut matriisien yhteenlasku-, vähennyslasku-, kertomis- ja potenssiinkorotusoperaatiot sekä transponointi. Samoin neliömatriisien determinantit noudattavat tuttuja laskusääntöjä. Aivan samoin kuin peruskursseilla todetaan se, että neliömatriisilla on käänteismatriisi, jos sen determinantilla (joka on Z m :n jäännösluokka) on käänteisluokka. Huomaa, ettei riitä, että determinantti on 0, sillä Cramerin sääntöä käyttäen käänteismatriisia muodostettaessa tarvitaan jakolasku determinantilla modulo m. Alkukunnissa sen sijaan tietysti riittää, että determinantti on Suurten kokonaislukujen peruslaskutoimitukset Moderneissa kryptosysteemeissä toiminta perustuu paljolti suurille kokonaisluvuille tehtäville laskutoimituksille. Niiden on oltava suoritettavissa nopeasti ja tehokkaasti. Algoritmien tehokkuutta verrataan usein niihin tarvittavien perusaskelten lukumäärällä verrattuna syötelukujen maksimipituuteen N. Perusaskel voisi olla esimerkiksi numeraalien 0, 1,..., 9 yhteen-, vähennys- tai kertolasku. Yleisin tällainen vertailunotaatio on ns. O-notaatio. SilloinO(f(N)) tarkoittaa kollektiivisesti sellaista funktiotag(n), että jostain rajastan N 0 lähtien g(n) Cf(N), missä C on jokin vakio. Varsinaista laskennallista vaativuutta käsitellään laajemmin Pykälässä 6.1. Tarvittaessa pyöristykseen käytetään tavanomaisia funktioita x (x:n pohja eli suurin kokonaisluku, joka on x) ja x (x:n katto eli pienin kokonaisluku, joka on x). Yhteen- ja vähennyslasku Tavallinen koulussa opittu yhteen- ja vähennyslasku ovat sellaisenaankin sopivia myös ohjelmoitaviksi. N- ja M-pituisten lukujen yhteen- ja vähennyslasku vaativat O(max(N, M)) askelta, kuten on helppo todeta. Kertolasku Tavallinen koulussa opittu kertolasku on sopiva tietokoneellekin, mutta se ei ole likellekään nopein mahdollinen. N- ja M-pituisten lukujen kertolasku vaatii tällä tavoin noin O(NM) askelta, mikä voi olla paljon. Karatsuban algoritmi on nopeampi kuin perinteinen algoritmi. Algoritmi on eräänlainen hajoita ja hallitse -menetelmä. Positiivisten lukujen n ja m kertomiseksi desimaaliesityksessä kirjoitetaan ne ensin muotoon n = a10 k +b ja m = c10 k +d,

19 LUKU 2. LUKUTEORIA. OSA 1 14 missäa,b,c,d < 10 k ja lukujen maksimipituus on 2k tai 2k 1. Toinen luvuistaa jacvoi olla nolla, mutta eivät molemmat. Ts. kirjoitetaan ainakin toinen luvuista10 k -kantaisessa esityksessä. Silloin nm = (a10 k +b)(c10 k +d) = y10 2k +(x y z)10 k +z, missä x = (a+b)(c+d), y = ac ja z = bd, ts. tarvitaankin vain kolme erillistä pitkää kokonaislukujen kertolaskua (eikä neljä kuten äkkinäisempi luulisi). Kun nämä kolme kertolaskua (a+b)(c+d), ac ja bd edelleen suoritetaan samalla tavoin jakamalla kertolaskut kolmeen lyhyempään kertolaskuun jne., jolloin lopulta päädytään kertotaulun käyttöön, saadaan varsinainen Karatsuban algoritmi (merkitään TULO(n, m) = nm): Karatsuban kertoalgoritmi: 1. Josn = 0 tai m = 0, tulostetaan0ja lopetetaan. 2. Palautetaan tilanne sellaiseen, jossa kertoja ja kerrottava ovat positiivisia: (2.1) Jos n < 0 ja m > 0 tai n > 0 ja m < 0, lasketaan t = TULO( n, m ), tulostetaan t ja lopetetaan. (2.2) Jos n < 0 ja m < 0, lasketaan t = TULO( n, m), tulostetaan se ja lopetetaan. 3. Jos n, m < 10, katsotaan TULO(n, m) taulukosta ja lopetetaan. 4. Jos n 10 tai m 10, kirjoitetaan n ja m muotoon n = a10 k + b ja m = c10 k + d, missäa,b,c,d < 10 k, kuten yllä. Desimaaliesityksessä tämä on helppoa. 5. Lasketaan TULO(a+b, c+d), TULO(a, c) ja TULO(b, d), tulostetaan (helposti saatava) ja lopetetaan. TULO(n,m) = 10 2k TULO(a,c)+10 k (TULO(a+b,c+d) TULO(a,c) TULO(b,d))+TULO(b,d) Menettely pysähtyy, sillä kerrottavien lukujen maksimipituus pienenee noin puoleen joka kierroksella. Jos kerrotaan Karatsuban algoritmilla kaksi N-pituista lukua ja merkitään K(N):llä tarvittavien numeraaleja 0, 1,..., 9 koskevien peruslaskutoimitusten yläarviota, niin ilmeisestikin eräs K(N) saadaan seuraavasta rekursiokaavasta { αn +3K(N/2), josn on parillinen K(N) =, K(1) = 1, αn +3K((N +1)/2), josn on pariton missä kerroin α saadaan tarvittavien yhteen- ja vähennyslaskujen määrästä, käytetystä algoritmista riippuen. Tietyn arvion tarvittavien perusoperaatioiden määrästä antaa Lause Jos N = 2 l, niink(n) = (2α+1)3 l α2 l+1 = (2α+1)N log 2 3 2αN.

20 LUKU 2. LUKUTEORIA. OSA 1 15 Todistus. Ilmeisesti arvo on oikea, kun N = 1. Jos arvo pätee, kun N = 2 l, se pätee myös kun N = 2 l+1, sillä K(2 l+1 ) = α2 l+1 +3K(2 l ) = α2 l+1 +3(2α+1)3 l 3α2 l+1 = (2α+1)3 l+1 α2 l+2. Luonnollisesti lauseesta suurelle pituudellen saatava perusoperaatioiden enimmäismäärä (2α+1)N log 2 3 2αN = O(N log 2 3 ) = O(N ) on tuntuvasti pienempi kuin O(N 2 ). Esimerkiksi jos N = 2 12 = 4096, niin N 2 /N log 2 3 = 32. Karatsuban menetelmästä on vieläkin nopeampia versioita, joissa kertolasku jaetaan useampaan kuin kahteen osaan, ks. esimerkiksi MIGNOTTE. Nopeimmat kertolaskualgoritmit perustuvat ns. nopean Fourier n muunnoksen (FFT) käyttöön, ks. esimerkiksi LIPSON tai CRANDALL & POMERANCE. Tällöin perusoperaatioiden lukumäärä ono(n lnn ln(lnn)). Ks. myös kurssi Fourier n menetelmät. Jakolasku Tavanomainen koulussa opetettu ns. pitkäjako on siirrettävissä tietokoneelle, tosin siinä oleva arvausvaihe on jonkin verran hankala toteuttaa tehokkaasti, jos kantaluku on iso, ks. KNUTH. Perusoperaatioiden lukumäärä on O(N 2 ), missä on N on jaettavan pituus. Myös Karatsuban algoritmin tapainen jakolaskualgoritmi on mahdollinen ja hyvin nopea. 5 Peruskursseilta tuttuun Newtonin menetelmään pohjautuva jakolasku on varsin tehokas. Oletetaan aluksi, että sekä jakaja m että jaettava n ovat positiivisia ja merkitään jaettavan pituutta N:llä ja jakajan pituutta M:llä. Koska tapaukset N < M ja N = M ovat helppoja, oletetaan, ettän > M. Merkitään jakolaskunn = qm+r (osamääräq ja jakojäännösr) tulosta seuraavasti: JAKO(n, m) = (q, r). Huomaa, että silloin q = n/m. Lähdetään liikkeelle etsimällä ensin jakajan inverssi. Funktion f(x) = m 1/x nollakohdan eli 1/m:n etsimiseksi saadaan Newtonin iteraatio x i+1 = x i f(x i) f (x i ) = 2x i mx 2 i. Käytännössä, jotta voitaisiin käyttää pelkästään kokonaislukujen kertolaskua, lasketaan kuitenkin l = 10 N /m, eli funktion g(x) = m 10 N /x nollakohta, jolle saataisiin vastaavasti tarkka Newtonin iteraatio x i+1 = 2x i mx2 i 10 = 2x N i x2 i l. Jotta pysyttäisiin puhtaasti kokonaisluvuissa, otetaan käyttöön tämän kokonaisluvuiksi pyöristetty versio m y 2 y i+1 = 2y i i. 10 M 10 N M Esiintyvät 10:n potensseilla jaot ovat desimaalijärjestelmässä triviaaleja. Tarkoitus on saada tätä käyttäen lasketuksi l, jolloin ottamalla pohja n10 N l saadaan kokeilemalla osamäärä ja siitä sitten jakojäännös. Seuraavat ominaisuudet on helppo todeta: 2y m10 M y 2 10 M N 2y y 2 /l, ts. kokonaisluvuksi pyöristys ei vähennä iteraatioarvoja. 5 Tällaisia on kuvattu esimerkiksi kirjassa MIGNOTTE ja monisteessa RUOHONEN, K.: Kryptologia sekä hyvin analysoituna raportissa BURNIKEL, C. & ZIEGLER, J.: Fast Recursive Division. Max Planck Institut für Informatik. Forschungsbericht MPI-I (1998).

21 LUKU 2. LUKUTEORIA. OSA 1 16 Jos x l, niin 2x x 2 /l < l. Tarkka iteraatio siis lähestyy l:ää alapuolelta. Koska m/10 M < 1, pyöristetylle iteraatiolle saadaan vastaavasti ( ) m y 2 m y 2 1 2y 2y 1 2y 10 M 10 N M 10 M 10N M l y2 1 ( ) 1 < 2y l y2 2 l+2. Jos x < l, niin 2x x 2 /l > x. Tarkka iteraatio on siis aidosti kasvava niin kauan kun arvot ovat< l. Sama pätee myös pyöristetylle iteraatiolle. Merkitään l = y i +ǫ i, missä ǫ i on virhe. Newtonin menetelmät ovat kvadraattisia, ts. ne kaksinkertaistavat oikeiden numeroiden määrän joka askeleella, niin tässäkin: Josy i < l, niin ǫ i = l y i l 2y i l y2 i 1 = 1 l ǫ2 i 1. Toistamalla tätä ja huomaamalla, ettäl > 10 N M, saadaan (jälleen olettaen, ettäy i < l) ǫ i 1 l ǫ2 i 1 1 l ( ) 2 1 l ǫ2 i 2 l ( i 1) ǫ 2i 0 = ǫ l1 2i 2i 0 < )(N M) ǫ 10(1 2i 2i 0. Nyt vaaditaan, että10 (1 2i)(N M) ǫ 2i 0 1. Olettaen, että ǫ 0 < 10 N M, tämä on sama kuin N M i log 2 N M log 10 ǫ 0 (totea!). Valitaan 10 y 0 = 10 N M M m tai y 0 = 10 N M 10 M m, kumpi pohja vaiko katto nyt sitten on lähempänä lukua 10 M /m, jolloin ǫ 0 10 N M /2. Näin ollen riittää valita iteraatioiden lukumääräksi N M I = log 2 = log log (N M) log 2 (log 10 2). Kokonaisluvuiksi pyöristetty iteraatio tuottaa aidosti kasvavan jonon kokonaislukuja, kunnes saadaan välillä [l,l + 2) oleva arvo. Silloin voidaan pysähtyä ja tarkistaa onko saatu arvo vaiko jokin edeltävä arvo oikea l. Menettely kokonaisuudessaan on seuraava (tulostus on JAKO(n,m)): Jakolasku Newtonin menetelmällä: 1. Jos n = 0, tulostetaan(0, 0) ja lopetetaan. 2. Jos m = 1, tulostetaan(n, 0) ja lopetetaan. 3. Jos m < 0, lasketaan JAKO(n, m) = (q, r), tulostetaan( q, r) ja lopetetaan.

22 LUKU 2. LUKUTEORIA. OSA Josn < 0, lasketaanjako( n,m) = (q,r), tulostetaan( q 1,m r), josr > 0, tai ( q,0), jos r = 0, ja lopetetaan. 5. Asetetaan N jaettavan n pituus ja M jakajan m pituus. 6. JosN < M tulostetaan(0,n) lopetetaan. 7. Jos N = M, lasketaan osamäärä q. Tämä on helppoa, sillä nyt 0 q 9. (Vaikka kokeilemalla, ellei muuten.) Tulostetaan(q, n mq) ja lopetetaan. 8. Jos N > M, lasketaan 10 M /m. Jälleen tämä on helppoa, sillä 1 10 M /m 10. (Kokeilemalla tai muuten.) 9. Jos 10 M /m 10 M /m 1/2 eli 2 10 M 2m 10 M /m m, asetetaan y 0 10 N M 10 M /m. Muuten asetetaan y 0 10 N M ( 10 M /m + 1). Huomaa, että jälkimmäisessä tapauksessay 0 > l ja iteraatioita on suoritettava vähintään yksi. 10. Toistetaan rekursiokaavaa m y i+1 = 2y i 10 M y 2 i 10 N M lähtien arvostay 0 kunnes i 1 jay i+1 y i. 11. Testataan kertolaskulla mikä luvuistay i,y i 1,... on oikea l ja asetetaan k l. 12. Asetetaan t nk/10 N (oleellisesti kertolasku) ja testataan lisäkertolaskulla kumpi luvuista t vai t + 1 on oikea osamäärä q jakolaskussa JAKO(n, m) = (q, r). Tulostetaan (q, n mq) ja lopetetaan. Kohdan 11. menettely tuottaa oikean osamäärän. Ensinnäkinr < m ja q = n r m n m < 10N m. Edelleen, jos JAKO(10 N,m) = (k,r ), niinr < m ja nk 10 = (qm+r)(10n r ) N m10 N = q qr 10 N + r(10n r ) m10 N. Keskimmäinen termi on välillä( 1,0] ja viimeinen välillä[0,1). Näin ollenq on jokottait+1. Koska maksimi-iteraatiomäärä I on hyvin pieni luokkaa jaettavan pituuden N ja jakajan pituuden M erotuksen logaritmi ja iteraation aikana suoritetaan aina kolme kertolaskua ja yksi vähennyslasku enintään 2M-pituisille kokonaisluvuille, joista vielä osa on vakioita, jakolasku ei ole oleellisesti sen työläämpi kuin kertolasku. Kohtien 7. ja 8. kokeilukaan ei vie monta askelta. Huomautus. Tämäntapaisesta jakolaskusta on monia hieman erilaisia versioita. CRANDALL & POMERANCE käsittelee asiaa laajemmin ja antaa myös lisäviitteitä. Potenssiin korotus Luvunapotenssiin korotusa n peräkkäisillä kertomisilla on liian aikaaviepää, sillä siihen tarvitaan n 1 kertolaskua, kun itse asiassa enintään 2 log 2 n kertolaskuakin riittää:

23 LUKU 2. LUKUTEORIA. OSA 1 18 Venäläisten talonpoikien menetelmä: 1. Jos n = 0, tulostetaan potenssi 1 ja lopetetaan. 2. Josn < 0, asetetaan a a 1 sekän n. 3. Jos n 1, muodostetaan n:n binääriesitys b j b j 1 b 0, missä j = log 2 n (n:n pituus binäärilukuna miinus yksi, ks. Lause 2.4). 4. Asetetaan i 0 sekäx 1 jay a. 5. Josi = j, niin tulostetaan potenssixy ja lopetetaan. 6. Josi < j ja 6.1 b i = 0, niin asetetaan y y 2 sekäi i+1 ja mennään kohtaan b i = 1, niin asetetaan x xy jay y 2 sekäi i+1 ja mennään kohtaan 5. Algoritmin toimivuus seuraa välittömästi binääriesityksestä: ja n = b j 2 j +b j 1 2 j 1 + +b 1 2+b 0 a n = a b j2 j a b j 12 j 1 a b 12 a b 0. Käytännössä lienee mukavaa laskea n:n binääriesitystä sitä mukaa, kun sitä tarvitaan, eikä kerralla alussa. Itse asiassa tämä menettely toimii kaikenlaisille potensseille ja myös silloin, kun kertolasku ei ole vaihdannainen, siis esimerkiksi polynomien tai matriisien potenssiinkorotuksessa. Laskettaessa potensseja modulo m pitää tulot tietysti redusoida koko ajan (positiiviseen) jäännössysteemiin modulom, jotteivat välitulokset kasvaisi suuriksi. Näin voidaan laskea nopeasti hyvinkin korkeita modulaarisiä potensseja. Nimi muuten tulee siitä, että venäläiset talonpojat käyttivät helmitaululla laskiessaan tätä menetelmää kertolaskuun, onhan a n tulkittavissa a:n n:nneksi potenssiksi yhteenlaskun suhteen. Algoritmi on ilmeisesti hyvin vanha. Kokonaisjuuri Ei-negatiivisen kokonaisluvunnl:s kokonaisjuuri 6 on n 1/l. Tavallisin näistä on tietysti kokonaisneliöjuuri (l = 2). Merkitään N:llän:n pituutta binääriesityksessä. Kokonaisjuuren laskemiseen käy samantapainen Newtonin menetelmä kuin jakolaskulle. 7 Funktionx l nnollakohdan elin 1/l :n laskemiseksi saadaan Newtonin iteraatio x i+1 = l 1 l x i + n lx l 1 i Mutta koska halutaan laskea kokonaisluvuilla, otetaankin käyttöön kokonaisluvuiksi pyöristetty iteraatio ( ) 1 n y i+1 = (l 1)y i + l yi l 1 ja käytetään kokonaislukujen yhteen-, kerto- ja jakolaskua. Seuraavat ominaisuudet on helppo todeta (tarvittaessa ääriarvotarkasteluin): 6 Joissain teksteissä se on n 1/l, joissain taasn 1/l kokonaisluvuksi pyöristettynä. 7 Myös aikoinaan koulussakin opittu menetelmä neliöjuuren laskemiseksi kynällä ja paperilla on samantapainen kuin pitkäjako..

24 LUKU 2. LUKUTEORIA. OSA 1 19 ( ) 1 n (l 1)y + l y l 1 iteraatioarvoja. l 1 l y + n, kokonaisluvuksi pyöristys ei siis kasvata lyl 1 Josx n 1/l jax > 0, niin l 1 x+ n l lx > l 1 n1/l. Tarkka iteraatio siis lähestyy juurta yläpuolelta. Pyöristetylle versiolle saadaan vastaavasti ( ) ( 1 n 1 (l 1)y + (l 1)y + n ) 1 l y l 1 l yl 1 > l 1 y + n l ly 2 l 1 n1/l 2. Josx > n 1/l, niin l 1 x+ n < x. l lxl 1 Tarkka iteraatio on siis aidosti vähenevä. Sama pätee myös pyöristetylle versiolle. Merkitään n 1/l = y i ǫ i ja valitaan lähtöarvoksi y 0 = 2 N/l. Tämä voidaan laskea nopeasti venäläisten talonpoikien algoritmilla. Koskan < 2 N, on y 0 > n 1/l. Arvioidaan ensin tästä saatu ǫ 0 : ǫ 0 = y 0 n 1/l = 2 N/l n 1/l 2 N/l+1 1/l n 1/l = 2 2 (N 1)/l n 1/l n 1/l. Tämäkin Newtonin menetelmä on kvadraattinen. Todetaan asia vain, kun l = 2. (Yleinen tapaus on mutkikkaampi, mutta samantapainen.) Josy i 1,y i > n 1/l, niin ( ) 0 < ǫ i = y i n 1/l l 1 y i 1 + n n 1/l = 1 y l ly l 1 i 1 2 i 1 ly + n ln 1/l y i 1 y l 2 i 1 i 1 < 1 ( y 2 ln 1/l i 1 + n ) n (l 2)/l 2n1/l y i 1 = 1 ln 1/l(y i 1 n 1/l ) 2 = 1 ln i 1. 1/lǫ2 Tätä arviota toistamalla saadaan (kun merkitään lyhyyden vuoksia = 1 ln 1/l ) ǫ i < aǫ 2 i 1 < a a2 ǫ 22 i 2 < < a i 1 ǫ 2i 0 = a 2i 1 ǫ 2i 0 = a 1 (aǫ 0 ) 2i = ln 1/l ( ǫ0 ln 1/l ) 2i n 1/l l 1 2i. Jos nyt halutaan, että ǫ i < 1, niin riittää ottaa n 1/l l 1 2i 1 eli (totea!) iteraatioita tarvitaan enintään ( I = log 2 1+ log ) 2n. llog 2 l Näin ollen log 2 N:ään verrannollinen määrä iteraatioaskelia riittää, mikä on hyvin vähän. Kokonaisjuuren laskeminen on näin ollen oleellisesti yhtä vaativaa kuin jakolasku. Huomautus. Koska jo n 1/log 2 n = 2, vain enintään n:n pituuden suuruusluokkaa olevat l:n arvot ovat kiinnostavia, muista selvitään pienellä kokeilulla.

25 LUKU 2. LUKUTEORIA. OSA 1 20 Kokonaisluvuiksi pyöristetty iteraatio tuottaa aidosti vähenevän jonon kokonaislukuja, kunnes saadaan välillä(n 1/l 2,n 1/l ] oleva arvo. Newtonin menetelmä l:nnen kokonaisjuuren laskemiseksi: 1. Josn = 0 tai n = 1, tulostetaann ja lopetetaan. 2. Asetetaan y 0 2 N/l, missän onn:n pituus binääriesityksessä. 3. Toistetaan iteraatiota ( ) 1 n y i+1 = (l 1)y i + l y l 1 i lähtien arvostay 0 kunnes y i+1 y i. 4. Testataan mikä luvuista y i,y i + 1,... on oikea kokonaisjuuri n 1/l, tulostetaan se ja lopetetaan. Satunnaisluvun generointi Satunnaisbittijonoja generoidaan yleisesti käyttäen p:nnen kertaluvun siirtorekisteriä 8 modulo 2: r i a 1 r i 1 +a 2 r i 2 + +a p r i p mod 2, missä a 1,a 2,...,a p ovat vakiobittejä (0 tai 1, a p = 1). Aluksi tarvitaan tietysti siemenbitit r 0,r 1,...,r p 1. Tässä lasketaan koko ajan positiivisessa jäännössysteemissä modulo 2 eli biteillä. Saatava jono r p,r p+1,... ei tietenkään oikeasti ole mitenkään satunnainen, saadaanhan se täysin deterministisellä menettelyllä ja on periodinen (periodin pituus enintään2 p ). Kun valitaan kertoimet a 1,a 2,...,a p 1 sopivasti, saadaan jono kuitenkin käyttäytymään monessa mielessä satunnaisesti, periodi on pitkä jne., ks. esimerkiksi KNUTH. Yksinkertaisimmillaan melkein kaikki kertoimet ovat nollia. Tyyppiä r i r i q +r i p mod 2 olevat siirtorekisterit, missä p on alkuluku ja q valitaan sopivasti, tuottavat usein varsin hyviä satunnaisia bittejä. Seuraavassa taulussa on listattuna eräitä valintoja, missä luku q voidaan korvata myös luvullap q: p q (myösp q käy) p q (myösp q käy) , , 915, , , , 369, 370, 649, 1393, 1419, , 5, , 471, 1836, 2444, , 6, 7, , 7083, , 6619, ,7,15,30, , , 48, 158, , , 147, , 33912, 41469, 52549, Klassinen viite on GOLOMB, S.W.: Shift Register Sequences. Aegean Park Press (1982)

Lukuteorian kertausta

Lukuteorian kertausta Lukuteorian kertausta Jakoalgoritmi Jos a, b Z ja b 0, niin on olemassa sellaiset yksikäsitteiset kokonaisluvut q ja r, että a = qb+r, missä 0 r < b. Esimerkki 1: Jos a = 60 ja b = 11, niin 60 = 5 11 +

Lisätiedot

a b 1 c b n c n

a b 1 c b n c n Algebra Syksy 2007 Harjoitukset 1. Olkoon a Z. Totea, että aina a 0, 1 a, a a ja a a. 2. Olkoot a, b, c, d Z. Todista implikaatiot: a) a b ja c d ac bd, b) a b ja b c a c. 3. Olkoon a b i kaikilla i =

Lisätiedot

Matematiikan mestariluokka, syksy 2009 7

Matematiikan mestariluokka, syksy 2009 7 Matematiikan mestariluokka, syksy 2009 7 2 Alkuluvuista 2.1 Alkuluvut Määritelmä 2.1 Positiivinen luku a 2 on alkuluku, jos sen ainoat positiiviset tekijät ovat 1 ja a. Jos a 2 ei ole alkuluku, se on yhdistetty

Lisätiedot

3. Kongruenssit. 3.1 Jakojäännös ja kongruenssi

3. Kongruenssit. 3.1 Jakojäännös ja kongruenssi 3. Kongruenssit 3.1 Jakojäännös ja kongruenssi Tässä kappaleessa esitellään kokonaislukujen modulaarinen aritmetiikka (ns. kellotauluaritmetiikka), jossa luvut tyypillisesti korvataan niillä jakojäännöksillä,

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 6. Alkeislukuteoria 6.1 Jaollisuus Käsitellään kokonaislukujen perusominaisuuksia: erityisesti jaollisuutta Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,...

Lisätiedot

ALKULUKUJA JA MELKEIN ALKULUKUJA

ALKULUKUJA JA MELKEIN ALKULUKUJA ALKULUKUJA JA MELKEIN ALKULUKUJA MINNA TUONONEN Versio: 12. heinäkuuta 2011. 1 2 MINNA TUONONEN Sisältö 1. Johdanto 3 2. Tutkielmassa tarvittavia määritelmiä ja apulauseita 4 3. Mersennen alkuluvut ja

Lisätiedot

PERUSASIOITA ALGEBRASTA

PERUSASIOITA ALGEBRASTA PERUSASIOITA ALGEBRASTA Matti Lehtinen Tässä luetellut lauseet ja käsitteet kattavat suunnilleen sen mitä algebrallisissa kilpatehtävissä edellytetään. Ns. algebrallisia struktuureja jotka ovat nykyaikaisen

Lisätiedot

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2 Tekijä Pitkä matematiikka 11 0..017 170 a) Koska 8 = 4 7, luku 8 on jaollinen luvulla 4. b) Koska 104 = 4 6, luku 104 on jaollinen luvulla 4. c) Koska 4 0 = 80 < 8 ja 4 1 = 84 > 8, luku 8 ei ole jaollinen

Lisätiedot

MAT-41150 Algebra I (s) periodilla IV 2012 Esko Turunen

MAT-41150 Algebra I (s) periodilla IV 2012 Esko Turunen MAT-41150 Algebra I (s) periodilla IV 2012 Esko Turunen Tehtävä 1. Onko joukon X potenssijoukon P(X) laskutoimitus distributiivinen laskutoimituksen suhteen? Onko laskutoimitus distributiivinen laskutoimituksen

Lisätiedot

LUKUTEORIAN ALKEET HELI TUOMINEN

LUKUTEORIAN ALKEET HELI TUOMINEN LUKUTEORIAN ALKEET HELI TUOMINEN Sisältö 1. Lukujärjestelmät 2 1.1. Kymmenjärjestelmä 2 1.2. Muita lukujärjestelmiä 2 1.3. Yksikäsitteisyyslause 4 2. Alkulukuteoriaa 6 2.1. Jaollisuus 6 2.2. Suurin yhteinen

Lisätiedot

LUKUTEORIA johdantoa

LUKUTEORIA johdantoa LUKUTEORIA johdantoa LUKUTEORIA JA TODISTAMINEN, MAA11 Lukuteorian tehtävä: Lukuteoria tutkii kokonaislukuja, niiden ominaisuuksia ja niiden välisiä suhteita. Kokonaislukujen maailma näyttää yksinkertaiselta,

Lisätiedot

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Liisa Ilonen. Primitiiviset juuret

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Liisa Ilonen. Primitiiviset juuret TAMPEREEN YLIOPISTO Pro gradu -tutkielma Liisa Ilonen Primitiiviset juuret Matematiikan ja tilastotieteen laitos Matematiikka Joulukuu 2009 Tampereen yliopisto Matematiikan ja tilastotieteen laitos ILONEN,

Lisätiedot

Merkitse kertolasku 3 3 3 3 potenssin avulla ja laske sen arvo.

Merkitse kertolasku 3 3 3 3 potenssin avulla ja laske sen arvo. 13 Luvun potenssi Kertolasku, jonka kaikki tekijät ovat samoja, voidaan merkitä lyhyemmin potenssin avulla. Potenssimerkinnässä eksponentti ilmaisee, kuinka monta kertaa kantaluku esiintyy tulossa. Potenssin

Lisätiedot

rm + sn = d. Siispä Proposition 9.5(4) nojalla e d.

rm + sn = d. Siispä Proposition 9.5(4) nojalla e d. 9. Renkaat Z ja Z/qZ Tarkastelemme tässä luvussa jaollisuutta kokonaislukujen renkaassa Z ja todistamme tuloksia, joita käytetään jäännösluokkarenkaan Z/qZ ominaisuuksien tarkastelussa. Jos a, b, c Z ovat

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 1 1 Matemaattisesta päättelystä Matemaattisen analyysin kurssin (kuten minkä tahansa matematiikan kurssin) seuraamista helpottaa huomattavasti, jos opiskelija ymmärtää

Lisätiedot

Suurin yhteinen tekijä (s.y.t.) ja pienin yhteinen monikerta (p.y.m.)

Suurin yhteinen tekijä (s.y.t.) ja pienin yhteinen monikerta (p.y.m.) Suurin yhteinen tekijä (s.y.t.) ja pienin yhteinen monikerta (p.y.m.) LUKUTEORIA JA TODISTAMINEN, MAA11 Määritelmä, yhteinen tekijä ja suurin yhteinen tekijä: Annettujen lukujen a ja b yhteinen tekijä

Lisätiedot

1 Lukujen jaollisuudesta

1 Lukujen jaollisuudesta Matematiikan mestariluokka, syksy 2009 1 1 Lukujen jaollisuudesta Lukujoukoille käytetään seuraavia merkintöjä: N = {1, 2, 3, 4,... } Luonnolliset luvut Z = {..., 2, 1, 0, 1, 2,... } Kokonaisluvut Kun

Lisätiedot

on Abelin ryhmä kertolaskun suhteen. Tämän joukon alkioiden lukumäärää merkitään

on Abelin ryhmä kertolaskun suhteen. Tämän joukon alkioiden lukumäärää merkitään 5. Primitiivinen alkio 5.1. Täydennystä lukuteoriaan. Olkoon n Z, n 2. Palautettakoon mieleen, että kokonaislukujen jäännösluokkarenkaan kääntyvien alkioiden muodostama osajoukko Z n := {x Z n x on kääntyvä}

Lisätiedot

Mitään muita operaatioita symbolille ei ole määritelty! < a kaikilla kokonaisluvuilla a, + a = kaikilla kokonaisluvuilla a.

Mitään muita operaatioita symbolille ei ole määritelty! < a kaikilla kokonaisluvuilla a, + a = kaikilla kokonaisluvuilla a. Polynomit Tarkastelemme polynomirenkaiden teoriaa ja polynomiyhtälöiden ratkaisemista. Algebrassa on tapana pitää erillään polynomin ja polynomifunktion käsitteet. Polynomit Tarkastelemme polynomirenkaiden

Lisätiedot

+ 3 2 5 } {{ } + 2 2 2 5 2. 2 kertaa jotain

+ 3 2 5 } {{ } + 2 2 2 5 2. 2 kertaa jotain Jaollisuustestejä (matematiikan mestariluokka, 7.11.2009, ohjattujen harjoitusten lopputuloslappu) Huom! Nämä eivät tietenkään ole ainoita jaollisuussääntöjä; ovatpahan vain hyödyllisiä ja ainakin osittain

Lisätiedot

R : renkaan R kääntyvien alkioiden joukko; R kertolaskulla varustettuna on

R : renkaan R kääntyvien alkioiden joukko; R kertolaskulla varustettuna on 0. Kertausta ja täydennystä Kurssille Äärelliset kunnat tarvittavat esitiedot löytyvät Algebran kurssista [Alg]. Hyödyksi voivat myös olla (vaikka eivät välttämättömiä) Lukuteorian alkeet [LTA] ja Salakirjoitukset

Lisätiedot

RSA Julkisen avaimen salakirjoitusmenetelmä

RSA Julkisen avaimen salakirjoitusmenetelmä RSA Julkisen avaimen salakirjoitusmenetelmä Perusteet, algoritmit, hyökkäykset Matti K. Sinisalo, FL Alkuluvut Alkuluvuilla tarkoitetaan lukua 1 suurempia kokonaislukuja, jotka eivät ole tasan jaollisia

Lisätiedot

2017 = = = = = = 26 1

2017 = = = = = = 26 1 JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 2, MALLIRATKAISUT Tehtävä 1. Sovella Eukleiden algoritmia ja (i) etsi s.y.t(2017, 753) (ii) etsi kaikki kokonaislukuratkaisut yhtälölle 405x + 141y = 12. Ratkaisu

Lisätiedot

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III. Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III. Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO 8038A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 016 Sisältö 1 Irrationaaliluvuista Antiikin lukuja 6.1 Kolmio- neliö- ja tetraedriluvut...................

Lisätiedot

d Z + 17 Viimeksi muutettu

d Z + 17 Viimeksi muutettu 5. Diffien ja Hellmanin avaintenvaihto Miten on mahdollista välittää salatun viestin avaamiseen tarkoitettu avain Internetin kaltaisen avoimen liikennöintiväylän kautta? Kuka tahansahan voi (ainakin periaatteessa)

Lisätiedot

Liite 2. Ryhmien ja kuntien perusteet

Liite 2. Ryhmien ja kuntien perusteet Liite 2. Ryhmien ja kuntien perusteet 1. Ryhmät 1.1 Johdanto Erilaisissa matematiikan probleemoissa törmätään usein muotoa a + x = b tai a x = b oleviin yhtälöihin, joissa tuntematon muuttuja on x. Lukujoukkoja

Lisätiedot

a b c d + + + + + + + + +

a b c d + + + + + + + + + 28. 10. 2010!"$#&%(')'+*(#-,.*/1032/465$*784 /(9:*;9."$ *;5> *@9 a b c d 1. + + + 2. 3. 4. 5. 6. + + + + + + + + + + P1. Valitaan kannaksi sivu, jonka pituus on 4. Koska toinen jäljelle jäävistä sivuista

Lisätiedot

a k+1 = 2a k + 1 = 2(2 k 1) + 1 = 2 k+1 1. xxxxxx xxxxxx xxxxxx xxxxxx

a k+1 = 2a k + 1 = 2(2 k 1) + 1 = 2 k+1 1. xxxxxx xxxxxx xxxxxx xxxxxx x x x x x x x x Matematiikan johdantokurssi, syksy 08 Harjoitus, ratkaisuista Hanoin tornit -ongelma: Tarkastellaan kolmea pylvästä A, B ja C, joihin voidaan pinota erikokoisia renkaita Lähtötilanteessa

Lisätiedot

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III 802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LUKUTEORIA 1 / 77 Irrationaaliluvuista Määritelmä 1 Luku α C \ Q on

Lisätiedot

Nopea kertolasku, Karatsuban algoritmi

Nopea kertolasku, Karatsuban algoritmi Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa

Lisätiedot

KRYPTOLOGIA. Keijo Ruohonen

KRYPTOLOGIA. Keijo Ruohonen KRYPTOLOGIA Keijo Ruohonen 2004 Sisältö 1 IJOHDANTO 3 II EKSKURSIO LUKUTEORIAAN 1 3 2.1 Jaollisuus, tekijät, alkuluvut 5 2.2 Kokonaisluvun esitys eri kannoissa 6 2.3 Suurin yhteinen tekijä ja pienin yhteinen

Lisätiedot

Primitiiviset juuret: teoriaa ja sovelluksia

Primitiiviset juuret: teoriaa ja sovelluksia TAMPEREEN YLIOPISTO Pro gradu -tutkielma Outi Sutinen Primitiiviset juuret: teoriaa ja sovelluksia Matematiikan, tilastotieteen ja filosofian laitos Matematiikka Huhtikuu 2006 Tampereen yliopisto Matematiikan,

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet

MS-A0402 Diskreetin matematiikan perusteet MS-A0402 Diskreetin matematiikan perusteet Osa 4: Modulaariaritmetiikka Riikka Kangaslampi 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Modulaariaritmetiikka Jakoyhtälö Määritelmä 1 Luku

Lisätiedot

7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi

7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi 7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi Z p [x]/(m), missä m on polynomirenkaan Z p [x] jaoton polynomi (ks. määritelmä 3.19).

Lisätiedot

Todistus. Eliminoidaan Euleideen algoritmissa jakojäännökset alhaaltaylöspäin.

Todistus. Eliminoidaan Euleideen algoritmissa jakojäännökset alhaaltaylöspäin. 18 ALGEBRA II missä r n (x) =syt(f(x),g(x)). Lause 2.7. Olkoot f(x),g(x) K[x]. Silloin syt(f(x),g(x)) = a(x)f(x)+b(x)g(x), joillakin a(x),b(x) K[x]. Todistus. Eliminoidaan Euleideen algoritmissa jakojäännökset

Lisätiedot

Nimittäin, koska s k x a r mod (p 1), saadaan Fermat n pienen lauseen avulla

Nimittäin, koska s k x a r mod (p 1), saadaan Fermat n pienen lauseen avulla 6. Digitaalinen allekirjoitus Digitaalinen allekirjoitus palvelee samaa tarkoitusta kuin perinteinen käsin kirjotettu allekirjoitus, t.s. Liisa allekirjoittaessaan Pentille lähettämän viestin, hän antaa

Lisätiedot

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) Salausmenetelmät Veikko Keränen, Jouko Teeriaho (RAMK, 2006) LUKUTEORIAA JA ALGORITMEJA 3. Kongruenssit à 3.1 Jakojäännös ja kongruenssi Määritelmä 3.1 Kaksi lukua a ja b ovat keskenään kongruentteja (tai

Lisätiedot

Teema 4. Homomorfismeista Ihanne ja tekijärengas. Teema 4 1 / 32

Teema 4. Homomorfismeista Ihanne ja tekijärengas. Teema 4 1 / 32 1 / 32 Esimerkki 4A.1 Esimerkki 4A.2 Esimerkki 4B.1 Esimerkki 4B.2 Esimerkki 4B.3 Esimerkki 4C.1 Esimerkki 4C.2 Esimerkki 4C.3 2 / 32 Esimerkki 4A.1 Esimerkki 4A.1 Esimerkki 4A.2 Esimerkki 4B.1 Esimerkki

Lisätiedot

Shorin algoritmin matematiikkaa Edvard Fagerholm

Shorin algoritmin matematiikkaa Edvard Fagerholm Edvard Fagerholm 1 Määritelmiä Määritelmä 1 Ryhmä G on syklinen, jos a G s.e. G = a. Määritelmä 2 Olkoon G ryhmä. Tällöin alkion a G kertaluku ord(a) on pienin luku n N \ {0}, jolla a n = 1. Jos lukua

Lisätiedot

Määritelmä, alkuluku/yhdistetty luku: Esimerkki . c) Huomautus Määritelmä, alkutekijä: Esimerkki

Määritelmä, alkuluku/yhdistetty luku: Esimerkki . c) Huomautus Määritelmä, alkutekijä: Esimerkki Alkuluvut LUKUTEORIA JA TODISTAMINEN, MAA11 Jokainen luku 0 on jaollinen ainakin itsellään, vastaluvullaan ja luvuilla ±1. Kun muita eri ole, niin kyseinen luku on alkuluku. Määritelmä, alkuluku/yhdistetty

Lisätiedot

kaikille a R. 1 (R, +) on kommutatiivinen ryhmä, 2 a(b + c) = ab + ac ja (b + c)a = ba + ca kaikilla a, b, c R, ja

kaikille a R. 1 (R, +) on kommutatiivinen ryhmä, 2 a(b + c) = ab + ac ja (b + c)a = ba + ca kaikilla a, b, c R, ja Renkaat Tarkastelemme seuraavaksi rakenteita, joissa on määritelty kaksi binääristä assosiatiivista laskutoimitusta, joista toinen on kommutatiivinen. Vaadimme muuten samat ominaisuudet kuin kokonaisluvuilta,

Lisätiedot

ja jäännösluokkien joukkoa

ja jäännösluokkien joukkoa 3. Polynomien jäännösluokkarenkaat Olkoon F kunta, ja olkoon m F[x]. Polynomeille f, g F [x] määritellään kongruenssi(-relaatio) asettamalla g f mod m : m g f g = f + m h jollekin h F [x]. Kongruenssi

Lisätiedot

H = : a, b C M. joten jokainen A H {0} on kääntyvä matriisi. Itse asiassa kaikki nollasta poikkeavat alkiot ovat yksiköitä, koska. a b.

H = : a, b C M. joten jokainen A H {0} on kääntyvä matriisi. Itse asiassa kaikki nollasta poikkeavat alkiot ovat yksiköitä, koska. a b. 10. Kunnat ja kokonaisalueet Määritelmä 10.1. Olkoon K rengas, jossa on ainakin kaksi alkiota. Jos kaikki renkaan K nollasta poikkeavat alkiot ovat yksiköitä, niin K on jakorengas. Kommutatiivinen jakorengas

Lisätiedot

Algebra I, harjoitus 5,

Algebra I, harjoitus 5, Algebra I, harjoitus 5, 7.-8.10.2014. 1. 2 Osoita väitteet oikeiksi tai vääriksi. a) (R, ) on ryhmä, kun asetetaan a b = 2(a + b) aina, kun a, b R. (Tässä + on reaalilukujen tavallinen yhteenlasku.) b)

Lisätiedot

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Jukka Vilen. Polynomirenkaista

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Jukka Vilen. Polynomirenkaista TAMPEREEN YLIOPISTO Pro gradu -tutkielma Jukka Vilen Polynomirenkaista Informaatiotieteiden tiedekunta Matematiikan, tilastotieteen ja filosofian laitos Matematiikka Kesäkuu 2005 Tampereen yliopisto Matematiikan,

Lisätiedot

Alkulukujen harmoninen sarja

Alkulukujen harmoninen sarja Alkulukujen harmoninen sarja LuK-tutkielma Markus Horneman Oiskelijanumero:2434548 Matemaattisten tieteiden laitos Oulun ylioisto Syksy 207 Sisältö Johdanto 2 Hyödyllisiä tuloksia ja määritelmiä 3. Alkuluvuista............................

Lisätiedot

R 1 = Q 2 R 2 + R 3,. (2.1) R l 2 = Q l 1 R l 1 + R l,

R 1 = Q 2 R 2 + R 3,. (2.1) R l 2 = Q l 1 R l 1 + R l, 2. Laajennettu Eukleideen algoritmi Määritelmä 2.1. Olkoot F kunta ja A, B, C, D F [x]. Sanotaan, että C jakaa A:n (tai C on A:n jakaja), jos on olemassa K F [x] siten, että A = K C; tällöin merkitään

Lisätiedot

Funktioiden approksimointi ja interpolointi

Funktioiden approksimointi ja interpolointi Funktioiden approksimointi ja interpolointi Keijo Ruotsalainen Division of Mathematics interpolaatio-ongelma 8 Eksponenttifunktion exp(x) interpolointi 3.5 Funktion e^{0.25x} \sin(x) interpolointi 7 3

Lisätiedot

Neljän alkion kunta, solitaire-peli ja

Neljän alkion kunta, solitaire-peli ja Neljän alkion kunta, solitaire-peli ja taikaneliöt Kalle Ranto ja Petri Rosendahl Matematiikan laitos, Turun yliopisto Nykyisissä tietoliikennesovelluksissa käytetään paljon tekniikoita, jotka perustuvat

Lisätiedot

[a] ={b 2 A : a b}. Ekvivalenssiluokkien joukko

[a] ={b 2 A : a b}. Ekvivalenssiluokkien joukko 3. Tekijälaskutoimitus, kokonaisluvut ja rationaaliluvut Tässä luvussa tutustumme kolmanteen tapaan muodostaa laskutoimitus joukkoon tunnettujen laskutoimitusten avulla. Tätä varten määrittelemme ensin

Lisätiedot

Salakirjoitusmenetelmiä

Salakirjoitusmenetelmiä Salakirjoitusmenetelmiä LUKUTEORIA JA LOGIIKKA, MAA 11 Salakirjoitusten historia on tuhansia vuosia pitkä. On ollut tarve lähettää viestejä, joiden sisältö ei asianomaisen mielestä saanut tulla ulkopuolisten

Lisätiedot

Juuri 11 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

Juuri 11 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Kertaus K1. a) 72 = 2 36 = 2 2 18 = 2 2 2 9 = 2 2 2 3 3 = 2 3 3 2 252 = 2 126 = 2 2 63 = 2 2 3 21 = 2 2 3 3 7 = 2 2 3 2 7 syt(72, 252) = 2 2 3 2 = 36 b) 252 = 72 3 + 36 72 = 36 2 syt(72, 252) = 36 c) pym(72,

Lisätiedot

2 Yhtälöitä ja epäyhtälöitä

2 Yhtälöitä ja epäyhtälöitä 2 Yhtälöitä ja epäyhtälöitä 2.1 Ensimmäisen asteen yhtälö ja epäyhtälö Muuttujan x ensimmäisen asteen yhtälöksi sanotaan yhtälöä, joka voidaan kirjoittaa muotoon ax + b = 0, missä vakiot a ja b ovat reaalilukuja

Lisätiedot

LAUSEKKEET JA NIIDEN MUUNTAMINEN

LAUSEKKEET JA NIIDEN MUUNTAMINEN LAUSEKKEET JA NIIDEN MUUNTAMINEN 1 LUKULAUSEKKEITA Ratkaise seuraava tehtävä: Retkeilijät ajoivat kahden tunnin ajan polkupyörällä maantietä pitkin 16 km/h nopeudella, ja sitten vielä kävelivät metsäpolkua

Lisätiedot

Diofantoksen yhtälön ratkaisut

Diofantoksen yhtälön ratkaisut Diofantoksen yhtälön ratkaisut Matias Mäkelä Matemaattisten tieteiden tutkinto-ohjelma Oulun yliopisto Kevät 2017 Sisältö Johdanto 2 1 Suurin yhteinen tekijä 2 2 Eukleideen algoritmi 4 3 Diofantoksen yhtälön

Lisätiedot

Rationaaliluvun desimaaliesitys algebrallisesta ja lukuteoreettisesta näkökulmasta

Rationaaliluvun desimaaliesitys algebrallisesta ja lukuteoreettisesta näkökulmasta TAMPEREEN YLIOPISTO Pro gradu -tutkielma Liisa Lampinen Rationaaliluvun desimaaliesitys algebrallisesta ja lukuteoreettisesta näkökulmasta Informaatiotieteiden yksikkö Matematiikka Kesäkuu 2016 Tampereen

Lisätiedot

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) 31.1.-4.2.2011 OT 1. Määritellään kokonaisluvuille laskutoimitus n m = n + m + 5. Osoita, että (Z, ) on ryhmä.

Lisätiedot

Matikkapaja keskiviikkoisin klo Lineaarialgebra (muut ko) p. 1/81

Matikkapaja keskiviikkoisin klo Lineaarialgebra (muut ko) p. 1/81 Matikkapaja keskiviikkoisin klo 14-16 Lineaarialgebra (muut ko) p. 1/81 Lineaarialgebra (muut ko) p. 2/81 Operaatiot Vektoreille u = (u 1,u 2 ) ja v = (v 1,v 2 ) Yhteenlasku: u+v = (u 1 +v 1,u 2 +v 2 )

Lisätiedot

x j x k Tällöin L j (x k ) = 0, kun k j, ja L j (x j ) = 1. Alkuperäiselle interpolaatio-ongelmalle saadaan nyt ratkaisu

x j x k Tällöin L j (x k ) = 0, kun k j, ja L j (x j ) = 1. Alkuperäiselle interpolaatio-ongelmalle saadaan nyt ratkaisu 2 Interpolointi Olkoon annettuna n+1 eri pistettä x 0, x 1, x n R ja n+1 lukua y 0, y 1,, y n Interpoloinnissa etsitään funktiota P, joka annetuissa pisteissä x 0,, x n saa annetut arvot y 0,, y n, (21)

Lisätiedot

Kryptologia Esitelmä

Kryptologia Esitelmä Kryptologia p. 1/28 Kryptologia Esitelmä 15.4.2011 Keijo Ruohonen keijo.ruohonen@tut.fi Kryptologia p. 2/28 Kryptologian termejä Kryptaus: Tiedon salaus käyttäen avainta Dekryptaus: Salauksen purku käyttäen

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 14 To 20.10.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 14 To 20.10.2011 p. 1/39 p. 1/39 Nopeat Fourier-muunnokset Diskreetti Fourier-muunnos ˆf k = 1 N 1 N

Lisätiedot

1 Algebralliset perusteet

1 Algebralliset perusteet 1 Algebralliset perusteet 1.1 Renkaat Tämän luvun jälkeen opiskelijoiden odotetaan muistavan, mitä ovat renkaat, vaihdannaiset renkaat, alirenkaat, homomorfismit, ideaalit, tekijärenkaat, maksimaaliset

Lisätiedot

1 Lineaariavaruus eli Vektoriavaruus

1 Lineaariavaruus eli Vektoriavaruus 1 Lineaariavaruus eli Vektoriavaruus 1.1 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä V epätyhjä joukko. Oletetaan, että joukossa V on määritelty laskutoimitus

Lisätiedot

1 sup- ja inf-esimerkkejä

1 sup- ja inf-esimerkkejä Alla olevat kohdat (erityisesti todistukset) ovat lähinnä oheislukemista reaaliluvuista, mutta joihinkin niistä palataan myöhemmin kurssilla. 1 sup- ja inf-esimerkkejä Nollakohdan olemassaolo. Kaikki tuntevat

Lisätiedot

FUNKTIONAALIANALYYSIN PERUSKURSSI 1. 0. Johdanto

FUNKTIONAALIANALYYSIN PERUSKURSSI 1. 0. Johdanto FUNKTIONAALIANALYYSIN PERUSKURSSI 1. Johdanto Funktionaalianalyysissa tutkitaan muun muassa ääretönulotteisten vektoriavaruuksien, ja erityisesti täydellisten normiavaruuksien eli Banach avaruuksien ominaisuuksia.

Lisätiedot

2 j =

2 j = 1. Modulaariaritmetiikkaa Yksinkertaisissa salausjärjestelmissä käytettävä matematiikka on paljolti lukuteoriaan pohjautuvaa suurten lukujen modulaariaritmetiikkaa (lasketaan kokonaisluvuilla modulo n).

Lisätiedot

Luentorunko ja harjoitustehtävät. SALAUSMENETELMÄT (801346A) 4 op, 2 ov

Luentorunko ja harjoitustehtävät. SALAUSMENETELMÄT (801346A) 4 op, 2 ov Luentorunko ja harjoitustehtävät SALAUSMENETELMÄT (801346A) 4 op, 2 ov Keijo Väänänen I JOHDANTO Salakirjoitukset kurssilla tarkastelemme menetelmiä, jotka mahdollistavat tiedon siirtämisen tai tallentamisen

Lisätiedot

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa)

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa) Lukuteoria Lukuteoria on eräs vanhimmista matematiikan aloista. On sanottu, että siinä missä matematiikka on tieteiden kuningatar, on lukuteoria matematiikan kuningatar. Perehdymme seuraavassa luonnollisten

Lisätiedot

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Jussi Tervaniemi. Primitiiviset juuret

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Jussi Tervaniemi. Primitiiviset juuret TAMPEREEN YLIOPISTO Pro gradu -tutkielma Jussi Tervaniemi Primitiiviset juuret Matematiikan, tilastotieteen ja filosofian laitos Matematiikka Heinäkuu 2006 Sisältö Johdanto 3 1 Lukuteorian peruskäsitteitä

Lisätiedot

Kokonaislukuoptimointi

Kokonaislukuoptimointi Kokonaislukuoptimointi Algebrallisen geometrian sovelluksia Sisältö Taustaa algebrallisesta geometriasta Gröbnerin kanta Buchbergerin algoritmi Kokonaislukuoptimointi Käypyysongelma Algoritmi ratkaisun

Lisätiedot

k=1 b kx k K-kertoimisia polynomeja, P (X)+Q(X) = (a k + b k )X k n+m a i b j X k. i+j=k k=0

k=1 b kx k K-kertoimisia polynomeja, P (X)+Q(X) = (a k + b k )X k n+m a i b j X k. i+j=k k=0 1. Polynomit Tässä luvussa tarkastelemme polynomien muodostamia renkaita polynomien ollisuutta käsitteleviä perustuloksia. Teemme luvun alkuun kaksi sopimusta: Tässä luvussa X on muodollinen symboli, jota

Lisätiedot

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus.

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden

Lisätiedot

(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =

(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = = JOHDATUS LUKUTEORIAAN (syksy 07) HARJOITUS 7, MALLIRATKAISUT Tehtävä Etsi seuraavien rationaalilukujen ketjumurtokehitelmät: (i) 7 6 (ii) 4 7 (iii) 65 74 (iv) 63 74 Ratkaisu Sovelletaan Eukleideen algoritmia

Lisätiedot

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen.

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Tietyn ominaisuuden samuus -relaatio on ekvivalenssi; se on (1) refleksiivinen,

Lisätiedot

Rollen lause polynomeille

Rollen lause polynomeille Rollen lause polynomeille LuK-tutkielma Anna-Helena Hietamäki 7193766 Matemaattisten tieteiden tutkinto-ohjelma Oulun yliopisto Kevät 015 Sisältö 1 Johdanto 1.1 Rollen lause analyysissä.......................

Lisätiedot

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä 1 1. Etsi lukujen 4655 ja 12075 suurin yhteinen tekijä ja lausu se kyseisten lukujen lineaarikombinaationa ilman laskimen

Lisätiedot

pdfmark=/pages, Raw=/Rotate 90 1 LUKUTEORIAA JA MUITA TYÖKALUJA SALAUKSEEN Lukujoukot Sekalaisia merkintöjä...

pdfmark=/pages, Raw=/Rotate 90 1 LUKUTEORIAA JA MUITA TYÖKALUJA SALAUKSEEN Lukujoukot Sekalaisia merkintöjä... pdfmark=/pages, Raw=/Rotate 90 Sisältö 1 LUKUTEORIAA JA MUITA TYÖKALUJA SALAUKSEEN 0-2 2 Merkintöjä 0-3 2.1 Lukujoukot................... 0-3 2.2 Sekalaisia merkintöjä.............. 0-4 2.3 Tärkeitä kaavoja................

Lisätiedot

Lineaariset kongruenssiyhtälöryhmät

Lineaariset kongruenssiyhtälöryhmät Lineaariset kongruenssiyhtälöryhmät LuK-tutkielma Jesse Salo 2309369 Matemaattisten tieteiden laitos Oulun yliopisto Sisältö Johdanto 2 1 Kongruensseista 3 1.1 Kongruenssin ominaisuuksia...................

Lisätiedot

802354A Algebran perusteet Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä

802354A Algebran perusteet Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä 802354A Algebran perusteet Luentorunko Kevät 2018 Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä Sisältö 1 Lukuteoriaa 3 1.1 Jakoalgoritmi ja alkuluvut.................... 3 1.2 Suurin yhteinen tekijä......................

Lisätiedot

XXIII Keski-Suomen lukiolaisten matematiikkakilpailu 23.1.2014, tehtävien ratkaisut

XXIII Keski-Suomen lukiolaisten matematiikkakilpailu 23.1.2014, tehtävien ratkaisut XXIII Keski-Suomen lukiolaisten matematiikkakilpailu 23.1.2014, tehtävien ratkaisut 1. Avaruusalus sijaitsee tason origossa (0, 0) ja liikkuu siitä vakionopeudella johonkin suuntaan, joka ei muutu. Tykki

Lisätiedot

802354A Algebran perusteet Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä

802354A Algebran perusteet Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä 802354A Algebran perusteet Luentorunko Kevät 2017 Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä Sisältö 1 Lukuteoriaa 3 1.1 Jakoalgoritmi ja alkuluvut.................... 3 1.2 Suurin yhteinen tekijä......................

Lisätiedot

w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1.

w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1. Kotitehtävät, tammikuu 2011 Vaikeampi sarja 1. Ratkaise yhtälöryhmä w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1. Ratkaisu. Yhtälöryhmän ratkaisut (w, x, y, z)

Lisätiedot

Eulerin lauseen merkitys kryptauksen kannalta

Eulerin lauseen merkitys kryptauksen kannalta Eulerin lauseen merkitys kryptauksen kannalta Pro gradu -tutkielma Juho Parviainen 180911 Fysiikan ja matematiikan laitos Itä-Suomen yliopisto 13.11.2015 Sisältö 1 Johdanto 3 2 Lukuteoria 4 2.1 Jaollisuus.............................

Lisätiedot

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 2. Lukujen esittäminen ja aritmetiikka 2.1 Kantajärjestelmät ja lukujen esittäminen Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,... } Positiiviset kokonaisluvut

Lisätiedot

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa - johdanto - matemaattinen induktiotodistus - matriisien kertolaskun käyttömahdollisuus - käsinlaskuesimerkkejä - kaikki välivaiheet esittävä

Lisätiedot

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara Kuvauksista ja relaatioista Jonna Makkonen Ilari Vallivaara 20. lokakuuta 2004 Sisältö 1 Esipuhe 2 2 Kuvauksista 3 3 Relaatioista 8 Lähdeluettelo 12 1 1 Esipuhe Joukot ja relaatiot ovat periaatteessa äärimmäisen

Lisätiedot

Jokainen kokonaisluku n voidaan esittää muodossa (missä d on positiivinen kok.luku) Tässä q ja r ovat kokonaislukuja ja 0 r < d.

Jokainen kokonaisluku n voidaan esittää muodossa (missä d on positiivinen kok.luku) Tässä q ja r ovat kokonaislukuja ja 0 r < d. Jakoyhtälö: Jokainen kokonaisluku n voidaan esittää muodossa (missä d on positiivinen kok.luku) n = d*q + r Tässä q ja r ovat kokonaislukuja ja 0 r < d. n = d * q + r number divisor quotient residue numero

Lisätiedot

4 Yleinen potenssifunktio ja polynomifunktio

4 Yleinen potenssifunktio ja polynomifunktio 4 Yleinen potenssifunktio ja polynomifunktio ENNAKKOTEHTÄVÄT 1. a) Tutkitaan yhtälöiden ratkaisuja piirtämällä funktioiden f(x) = x, f(x) = x 3, f(x) = x 4 ja f(x) = x 5 kuvaajat. Näin nähdään, monessako

Lisätiedot

Juuri 12 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

Juuri 12 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Juuri Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 7.5.08 Kertaus K. a) Polynomi P() = + 8 on jaollinen polynomilla Q() =, jos = on polynomin P nollakohta, eli P() = 0. P() = + 8 = 54 08 +

Lisätiedot

1 Peruslaskuvalmiudet

1 Peruslaskuvalmiudet 1 Peruslaskuvalmiudet 11 Lukujoukot N {1,, 3, 4,} on luonnollisten lukujen joukko (0 mukana, jos tarvitaan), Z {, 3,, 1, 0, 1,, 3,} on kokonaislukujen joukko, Q m n : m, n Z, n 0 on rationaalilukujen joukko,

Lisätiedot

Matemaattisten menetelmien hallinnan tason testi.

Matemaattisten menetelmien hallinnan tason testi. Matemaattisten menetelmien hallinnan tason testi. Jokaisessa tehtävässä on vain yksi vaihtoehto oikein.. Laskutoimitusten a) yhteen- ja vähennyslaskun b) kerto- ja jakolaskun c) potenssiin korotuksen järjestys

Lisätiedot

Todistusmenetelmiä Miksi pitää todistaa?

Todistusmenetelmiä Miksi pitää todistaa? Todistusmenetelmiä Miksi pitää todistaa? LUKUTEORIA JA TO- DISTAMINEN, MAA11 Todistus on looginen päättelyketju, jossa oletuksista, määritelmistä, aksioomeista sekä aiemmin todistetuista tuloksista lähtien

Lisätiedot

1 Jakajat ja jäännökset. on hyvinjärjestetty, eli jokaisessa epätyhjässä joukossa J N on pienin alkio. Otetaan käyttöön merkintä

1 Jakajat ja jäännökset. on hyvinjärjestetty, eli jokaisessa epätyhjässä joukossa J N on pienin alkio. Otetaan käyttöön merkintä LUKUTEORIAA 1 Jakajat ja jäännökset Luonnollisten lukujen joukko N = { 0, 1, 2, 3,... } on hyvinjärjestetty, eli jokaisessa epätyhjässä joukossa J N on pienin alkio. Otetaan käyttöön merkintä Z + = {1,

Lisätiedot

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Ville-Matti Erkintalo. Lukuteoria ja RSA

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Ville-Matti Erkintalo. Lukuteoria ja RSA TAMPEREEN YLIOPISTO Pro gradu -tutkielma Ville-Matti Erkintalo Lukuteoria ja RSA Matematiikan ja tilastotieteen laitos Matematiikka Maaliskuu 2008 Tampereen yliopisto Matematiikan ja tilastotieteen laitos

Lisätiedot

Matikkapaja keskiviikkoisin klo Lineaarialgebra (muut ko) p. 1/210

Matikkapaja keskiviikkoisin klo Lineaarialgebra (muut ko) p. 1/210 Matikkapaja keskiviikkoisin klo 14-16 Lineaarialgebra (muut ko) p. 1/210 Lineaarialgebra (muut ko) p. 2/210 Operaatiot Vektoreille u = (u 1,u 2 ) ja v = (v 1,v 2 ) Yhteenlasku: u+v = (u 1 +v 1,u 2 +v 2

Lisätiedot

Fermat n pieni lause. Heikki Pitkänen. Matematiikan kandidaatintutkielma

Fermat n pieni lause. Heikki Pitkänen. Matematiikan kandidaatintutkielma Fermat n pieni lause Heikki Pitkänen Matematiikan kandidaatintutkielma Jyväskylän yliopisto Matematiikan ja tilastotieteen laitos Kevät 2009 Sisältö Johdanto 3 1. Fermat n pieni lause 3 2. Pseudoalkuluvut

Lisätiedot

LUKUTEORIA A. Harjoitustehtäviä, kevät 2013. (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että

LUKUTEORIA A. Harjoitustehtäviä, kevät 2013. (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että LUKUTEORIA A Harjoitustehtäviä, kevät 2013 1. Olkoot a, b, c Z, p P ja k, n Z +. (a) Osoita, että jos niin Osoita, että jos niin (c) Osoita, että jos niin (d) Osoita, että (e) Osoita, että a bc ja a c,

Lisätiedot

Alkulukujen teoriaa ja Goldbachin otaksuma

Alkulukujen teoriaa ja Goldbachin otaksuma TAMPEREEN YLIOPISTO Pro gradu -tutkielma Teemu Lehtonen Alkulukujen teoriaa ja Goldbachin otaksuma Matematiikan, tilastotieteen ja losoan laitos Matematiikka Maaliskuu 2004 Sisältö 1 Johdanto 2 2 Alkuluvuista

Lisätiedot

6*. MURTOFUNKTION INTEGROINTI

6*. MURTOFUNKTION INTEGROINTI MAA0 6*. MURTOFUNKTION INTEGROINTI Murtofunktio tarkoittaa kahden polynomin osamäärää, ja sen yleinen muoto on P() R : R(). Q() Mikäli osoittajapolynomin asteluku on nimittäjäpolynomin astelukua korkeampi

Lisätiedot