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

Samankaltaiset tiedostot
4. Eulerin ja Fermat'n lauseet

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

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

Lukuteorian kertausta

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

Salausmenetelmät / Osa I Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

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

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

1 Lukujen jaollisuudesta

2017 = = = = = = 26 1

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

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

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2

Matematiikan mestariluokka, syksy

ALKULUKUJA JA MELKEIN ALKULUKUJA

Diofantoksen yhtälön ratkaisut

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

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

LUKUTEORIAN ALKEET HELI TUOMINEN

Multiplikatiivisista funktioista

MS-A0402 Diskreetin matematiikan perusteet

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

Valitse kuusi tehtävää! Kaikki tehtävät ovat 6 pisteen arvoisia.

Todistusmenetelmiä Miksi pitää todistaa?

a ord 13 (a)

Jokaisen parittoman kokonaisluvun toinen potenssi on pariton.

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

Testaa taitosi 1: Lauseen totuusarvo

4.3. Matemaattinen induktio

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

Ó Ó Ó

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

LUKUTEORIA johdantoa

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

Alkulukujen harmoninen sarja

a b 1 c b n c n

Algebra I, harjoitus 5,

Rationaaliluvun desimaaliesitys algebrallisesta ja lukuteoreettisesta näkökulmasta

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

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

Miten osoitetaan joukot samoiksi?

Shorin algoritmin matematiikkaa Edvard Fagerholm

Matriisit. Määritelmä 1 Reaaliluvuista a ij, missä i = 1,..., k ja j = 1,..., n, muodostettua kaaviota a 11 a 12 a 1n a 21 a 22 a 2n A =

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

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

811120P Diskreetit rakenteet

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

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.

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

1 Algebralliset perusteet

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

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

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

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

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

2 j =

ja jäännösluokkien joukkoa

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

Epälineaarisia Diofantoksen yhtälöitä

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

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

Multiplikatiiviset funktiot

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8

4 Matemaattinen induktio

n (n 1) avainten vaihtoa. Miljoonalle käyttäjälle avainten vaihtoja tarvittaisiin

MS-A0402 Diskreetin matematiikan perusteet

Lineaarikuvauksen R n R m matriisi

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

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

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

811120P Diskreetit rakenteet

Huhtikuun 2015 tehtävät ratkaisuja

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

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

Approbatur 3, demo 5, ratkaisut

RSA-salausmenetelmä LuK-tutkielma Tapani Sipola Op. nro Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2017

Primitiiviset juuret: teoriaa ja sovelluksia

Neljän alkion kunta, solitaire-peli ja

Ensimmäinen induktioperiaate

Ensimmäinen induktioperiaate

Salakirjoitusmenetelmiä

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

Kantavektorien kuvavektorit määräävät lineaarikuvauksen

ALKULUVUISTA (mod 6)

Surjektion käsitteen avulla kuvauksia voidaan luokitella sen mukaan, kuvautuuko kaikille maalin alkioille jokin alkio vai ei.

(mod 71), 2 1(mod 71) (3 ) 3 (2 ) 2

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

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

} {{ } kertaa jotain

Latinalaiset neliöt ja taikaneliöt

Koodausteoria, Kesä 2014

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

Johdatus matemaattiseen päättelyyn

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016

Johdatus matemaattiseen päättelyyn

Transkriptio:

Salausmenetelmät Veikko Keränen, Jouko Teeriaho (RAMK, 2006) LUKUTEORIAA JA ALGORITMEJA 4. Eulerin a Fermat'n lauseet à 4.1 Alkuluokka a Eulerin -funktio Yleensä olemme kiinnostuneita vain niistä äännösluokista modulo m, oiden alkiot ovat suhteellisia alkulukua luvun m kanssa. Näiden luokkien lukumäärä esitetään Eulerin -funktion arvona. Määritelmä 4.1 Jäännösluokka [a] (mod m) on alkuluokka (mod m), os syt(a, m) = 1. Kaikkien alkuluokkien (mod m) oukolle käytetään merkintää m *. Siis m * = [a] œ m syt(a, m) = 1}. Määritelmä 4.2 Eulerin -funktio (Euler's Totient Function) antaa arvonaan kokonaisluvun HmL = cardh8 0 i < m» sythi, ml = 1 <L. Siis HmL ilmaisee, montako luvuista 0, 1,..., m - 1 on suhteellisia alkulukua luvun m suhteen, ts. (m) on oukon m * alkioiden lukumäärä. Itse asiassa, aina kun m 2, luvun 0 voi ättää pois (syt(0, m) = m) a tarkastella vain lukua 1,..., m - 1. Huomaa, että (1) = card( 0 i < 1 syt(i, 1) = 1 } ) = 1, koska syt(0,1) = 1. Vastaavasti (0) = card( } ) = 0. Mathematicalla HmL voidaan laskea EulerPhi@mD -funktion avulla. Esimerkiksi EulerPhi@mD 8 Vastaavat suhteelliset alkuluvut luvun m = 15 kanssa ovat: 1, 2, 4, 7, 8, 11, 13 a 14. Myöhemmin näemme, kuinka funktio (m) voidaan efektiivisesti laskea.

Salakiroitus 2 Lause 4.1 Kaikille positiivisille kokonaisluvuille m on voimassa: d»m HdL = m. Merkintä d»m HdL tarkoittaa yllä sitä, että muodostetaan okaiselle luvun m akaalle, ts. m:n tekiälle, arvo (d) a lasketaan kaikkien näin saatuen arvoen (d) summa. Tarkastellaan vielä esimerkin avulla, mitkä kokonaisluvuista välillä [1, m] ovat niitä, otka tuottavat Lauseen 4.1 summaan ko. termin HdL, missä d» m. Olkoon m = 15. Tällöin akaat ovat 1, 3, 5 a 15. Ne kahdeksan lukua (huom. H15L = 8), oiden suurin yhteinen tekiä luvun 15 kanssa on 1, ovat 1, 2, 4, 7, 8, 11, 13 a 14. Nelällä ( =H5L) luvulla (3, 6, 9, 12) on syt = 3 (luvun 15 kanssa), kahdella ( =H3L) luvulla (5, 10) on syt = 5 a yhdellä ( = H1L) luvulla (0) on syt = 15. Siis tässä d»m HdL = (15) + (5) + (3) + (1) = (1) + (3) + (5) + (15) = 1 + 2 + 4 + 8 = 15. Lauseen 4.1 Todistus (1. tapa lyhyt, mutta varsin vaativa tarkastelu): On siis osoitettava, että d»m HdL = m aina kun m œ +. Oletetaan, että d m. Kiroittamalla r = id näemme, että niiden kokonaislukuen r, 0 r < m, missä sythr, ml = d, lukumäärä on sama kuin lukuen i, missä 0 i < ÅÅÅÅÅ m m a sythi, ÅÅÅÅÅ L = 1, lukumäärä. Tämä luku on d d Määritelmän 4.2 mukaan H ÅÅÅÅÅ m d L. Toisaalta, d = sythr, ml m kaikilla kokonaisluvuilla r, 0 r < m. Siis d»m H ÅÅÅÅÅ m L = m. Tämä on ekvivalenttia d sen kanssa, mikä oli todistettavana. Ñ Todistus (2. tapa pitempi, mutta tarkka a ehkä valaiseva perustelu): Olkoon S = (d, f) d m, 1 f d, syt(f, d) = 1 }. Esimerkiksi tapauksessa m = 12 oukkoa S esittää seuraava taulukko, ossa viimeiset numerot rivissä d tarkoittavat niiden lukuen f lukumäärää väliltä 1 f d, oille syt(f, d) = 1, ts. kyseessä ovat arvot (d). d \ f» 1 2 3 4 5 6 7 8 9 10 11 12 HdL ---» - - - - - - - - - - - -» ---- 1» 12» 1 2» 6» 1 3» 4 8» 2 4» 3 9» 2 6» 2 10» 2 12» 1 5 7 11» 4 --- - - - - - - - - - - - - - - ----» 12 Tapauksessa m = 15 oukkoa S esittää taulukko:

Salakiroitus 3 d \ f» 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 HdL ---» - - - - - - - - - - - - - - -» ---- 1» 15» 1 3» 5 10» 2 5» 3 6 9 12» 4 15» 1 2 4 7 8 11 13 14» 8 --- - - - - - - - - - - - - - - - - - ----» 15 Joukon S määrittelyn noalla S = d»m HdL. Lauseen 4.1 todistamiseksi tulee osoittaa, että S = m. (Huom. S ª card(s)) Konstruoidaan biektio b: S Ø m, missä m = 1, 2,..., m}. Olkoon pari (d, f) œ S annettu. Määritellään b(d, f) = f m / d. Yllä olevassa taulukossa rivin d a sarakkeen f risteyksessä oleva luku on nimenomaan tämä b(d, f). Koska d m, niin arvot b(d, f) ovat kokonaislukua. Lisäksi b(d, f) œ m, koska 1 f d. Osoitetaan, että b: S Ø m on inektio. Olkoon b(d, f) = b( d', f' ). Tällöin f m / d = f' m / d', osta saadaan f d' = f' d. Koska f a d ovat suhteellisia alkulukua, samoin kuin f' a d', nähdään, että d = d' a f = f'. Siten b on inektio. Osoitetaan, että b: S Ø m on surektio. Olkoon x œ m annettu. Olkoon g x = syt(x, m) a olkoon d x = m/g x, f x = x/g x. Selvästi d x a f x ovat suhteellisia alkulukua, muutoin on olemassa kokonaisluku k 2, olle k d x a k f x, ts. m x ÅÅÅÅÅÅÅÅ kÿg x a ÅÅÅÅÅÅÅÅ kÿg x œ +, ts. (k ÿ g x ) m a (k ÿ g x ) x, mikä on ristiriita sen kanssa, että k g x > g x = syt(x, m). Siis b(d x, f x ) = f x ÿm ÅÅÅÅÅÅÅÅÅ d x = f x ÿ m ÅÅÅÅÅÅÅÅÅÅÅÅÅ Hmêg x L = f x ÿ g x = x. Näin ollen b on surektio. Kaiken kaikkiaan b: S Ø m on biektio, oten S = m. Näin ollen Lause 4.1 on tosi. Ñ Haroituksia 24 Määritä alkuluokat modulo m, ts. oukon * m alkiot sekä (m) tapauksissa m = 7 a m = 12. Laske myös (46), (55), (81) a (144).

Salakiroitus 4 Lauseen 4.1 todistuksen (2. tapa) taulukkoihin liittyviä laskelmia Mathematicalla (tämän loppuosan voi halutessaan myös ohittaa) Clear@myBeta, mybetawithgcdtestd; mybeta@f_, d_, m_d := f m ê d; mybetawithgcdtest@f_, d_, m_d := If@GCD@f, dd 1 fl f d, mybeta@f, d, md, " "D d = 1; Table@8f, mybetawithgcdtest@f, d, md<, 8f, 1, d<d d = 1 H 1 15L d = 3; Table@8f, mybetawithgcdtest@f, d, md<, 8f, 1, m<d êê Transpose d = 3 i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 y z k 5 10

Salakiroitus 5 d = 5; Table@8f, mybetawithgcdtest@f, d, md<, 8f, 1, m<d êê Transpose d = 5 i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 y z k 3 6 9 12 d = 15; Table@8f, mybetawithgcdtest@f, d, md<, 8f, 1, m<d êê Transpose d = 15 i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 y z k 1 2 4 7 8 11 13 14 m = 12; Clear@hD; Join @88"d\\f", ":", Range@mD< êê Flatten<, 8Table@, 8m + 2<D<, Table@If@Mod@m, dd 0, 8d, ":", Table@8myBetaWithGCDTest@f, d, md<, 8f, 1, m<d<, h@dd êê Flatten, 8d, 1, m<d êê DeleteCases@#, _hd &D i d\f : 1 2 3 4 5 6 7 8 9 10 11 12 y 1 : 12 2 : 6 3 : 4 8 4 : 3 9 6 : 2 10 k 12 : 1 5 7 11 z

Salakiroitus 6 Clear@myTableForPhiD; mytableforphi@m_d := H Clear@hD; Join @88"d\\f", ":", Range@mD< êê Flatten<, 8Table@, 8m + 2<D<, Table@If@Mod@m, dd 0, 8d, ":", Table@ 8myBetaWithGCDTest@f, d, md<, 8f, 1, m<d<, h@dd êê Flatten, 8d, 1, m<d êê DeleteCases@#, _hd &DL mytableforphi@15d i d\f : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15y 1 : 15 3 : 5 10 5 : 3 6 9 12 k 15 : 1 2 4 7 8 11 13 14 z mytableforphi@25d i d\f : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 1 : 25 5 : 5 10 15 20 k 25 : 1 2 3 4 6 7 8 9 11 12 13 14 16 17 18 19 21 2 mytableforphi@13d i d\f : 1 2 3 4 5 6 7 8 9 10 11 12 13 y 1 : 13 k 13 : 1 2 3 4 5 6 7 8 9 10 11 12 z Seuraava Mathematican perusfunktioista rakennettu funktio laskee yhteen funktion f arvot f @dd, missä d käy läpi kaikki ne arvot, otka akavat annetun luvun m. (@@ on lyhennysmerkintä funktiosta Apply a funktiosta Map (multiply apply)) DivisorSum@f_, m_d := Plus @@ Hf ê@ Divisors@mDL Testataan tämän funktion avulla Lausetta 4.1. DivisorSum@EulerPhi, md

Salakiroitus 7 15