MS-A0402 Diskreetin matematiikan perusteet

Samankaltaiset tiedostot
MS-A0402 Diskreetin matematiikan perusteet

2017 = = = = = = 26 1

Lukuteorian kertausta

1 Lukujen jaollisuudesta

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

Algebra I, harjoitus 5,

Jäännösluokat. Alkupala Aiemmin on tullut sana jäännösluokka vastaan. Tarkastellaan

Diofantoksen yhtälön ratkaisut

a b 1 c b n c n

811120P Diskreetit rakenteet

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9)

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

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2

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

2 j =

a ord 13 (a)

LUKUTEORIA johdantoa

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

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

MS-A0402 Diskreetin matematiikan perusteet

MS-A0402 Diskreetin matematiikan perusteet

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

Esimerkki A1. Jaetaan ryhmä G = Z 17 H = 4 = {1, 4, 4 2 = 16 = 1, 4 3 = 4 = 13, 4 4 = 16 = 1}.

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta:

LUKUTEORIA 1 JYVÄSKYLÄN YLIOPISTO

Testaa taitosi 1: Lauseen totuusarvo

ja jäännösluokkien joukkoa

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

Luonnollisten lukujen ja kokonaislukujen määritteleminen

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 6 (8 sivua) OT. 1. a) Määritä seuraavat summat:

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

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

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

Salausmenetelmät LUKUTEORIAA JA ALGORITMEJA. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) 3. Kongruenssit. à 3.4 Kongruenssien laskusääntöjä

802328A LUKUTEORIAN PERUSTEET Merkintöjä ja Algebrallisia rakenteita

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

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT

Ekvivalenssirelaatio. Määritelmä 2 Joukon A binäärinen relaatio R on ekvivalenssirelaatio, mikäli. Jos R on ekvivalenssirelaatio ja a A, niin joukkoa

Rationaaliluvun desimaaliesitys algebrallisesta ja lukuteoreettisesta näkökulmasta

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

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

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

1 Lineaariavaruus eli Vektoriavaruus

Ensimmäinen induktioperiaate

Ensimmäinen induktioperiaate

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

Matematiikan mestariluokka, syksy

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

802320A LINEAARIALGEBRA OSA I

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa)

Esko Turunen Luku 3. Ryhmät

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

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

LUKUTEORIAN ALKEET HELI TUOMINEN

MS-C1340 Lineaarialgebra ja

Matematiikassa väitelauseet ovat usein muotoa: jos P on totta, niin Q on totta.

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

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

Yhtäpitävyys. Aikaisemmin osoitettiin, että n on parillinen (oletus) n 2 on parillinen (väite).

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

HN = {hn h H, n N} on G:n aliryhmä.

Miten osoitetaan joukot samoiksi?

Algebran perusteet. 44 ϕ(105) = (105). Näin ollen

Ennakkotehtävän ratkaisu

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa)

802354A Lukuteoria ja ryhmät Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Juha-Matti Tirilä, Antti Torvikoski, Topi Törmä

d Z + 17 Viimeksi muutettu

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.

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

Johdatus matemaattiseen päättelyyn

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

Liite 2. Ryhmien ja kuntien perusteet

Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8

a) Mitkä seuraavista ovat samassa ekvivalenssiluokassa kuin (3, 8), eli kuuluvat joukkoon

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

Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Lue ohjeet huolellisesti!

6. Tekijäryhmät ja aliryhmät

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

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

Lukuteorian kurssi lukioon

. Silloin 1 c. Toisaalta, koska c on lukujen a d ja b d. (a 1,a 2,..., a n )

Johdatus matemaattiseen päättelyyn

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

MS-A0402 Diskreetin matematiikan perusteet Yhteenveto, osa II

MS-A0402 Diskreetin matematiikan perusteet Yhteenveto, osa II

MS-A0402 Diskreetin matematiikan perusteet Yhteenveto, osa II

Lineaariset kongruenssiyhtälöryhmät

j(j 1) = n(n2 1) 3 + (k + 1)k = (k + 1)(k2 k + 3k) 3 = (k + 1)(k2 + 2k + 1 1)

Approbatur 3, demo 5, ratkaisut

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

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

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

4 Matemaattinen induktio

MS-A0401 Diskreetin matematiikan perusteet Yhteenveto, osa II

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

MS-A0401 Diskreetin matematiikan perusteet Yhteenveto, osa II

2. Eukleideen algoritmi

Transkriptio:

MS-A0402 Diskreetin matematiikan perusteet Osa 4: Modulaariaritmetiikka Riikka Kangaslampi 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto

Modulaariaritmetiikka

Jakoyhtälö Määritelmä 1 Luku n Z on jaollinen luvulla m Z, merkitään m n (lue: m jakaa n:n), jos on olemassa k Z, jolle n = km. Lause 2 (Jakoyhtälö) Olkoot a, b Z ja b 0. Tällöin on olemassa yksikäsitteiset q, r Z, joille 0 r < b ja a = qb + r. Toisin sanoen: jos a jaetaan b:llä, niin osamäärä q ja jakojäännös r määräytyvät yksikäsitteisesti. 1 / 30 R. Kangaslampi MS-A0402

Jakoyhtälö Todistetaan lause pienimmän alkion periaatteella, joka on loogisesti yhtäpitävä induktioperiaatteen kanssa. Todistus. Tarkastellaan Z:n osajoukkoa A = {a kb k Z}. Oletetaan ensin b > 0. Joukossa A on selvästi ei-negatiivisia alkioita. Valitaan niistä pienin ja merkitään sitä r:llä. Nyt joukon A määritelmän mukaan r = a kb jollekin k Z; merkitään tätä k:ta symbolilla q. 2 / 30 R. Kangaslampi MS-A0402

Jakoyhtälö Todistus (jatkuu) Luvut q ja r toteuttavat halutun yhtälön a = qb + r, joten tehtävänä on osoittaa epäyhtälö 0 r < b. Epäyhtälö r 0 on selvä, koska r oli pienin ei-negatiivisista alkioista. Tehdään vastaoletus r b, jolloin joukosta A löytyykin r:ää pienempi ei-negatiivinen alkio: a (q + 1)b = a qb b = r b 0, mikä on ristiriita sen kanssa, että r oli joukon A pienin ei-negatiivinen alkio. (Huom. oletettiin b > 0, joten a (q + 1)b < a qb = r.) Tapauksessa b < 0 korvataan ylläolevan todistuksen b luvulla b. 3 / 30 R. Kangaslampi MS-A0402

Jakoyhtälö Todistus (jatkuu) Jäljellä on vielä yksikäsitteisyys. Jos myös luvut q ja r toteuttavat annetut ehdot, niin r r = (q q )b. Tästä saadaan q q b < b, koska ehdoista 0 r < b ja 0 r < b seuraa r r < b. Siten on oltava q q < 1, ja koska q, q Z, on oltava q q = 0 eli q = q. Yhtälöstä r r = (q q )b seuraa edelleen r = r. Pienimmän alkion periaate sanoo, että epätyhjässä N:n osajoukossa on olemassa pienin alkio. Pienimmän alkion periaatetta käytettiin kohdassa, jossa valittiin A:sta pienin ei-negatiivinen alkio. 4 / 30 R. Kangaslampi MS-A0402

Kongruenssiluokat Määritelmä 3 Olkoon n N + eli n N ja n 0. Jos kokonaisluvuille a, b Z pätee n (a b), niin sanotaan, että a on kongruentti b:n kanssa modulo n ja merkitään a b (mod n) tai a n b. Määrittelevä ehto n (a b) sanoo, että a:lla ja b:llä on n:llä jaettaessa sama jakojäännös. Esimerkiksi 4 16 (mod 12); voi ajatella kellotaulua, jossa lasketaan modulo 12. 5 / 30 R. Kangaslampi MS-A0402

Kongruenssiluokat Voidaan vähällä vaivalla todeta (taululla), että annetulle n:lle relaatio n on ekvivalenssirelaatio, joten se jakaa kokonaisluvut erillisiin ekvivalenssiluokkiin: Määritelmä 4 Olkoon n N +. Luvun a Z jäännösluokka modulo n on [a] n := {b Z a b (mod n)} Z. Jäännösluokan alkioita kutsutaan luokkansa edustajiksi. Esimerkki 5 Joukkoa [4] 12 = {..., 20, 8, 4, 16, 28,...} voidaan ajatella kellonajan 4 edustajina. 6 / 30 R. Kangaslampi MS-A0402

Kongruenssiluokat Esimerkki 6 Mikä on pienin ei-negatiivinen luku joukossa [27] 11? Vastaus: 5. Määritelmä 7 Olkoon n N +. Kaikkien jäännösluokkien modulo n joukkoa merkitään Z n (tai joskus Z/nZ), eli siis Huomio Z n = {[0] n, [1] n,..., [n 1] n }. a) Aina pätee [n] n = [0] n. b) Usein luvulle a Z on tapana kirjoittaa a mod n tarkoittamaan luokan [a] n edustajaa joukosta {0,..., n 1}. 7 / 30 R. Kangaslampi MS-A0402

Kongruenssiluokkien yhteen- ja kertolasku Määritelmä 8 Määritellään annetulle n N + ja annetuille a, b Z [a] n + [b] n := [a + b] n, [a] n [b] n := [ab] n. Esimerkki 9 Joukossa Z 3 = {[0] 3, [1] 3, [2] 3 } saadaan seuraavat yhteen- ja kertolaskutaulukot: + 3 [0] [1] [2] [0] [0] [1] [2] [1] [1] [2] [0] [2] [2] [0] [1] ja 3 [0] [1] [2] [0] [0] [0] [0] [1] [0] [1] [2] [2] [0] [2] [1]. 8 / 30 R. Kangaslampi MS-A0402

Kongruenssiluokkien yhteen- ja kertolasku Tärkeitä huomioita Tapana on jättää alaindeksi pois, kun se käy ilmi asiayhteydestä. Usein jätetään myös luokkamerkit pois eli voidaan kirjoittaa esim. 7 + 2 = 0 joukossa Z 3 sen sijaan, että kirjoitettaisiin [7] 3 + [2] 3 = [0] 3 tai 7 + 2 0 (mod 3). Laskutoimitukset ovat hyvinmääriteltyjä eli eivät riipu edustajien valinnasta. Esimerkiksi joukon Z yhteenlasku + voidaan mieltää funktiona Z Z Z, jolloin olennaista on, että kahdella luvulla on yksikäsitteinen summa. Nyt voisi periaatteessa käydä niin, että [2 + 3] 4 [6 + 7] 4, vaikka [2] 4 = [6] 4 ja [3] 4 = [7] 4. Näin ei kuitenkaan käy; todistus sivuutetaan. 9 / 30 R. Kangaslampi MS-A0402

Kongruenssiluokkien yhteen- ja kertolasku Lause 10 Joukon Z n yhteen- ja kertolasku toteuttaa joukosta Z tutut laskusäännöt: kaikille a, b, c Z n pätee a + b = b + a ja ab = ba (vaihdannaisuus) a + (b + c) = (a + b) + c ja a(bc) = (ab)c (liitännäisyys) a + 0 = a ja a 1 = a (neutraalialkioiden olemassaolo) a + ( a) = 0 (yhteenlaskun vasta-alkion olemassaolo) a(b + c) = ab + ac (osittelulaki). Nämä ovat ns. rengasaksioomat ja joukkoa Z n kutsutaankin usein jäännösluokkarenkaaksi. (Huom. alkiot a, b ja c ovat viime kädessä luokkia, eivät lukuja.) 10 / 30 R. Kangaslampi MS-A0402

Z vs. Z n eroavaisuuksia Taulukosta edellä puuttui kertolaskun vasta-alkion eli käänteisalkion olemassaolo. Alkion a käänteisalkiolla tarkoitetaan alkiota b, jolle a b = 1. Joukossa Z käänteisalkio on olemassa vain luvuille ±1. Osoittautuu, että joukossa Z n käänteisalkio on olemassa täsmälleen sellaisille luokille, joiden edustajilla ei ole n:n kanssa yhteisiä tekijöitä. Erityisesti jos n on alkuluku, niin käänteisalkio on olemassa kaikille Z n :n nollasta eroaville luokille. Tällaista rakennetta sanotaan kunnaksi; myös esimerkiksi Q ja R ovat kuntia. Toinen merkittävä eroavaisuus liittyy supistamiseen; joukossa Z n ei päde Z:sta tuttu supistussääntö ab = ac ja a 0 b = c paitsi silloin, kun a on kääntyvä (kuten tulemme näkemään). 11 / 30 R. Kangaslampi MS-A0402

Z vs. Z n eroavaisuuksia Esimerkki 11 Joukossa Z 6 on 2 4 = 2 1, mutta 4 1. Joukossa Z 7 on 2 4 = 1, joten 2 ja 4 ovat toistensa käänteisalkiot. Esimerkki 12 Mikä on jakojäännös, kun luku 4 119 jaetaan luvulla 9? Jakoyhtälö: 4 119 = 9q + r, joten joukossa Z 9 pätee r = 4 119 (koska 9q = 0). Kysymys siis kuuluu: Mitä on 4 119 mod 9? Joukossa Z 9 : 4 2 = 7, 4 3 = 4 2 4 = 7 4 = 1 ja 4 119 = (4 3 ) 39 4 2 = 1 7 = 7. Siten vastaus on 7. 12 / 30 R. Kangaslampi MS-A0402

Jaollisuustestejä Mitä tarkoittaa luvun esittäminen kymmenjärjestelmässä? Esimerkiksi 2875 = 5 10 0 + 7 10 1 + 8 10 2 + 2 10 3. Merkitään yleisesti n = d 0 + d 1 10 +... + d k 10 k, jolloin luvun n N esitys 10-kantaisessa järjestelmässä on muotoa n = d k d k 1... d 1 d 0. (Yleensä oletetaan lisäksi d k 0, jolloin 10 k n < 10 k+1.) 13 / 30 R. Kangaslampi MS-A0402

Jaollisuustestejä Esimerkki 13 Kymmenjärjestelmän luku on kolmella jaollinen täsmälleen silloin, kun sen numeroiden summa on kolmella jaollinen. Miksi? Lähdetään siitä, että 3 n n 0 (mod 3). Edelleen, jos n = d 0 + d 1 10 +... + d k 10 k, niin joukossa Z 3 pätee n = 0 d 0 + d 1 10 +... + d k 10 k = 0 d 0 + d 1 +... + d k = 0, sillä joukossa Z 3 on 10 m = 1 kaikilla m N. 14 / 30 R. Kangaslampi MS-A0402

Jaollisuustestejä Esimerkki 14 Kymmenjärjestelmän luku on viidellä jaollinen täsmälleen silloin, kun sen viimeinen numero (ykkösen kerroin) on viidellä jaollinen. Miksi? Kuten edellä, mutta nyt lasketaan joukossa Z 5, jossa 10 0 = 1 ja 10 m = 0 kaikilla m 2. 15 / 30 R. Kangaslampi MS-A0402

Kongruenssiyhtälöistä Milloin yhtälöstä ax b (mod n) voidaan ratkaista x, ja miten se ratkaistaan? Määritelmä 15 (käänteisalkio) Luvun a Z n käänteisalkio on sellainen luku b Z n, jolle ab 1 (mod n); merkitään b = a 1. Esimerkki 16 Joukossa Z 5 luvun 3 käänteisalkio on 2; muita ei ole. Jos käänteisalkio on olemassa, se on yksikäsitteinen. (Taululla.) Joukossa Z 6 luvulla 3 ei ole käänteisalkiota. 16 / 30 R. Kangaslampi MS-A0402

Kongruenssiyhtälöistä Milloin yhtälöstä ax b (mod n) voidaan ratkaista x, ja miten se ratkaistaan? Määritelmä 15 (käänteisalkio) Alkion a Z n käänteisalkio on sellainen alkio b Z n, jolle ab 1 (mod n); merkitään b = a 1. Esimerkki 16 Joukossa Z 5 alkion 3 käänteisalkio on 2; muita ei ole. Jos käänteisalkio on olemassa, se on yksikäsitteinen. (Taululla.) Joukossa Z 6 alkiolla 3 ei ole käänteisalkiota. 17 / 30 R. Kangaslampi MS-A0402

Kongruenssiyhtälöistä Lause 17 Alkiolla a Z n on käänteisalkio täsmälleen silloin, kun syt(a, n) = 1. Muistetaan: Suurin yhteinen tekijä (greatest common divisor) syt(a, b) on suurin luku, joka jakaa molemmat luvut a ja b niin, että lopputulos on kokonaisluku. Oikeastaan syt-kohdassa puhutaan luokan a Z n mistä tahansa edustajasta. Jatkossakin puhutaan luvuista a Z n tarkoittaen tätä. 18 / 30 R. Kangaslampi MS-A0402

Kongruenssiyhtälöistä Todistus. Oletetaan ensin, että syt(a, n) = 1. Tällöin Eukleideen algoritmin nojalla on olemassa luvut x, y Z siten, että 1 = xa + yn. Nyt luku x kelpaa luvun a käänteisalkioksi, koska yn 0 (mod n). Jos käänteisalkio on olemassa, ts. jos ab 1 (mod n), niin (mod)-määritelmän mukaan n (ab 1) eli ab 1 = kn jollekin k Z. Luku syt(a, n) jakaa luvut a ja n ja siten myös summan ab kn eli luvun 1. On siis oltava syt(a, n) = 1. 19 / 30 R. Kangaslampi MS-A0402

Kongruenssiyhtälöistä Lause 18 (Seuraus edellisestä lauseesta) Jos a Z n on kääntyvä (eli jos a:lla on käänteisalkio), niin yhtälöllä ax b (mod n) on jokaiselle b Z n yksikäsitteinen ratkaisu x Z n. Todistus. Kertomalla yhtälön ax = b molemmat puolet vasemmalta käänteisalkiolla a 1 saadaan x = a 1 b. 20 / 30 R. Kangaslampi MS-A0402

Kongruenssiyhtälöistä Esimerkki 19 Joukon Z 10 kääntyvät alkiot ovat 1, 3, 7 ja 9. Vastaavat käänteisalkiot ovat 1, 7, 3 ja 9. Ratkaistaan yhtälö 7x = 9 joukossa Z 12. Yhtälö ratkeaa, koska luvulla 7 on käänteisalkio joukossa Z 12, nimittäin se itse. Kertomalla yhtälön molemmat puolet 7:lla saadaan x = 63 = 3. Joukossa Z 5 kaikki nollasta eroavat alkiot ovat kääntyviä; pätee 1 1 = 1, 2 1 = 3 ja 4 1 = 4. 21 / 30 R. Kangaslampi MS-A0402

Kongruenssiyhtälöistä Edellisen lauseen nojalla kaikki nollasta eroavat alkiot ovat kääntyviä joukossa Z p, kun p on alkuluku. Edelleen pätee Lause 20 (Fermat n pieni lause) Kun p on alkuluku, niin kaikille a Z pätee a p a (mod p). Todistus Luvuille a 0 (mod p) väite pätee. Koska p on alkuluku, on kaikilla a 0 (mod p) käänteisalkio; tällaisille väite on yhtäpitävä väitteen a p 1 1 (mod p) kanssa. 22 / 30 R. Kangaslampi MS-A0402

Kongruenssiyhtälöistä Todistus (jatkuu) Olkoon siis a 0 joukossa Z p. Koska a on kääntyvä, pätee (ma p na) (m p n), erityisesti luvut a, 2a,..., (p 1)a ovat täsmälleen luvut 1,..., (p 1) eri järjestyksessä, ja siten niiden p 1 tulo on toisaalta (p 1)! ja toisaalta (ka) = a p 1 (p 1)!. Siten a p 1 1 (mod p) k=1 23 / 30 R. Kangaslampi MS-A0402

Fermat n pieni lause Esimerkki 21 Tarkistetaan, että Fermat n pieni lause pätee joukossa Z 7 : 1 6 = 1 2 6 = 2 2 2 2 2 2 = 4 4 4 = 2 4 = 1 3 6 = 3 2 3 2 3 2 = 2 2 2 = 4 2 = 1 4 6 = 4 2 4 2 4 2 = 2 2 2 = 4 2 = 1 5 6 = 5 2 5 2 5 2 = 4 4 4 = 2 4 = 1 6 6 = 6 2 6 2 6 2 = 1 1 1 = 1. 24 / 30 R. Kangaslampi MS-A0402

RSA-salausalgoritmi Käydään ensin läpi algoritmin toiminta esimerkinomaisesti. Oletetaan, että Liisa haluaa lähettää Pekalle salatun viestin tietokoneella. Tietokone generoi kaksi (oikeasti hyvin suurta) alkulukua, olkoot ne tässä p = 61 ja q = 53. Tietokone laskee tulot n = pq = 61 53 = 3233 ja m = (p 1)(q 1) = 60 52 = 3120. Tietokone generoi koodausavaimen k siten, että 0 < k < m ja syt(k, m) = 1; esimerkiksi k = 17. Tietokone laskee luvun d = k 1 joukossa Z m ; tässä d = 2753. Tietokone antaa Liisalle julkiseksi avaimeksi (salausta varten) luvut n = 3233 ja k = 17. Tietokone antaa Pekalle yksityiseksi avaimeksi (purkamista varten) luvut n = 3233 ja d = 2753. 25 / 30 R. Kangaslampi MS-A0402

RSA-salausalgoritmi Oletetaan, että Liisa haluaa koodata luvun (merkkijonon) s. Ensin hän tarvittaessa lisää s:n perään tyhjiä merkkejä siten, että luvulle pätee syt(s, n) = 1. Olkoon esimerkiksi s = 65. Liisa koodaa viestin laskemalla s k mod n; tässä 65 17 mod 3233 = 2790. Pekka purkaa koodatun viestin c laskemalla c d mod n; tässä 2790 2753 mod 3233 = 65. Kaksi kysymystä Miksi koodin murtaminen on vaikeaa? Miksi koodi toimii oikein? 26 / 30 R. Kangaslampi MS-A0402

RSA-salausalgoritmi Murtamisesta Jotta ulkopuolinen Eveliina pystyisi purkamaan viestin pelkän julkisen avaimen avulla, hänen pitäisi päätellä lukujen n ja k avulla luku d eli luvun k käänteisalkio joukossa Z m. Se selvittäminen on vaikeaa, koska hän ei tiedä lukua m. Luvun m selvittämiseksi hänen pitäisi selvittää alkuluvut p ja q, joiden tulo luku n on. Isojen lukujen jakaminen alkutekijöihin on vaikeaa! Ks. Wikipedia: RSA algorithm. 27 / 30 R. Kangaslampi MS-A0402

RSA-salausalgoritmi Koodi toimii, koska Fermat n pienen lauseen seurauksena saadaan Lause 22 Olkoot p ja q alkulukuja, n = pq ja m = (p 1)(q 1). Olkoon edelleen s sellainen, että syt(s, n) = 1, ja olkoon h (esimerkissämme h = kd) sellainen, että h = 1 joukossa Z m. Tällöin s h = s joukossa Z n. Pekka purki viestin laskemalla c d = (s k ) d = s kd modulo n, joten ylläolevan lauseen perusteella tämä todellakin on alkuperäinen viesti s. 28 / 30 R. Kangaslampi MS-A0402

RSA-salausalgoritmi Lauseen todistus Koska h = 1 mod m, niin h 1 = ym jollekin y Z. Siten s h = s 1+ym = s(s m ) y, joten riittää osoittaa, että s m = 1 mod n. Oletettiin syt(s, n) = syt(s, pq) = 1, joten s 0 mod p. Fermat n pienen lauseen mukaan s p 1 = 1 mod p. Edelleen s m = s (p 1)(q 1) = 1 q 1 = 1 mod p, samoin s m = 1 mod q. Siten sekä p että q jakavat luvun s m 1 ja koska p ja q ovat alkulukuja, niin myös niiden tulo n jakaa luvun s m 1, ts. s m = 1 mod n. 29 / 30 R. Kangaslampi MS-A0402

RSA-salausalgoritmi Esimerkki 23 (Vakoilutehtävä) Luennoitsija haluaa lähettää ystävälleen tiedoksi kissansa nimen, salattuna totta kai. Ystävä antaa julkisen avaimensa (7, 143) ja luennoitsija lähettää hänelle koodatun viestin 046, 048, 117, 001. Mikä on kissan nimi? Vihje: Aakkoset on alunperin muutettu numeroiksi siten, että a=01, b=02, jne. Vihje 2: Etsi n ja p siten, että np = 143. Etsi sitten yksityinen avain d siten, että 7d 1 mod (p 1)(q 1). Pura koodi laskemalla kullekin salatulle kirjaimelle c lasku c d mod 143 ja tulkitse luvut kirjaimina. Vastaus: Kissa on Sima. 30 / 30 R. Kangaslampi MS-A0402