SALAUSMENETELMÄT A, 4 op

Koko: px
Aloita esitys sivulta:

Download "SALAUSMENETELMÄT 801346A, 4 op"

Transkriptio

1 Luentorunko ja harjoitustehtävät SALAUSMENETELMÄT A, 4 op Pohjautuu Leena Leinosen, Marko Rinta-ahon, Tapani Matala-ahon ja Keijo Väänäsen luentoihin

2 Sisältö 1 Johdanto 2 2 Lukuteoriaa Jakoyhtälö ja erikantaiset esitykset Jaollisuus Kongruensseista Perinteisiä salakirjoitusmenetelmiä Caesar ja sen yleistyksiä Caesarin yhteenlaskumenetelmä Affiinikuvaus Sijoitusjärjestelmẗ Vigenéren järjestelmä Salakirjoitus matriiseilla Julkisen avaimen salakirjoitus (public key cryptography) Yleinen periaate RSA-menetelmä (Rivest, Shamir, Adleman 1978) Tekstin esittäminen joukon Z n alkioina Diskreetti logaritmi Diffie Hellman-avaimenvaihto Elgamal-salaus Selkäreppuongelma Selkäreppujärjestelmä Huomautuksia

3 HUOM: Ilmoittautukaa Web-oodiissa kurssille, jotta saisitta tietoja mahdollisista muutoksista ja peruutuksista. Luennot: Aloitetaan 14:10 Ke IT133 To IT138 Laskarit: Ti KO148 Ke KO148 Tehtävät viikko 37 : 3, 4, 5, 9a, 10, : 18a, b, 20, 21, 23a, b, 26, 28b Loppukoe: , Linkkejä: Johdatus matemaattiseen päättelyyn 1

4 1 Johdanto Tällä kurssilla tarkastellaan menetelmiä, jotka mahdollistavat tiedon siirtämisen tai tallentamisen niin, että ainoastaan tarkoitettu vastaanottaja saa viestin selville. Lähettäjän tehtävänä on salakirjoittaa (encrypt) selväkielinen teksti (plaintext) salakirjoitukseksi (cryptotext) ja vastaanottajan tehtävänä puolestaan avata (decrypt) salakirjoitus selväkieliseksi tekstiksi. Menettelyn tulee olla sellainen, että mahdollinen salakirjoituksen sieppaaja ei kykene murtamaan sitä eli selvittämään selväkielistä tekstiä, ainakaan nopeasti. Aikaisemmin salakirjoituksia tarvittiin lähinnä sotilaallisiin ja diplomaattisiin tarkoituksiin. Kuluneiden noin 30 vuoden aikana tietokoneisiin perustuvan tiedonvälityksen yleistyminen on merkinnyt sitä, että salausmenetelmiä tarvitaan päivittäin hyvin monilla muillakin yhteiskunnan alueilla kuten pankeissa ja yrityksissä. Selväkielinen teksti ja salakirjoitettu teksti kirjoitetaan käyttämällä jotakin aakkostoa (kirjaimet, numerot, muut merkit). Suomen- ja englanninkielisellä aakkostolla tarkoitetaan tällä kurssilla seuraavia aakkostoja: S) Suomenkielinen aakkosto, 29 kirjanta. E) Englanninkielinen aakkosto, 26 kirjainta. a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Jotta matemaattisia menetelmiä voitaisiin käyttää, kirjaimet korvataan usein luvuilla. Selväkielinen teksti ja salakirjoitus jaetaan viestiyksiköihin ja salaaminen tehdään yksikkö kerrallaan. Viestiyksikkö voi olla kirjain (kuten yllä olevassa esimerkissä), kirjainpari tai tietyn pituinen kirjainjono. Salakirjoittamiseen käytetään yleensä bijektiivistä funktiota E : P C, missä P = {selväkieliset viestiyksiköt} = {m}, C = {salakirjoitetut viestiyksiköt} = {c}. 2

5 Avaaminen tapahtuu tällöin käänteisfunktion D = E 1 avulla. Salakirjoitusjärjestelmään kuuluvat siis: (i) P, (ii) C, (iii) avainjoukko K = {k}, missä kukin avain k määrää salausfunktion E k ja avausfunktion D k, joille D k (E k (m)) = m. Lähettäjä tuntee ennakolta funktion E k ja vastaanottaja funktion D k, jolloin järjestelmä toimii seuraavan kaavion mukaisesti. A B m E k (m) = c c D k (c) = m C (=murtaja) Hyvältä salakirjoitusjärjestelmältä edellytetään: 1) E k (m) ja D k (c) voidaan laskea helposti. 2) Jollei tunneta funktiota D k, niin selväkielinen viesti m ei selviä salakirjoituksesta c, eli sieppaajalla on vaikea tehtävä. Kaikissa perinteisissä salakirjoitusjärjestelmissä D k saadaan välittömästi funktiosta E k, ei tosin aina niin helposti kuin äskeisessä esimerkissä. Näin ollen lähettäjän ja vastaanottajan tulee sopia jollakin tavalla avaimesta ja pitää tämä sopimuksensa salassa muilta. Tästä syystä näitä järjestelmiä kutsutaan yksityisen avaimen salakirjoituksiksi. Vuosina kehitettiin ensimmäiset julkisen avaimen järjestelmät, joille on ominaista se, että E k ei paljasta funktiota D k, ainakaan helposti. Nämä perustuvat ns. yksisuuntaisiin funktioihin (one-way function), joiden käänteisfunktiota on käytännössä mahdotonta tai ainakin hyvin vaikeaa määrittää. Useimmat käytössä olevat salakirjoitusmenetelmät perustuvat lukuteorian tuloksiin. Tästä syystä kurssi aloitetaan kertaamalla eräitä lukuteorian alkeiden tuloksia. Esimerkki 1.1. Esimerkkinä käy Caesarin yhteenlaskumenetelmä, jossa salakirjoitus tehdään siirtämällä kirjaimia k askelta eteenpäin. Esimerkiksi k = 17 antaa seuraavaa: selvä: sala: a b c d e f g h i j k l m n o p q r s t u v w x y z R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 3

6 Selväteksti: prime Salattu: GIZDV 2 Lukuteoriaa 2.1 Jakoyhtälö ja erikantaiset esitykset Luvuista puhuttaessa tällä kurssilla tarkoitetaan useimmiten kokonaislukuja Z = {0, ±1, ±2,...} tai erityisesti ei-negatiivisia lukuja N = {0, 1, 2,...}. Lause 2.1 (Jakoyhtälö). Jos a, b Z, b = 0, niin on olemassa sellaiset yksikäsitteiset q, r Z, että a = qb + r, 0 r < b. Tällöin luvulla n N on esitys n = a k b k + a k 1 b k a 1 b + a 0 =: (a k... a 1 a 0 ) b, missä k 0 ja a i {0,..., b 1} kaikilla i = 0,..., k. Jos kantaluku b = 10, se merkitään näkyviin alaindeksinä. Tämä esitys saadaan jakoyhtälön avulla jakamalla toistuvasti luvula b. Olemme tottuneet käsittelemään lukuja 10- järjestelmässä, esimerkiksi 2367 = järjestelmän ohella erityisen tärkeä on 2-kantainen eli binäärijärjestelmä, jota tietokoneet käyttävät. Esimerkiksi luvun kantainen esitys saadaan jakamalla toistuvasti kantaluvulla 8: 319 = , 39 = , joten 319 = ( ) = Tätä merkitään 319 =

7 2.2 Jaollisuus Määritelmä 2.2. Jos a, b Z ja on olemassa sellainen c Z, että a = bc, niin sanotaan, että b on luvun a tekijä (tai a on jaollinen luvulla b tai b jakaa luvun a). Tätä merkitään b a. Muulloin merkitään b a. Jokaisella a Z on aina triviaalit tekijät ±1 ja ±a. Lause 2.3. Jos n a ja n b, niin n (ra + sb) kaikilla r, s Z. Erityisesti pätee: 1) Jos n a ja n b, niin n (a ± b). 2) Jos n a, niin n ra kaikilla r Z. 3) Jos n a ja a b, niin n b. Määritelmä 2.4. Lukua q Z sanotaan tai jaottomaksi, jos sillä on vain triviaalit tekijät ±1 ja ±q. Muita lukuja sanotaan yhdistetyiksi. Lukua p Z 2 sanotaan alkuluvuksi, jos sillä on vain triviaalit tekijät ±1 ja ±p. Alkulukuja on äärettömän monta ja kaikki positiiviset kokonaisluvut voidaan esittää oleellisesti yksikäsitteisesti niiden avulla, kuten seuraava lause osoittaa. Lause 2.5 (Aritmetiikan peruslause). Jokainen positiivinen kokonaisluku 2 voidaan esittää järjestystä vaille yksikäsitteisesti alkulukujen tulona. Seuraus ) Jos p on alkuluku ja p ab, niin p a tai p b. 2) Jos r a, s a eikä luvuilla r ja s ole yhteisiä alkulukutekijöitä, niin rs a. 3) Jos r ab eikä luvuilla r ja a ole yhteisiä alkulukutekijöitä, niin r b. 4) Jos a = p pep, missä tulo käy kaikkien alkulukujen yli, e p N kaikilla p, ja e p = 0 vain äärellisen monella p, niin luvun a posiitivisten tekijöiden lukumäärä on p (e p + 1). 5

8 Esimerkiksi 4200 = , joten tekijöiden lukumäärä on (3 + 1)(1 + 1)(2 + 1)(1 + 1) = 48. Määritelmä 2.7. Olkoot a, b Z ja ainakin toinen = 0. Positiivista kokonaislukua d > 0 sanotaan lukujen a ja b suurimmaksi yhteiseksi tekijäksi, merkitään syt(a, b), jos 1) d a ja d b 2) ehdosta t a ja t b seuraa t d. Nähdään helposti, että d > 0 on suurin luonnollinen luku, joka jakaa kummankin luvuista a ja b. Jos lukujen a ja b alkutekijäesitykset tunnetaan, niin syt(a, b) on helppoa laskea. Esimerkiksi 4200 = ja = , joten syt(4200, 10780) = = 140. Suuria lukuja tarkasteltaessa niiden alkutekijäesitysten löytäminen on vaikeaa. Eukleideen algoritmilla suurin yhteinen tekijä löytyy kuitenkin nopeasti. Kyse on jakoyhtälön toistuvasta soveltamisesta. Voidaan olettaa, että a > b > 0. Eukleideen algoritmi toimii seuraavasti: r 0 = a, r 1 = b 0 r 1 < r 0 r 0 = q 1 r 1 + r 2 0 r 2 < r 1. r k = q k+1 r k+1 + r k+2. r n 2 = q n 1 r n 1 + r n n N : r n = 0, r n+1 = 0 0 r k+2 < r k+1 0 r n < r n 1 r n 1 = q n r n r n = syt(a, b). Tässä n = Eukleideen algoritmin pituus (length), jolle pätee n a 1. 6

9 Lause 2.8. Yllä kuvattu Eukleideen algoritmi päättyy äärellisen monen askelen jälkeen ja viimeinen nollasta eroava jakojäännös r n on syt(a, b). Edelleen Eukleideen algoritmin avulla löydetään sellaiset u, v Z, että syt(a, b) = ua + vb. Kokonaislukuja a ja b sanotaan keskenään jaottomiksi (relatively prime), jos syt(a, b) = 1. Merkitään joukon A alkioiden lukumäärää A. Määritelmä 2.9. Eulerin funktio φ: Z + Z + on määritelty seuraavasti: φ(n) on niiden kokonaislukujen b lukumäärä, joille 1 b n ja syt(b, n) = 1, ts. φ(n) = {1 b n syt(b, n) = 1}. Lause Eulerin funktiolla φ on seuraavat ominaisuudet: 1) φ(1) = 1. 2) Jos p on alkuluku ja k Z +, niin φ(p k ) = p k 1 (p 1), erityisesti φ(p) = p 1. 3) Jos p ja q = p ovat alkulukuja, niin φ(pq) = (p 1)(q 1) = φ(p)φ(q). 2.3 Kongruensseista Esitellään nyt jaollisuuteen perustuva kongruenssikäsite, jonka otti käyttöön Gauss. Määritelmä Jos a, b, n Z, n 2, niin a ja b ovat kongruentteja modulo n, merk. a b (mod n), jos n (a b). Kongruenssilla on seuraavat ominaisuudet: 1) a a (mod n). 2) a b (mod n), jos ja vain jos b a (mod n). 3) Jos a b (mod n) ja b c (mod n), niin a c (mod n). 7

10 4) Jos a b (mod n) ja c d (mod n), niin a ± c b ± d (mod n) ja ac bd (mod n). Ominaisuuksien (1) (3) perusteella kongruenssi modulo n on ekvivalenssirelaatio, joten se jakaa joukon Z alkiot ekvivalenssiluokkiin, ns. jäännösluokkiin modulo n. Luvun a määräämä jäännösluokka on a = {x Z x a (mod n)} = {a + kn k Z}. Selvästi a = b, jos ja vain jos a b (mod n). Erityisesti a = b, jos ja vain jos a b. Jos a Z, niin jakoyhtälön mukaan on olemassa yksikäsitteiset q, r Z, joille a = qn + r, 0 r < n. Tällöin a = r, joten jokainen kokonaisluku kuuluu täsmälleen yhteen luokista 0, 1, 2,..., n 1. Nämä jäännösluokat ovat erillisiä, joten jäännösluokkia modulo n on n kappaletta. Käytetään niiden joukolle merkintää Z n. Edellisen mukaan siis Z n = {0, 1, 2,..., n 1}. Koska n 1 = 1, n 2 = 2,..., niin nähdään, että myös Z n = { n + 1,..., 1, 0, 1,..., n }, kun n on parillinen, 2 2 { n 1 2 n 1,..., 1, 0, 1,..., }, kun n on pariton. 2 Ominaisuuteen (4) nojautuen voidaan määritellä jäännösluokkien modulo n summa ja tulo asettamalla a + b = a + b ja ab = ab. Asettamalla lisäksi a = a ja a b = a + ( b) voidaan jäännösluokilla modulo n suorittaa yhteen-, vähennys- ja kertolaskuja. Lisäksi joukosta Z tutut laskusäännöt ovat voimassa, ts. Z n on vaihdannainen ykkösellinen rengas ykkösalkionaan 1. Tarkastellaan seuraavaksi käänteisalkion olemassaoloa. Olkoon a = 0. Milloin on olemassa sellainen x, että ax = 1? Yhtäpitävästi voidaan kysyä, milloin kongruenssilla ax 1 (mod n) on ratkaisu x? 8

11 Lause Kongruenssilla ax 1 (mod n) on ratkaisu, jos ja vain jos syt(a, n) = 1. Ratkaisut muodostavat täsmälleen yhden jäännösluokan modulo n. Lauseen 2.12 todistuksesta käy ilmi, miten yhtälön ax = 1 ratkaisu a 1 = x löytyy Eukleideen algoritmin avulla. Luokkaa a, jolle a 1 on olemassa, sanotaan alkuluokaksi modulo n. Alkuluokkien lukumäärä on φ(n) ja niiden muodostamalle joukolle käytetään merkintää Z n. Joukko Z n on vaihdannainen ryhmä kertolaskun suhteen. Jos n = p on alkuluku, niin Z p = Z p {0}, joten joukon Z p jokaisella nollasta eroavalla alkiolla on käänteisalkio. Joukossa Z p voidaan siis suorittaa rajoituksetta kaikkia neljää laskutoimitusta, vain nollalla jakaminen ei ole mahdollista, ja kaikki rationaaliluvuilta tutut laskusäännöt toimivat. Joukko Z p on näin esimerkki äärellisestä kunnasta. Nämä ovat tärkeitä eräissä salakirjoitusmenetelmissä. Kun otetaan yksi alkio jokaisesta jäännösluokasta modulo n, saadaan täydellinen jäännössysteemi modulo n. Vastaavasti ottamalla yksi alkio kustakin alkuluokasta modulo n, saadaan supistettu jäännössysteemi modulo n. Helposti todetaan, että jos a 1, a 2,..., a φ(n) on supistettu jäännössysteemi ja syt(a, n) = 1, niin myös aa 1, aa 2,..., aa φ(n) on supistettu jäännössysteemi. Tähän tietoon nojautuen ei ole vaikea todistaa seuraavaa lausetta. Lause 2.13 (Eulerin lause). Jos syt(a, n) = 1, niin a φ(n) 1 (mod n). Seuraus 2.14 (Fermat n pieni lause). Jos p on alkuluku ja p a, niin a p 1 1 (mod p). Lause 2.13 voidaan lausua myös muodossa: Jos a Z n, niin a φ(n) = 1. Tästä käy ilmi, että a 1 = a φ(n) 1, joten käänteisalkio a 1 saadaan potenssiinkorotuksella laskemalla a φ(n) 1. Olkoon seuraavassa rem(a, n) jakojäännös, joka saadaan, kun a jaetaan luvulla n. Kyseessä on siis luku r N, joka toteuttaa ehdot a r (mod n) ja 0 r < n. 9

12 Tarkastellaan potenssin a l jakojäännöksen rem(a l, n) nopeaa laskemista, kun syt(a, n) = 1. Jakoyhtälön mukaan l = qφ(n) + r, 0 r < φ(n). Eulerin lauseen mukaan a φ(n) 1 (mod n), joten a l = (a φ(n) ) q a r a r (mod n) eli rem(a l, n) = rem(a r, n). Olkoon luvun r binääriesitys r = e k 2 k + e k 1 2 k e e 0, e i {0, 1}, e k = 1. Lasketaan peräkkäisillä neliöönkorotuksilla a 1 = rem(a 2, n), a 2 = rem(a 2 1, n) a 3 = rem(a 2 2, n) (= rem(a 22, n)), (= rem(a 23, n)),. a k = rem(a 2 k 1, n) (= rem(a 2k, n)). Tämän jälkeen saadaan a l a r a e k k a e k 1 k 1 ae 2 2 a e 1 1 a e 0 (mod n) ja rem(a l, n) saadaan laskettua nopeasti. 3 Perinteisiä salakirjoitusmenetelmiä 3.1 Caesar ja sen yleistyksiä Caesarin yhteenlaskumenetelmä On yksinkertaista asettaa joukon Z n alkiot vastaamaan n-kirjaimisen aakkoston symboleja. Esimerkiksi englanninkielistä aakkostoa vastaa Z 26 eli a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 10

13 missä jäännösluokkien modulo n = 26 yläviivat on jätetty pois. Voidaan sopia, että selkoviesti kirjoitetaan pienillä kirjaimilla ja SALATTU VIESTI ISOILLA KIRJAIMILLA. Aikaisemmin tarkastellun Caesarin menetelmän salausfunktio E k ja avausfunktio D k ovat yllä olevin merkinnöin yksinkertaisesti E k (x) = x + k ja D k (x) = x k, missä laskutoimitukset tehdään joukossa Z N Affiinikuvaus Tarkastellaan nyt yleisempää järjestelmää, missä yhteenlasku korvataan affiinilla kuvauksella. Valitaan tätä varten a Z n ja b Z n. Avaimena on nyt pari (a, b) ja salausfunktio on E(x) = E a,b (x) = ax + b, E : Z n Z n. Avainten lukumäärä on tällöin φ(n) n. Erikoistapauksina a = 1 antaa Caesarin yhteenlaskumenetelmän, E(x) = x + b b = 0 antaa ns. kertolasku-caesarin, E(x) = ax. Kuvaus E : Z n Z n on bijektio ja y = E(x) = ax + b ax = y b x = a 1 (y b). Edellä a Z n, joten a 1 on olemassa ja avausfunktioksi saadaan D(y) = D a,b (y) = a 1 y a 1 b. Yhteenveto affiinista järjestelmästä: P = C = Z n 11

14 K = {(a, b)}, missä a Z n ja b Z n salausfunktio E(x) = ax + b avausfunktio D(y) = a 1 y a 1 b. Affiini järjestelmä voidaan murtaa seuraavilla tavoilla: Brute de force. Kokeillaan kaikki avaimet. Frekvenssianalyysi. Käytetään hyväksi kirjainten esiintymistiheyksiä. Alla olevassa taulukossa on esitetty suomen ja englannin kielen kymmenen yleisintä kirjainta esiintymistiheyksineen. suomi kirjain % kirjain % A 11,5 S 6,6 I 10,5 L 5,9 T 9,7 O 5,5 N 9,1 Ä 5,2 E 8,4 K 4,9 englanti kirjain % kirjain % e 13,11 r 6,83 t 10,47 i 6,35 a 8,15 s 6,10 o 8,00 h 5,26 n 7,10 d 3,79 Saksan kielen kymmenen yleisintä kirjainta ovat E, N, I, S, R, A, T, D, H, U ja ranskan kielen E, S, A, I, T, N, R, U, L, O. Tiheydet ovat suuntaa-antavia ja vaihtelevat hieman tekstistä riippuen. Yleisyysjärjestyskin voi poiketa hieman lähteestä riippuen. Esimerkki 3.1. Avaa Caesarin yhteenlaskumenetelmällä laadittu englanninkielinen salakirjoitus ALYUNYMNWIGGIHXCPCMIL. Mikä on ollut avain? 1. Ylläolevan nojalla englanninkielen Top-6 kirjainjoukko on E M := {e,t,a,o,n,r} = {4, 19, 0, 14, 13, 17}. (1) 12

15 2. Salatun tekstin Top-6 joukoksi saadaan C M := {I,Y,G,M,C,L} = {8, 24, 6, 12, 2, 11}. (2) 3. Tutkitaan miten joukko E M kuvautuu joukolle C M Caesar-salauksessa. On todennäköistä, että: 3a. Kirjain e kuvautuu kirjaimelle I; tai 3b. Kirjain e kuvautuu kirjaimelle Y; tai... 3a. Tässä salausfunktio on E 4 (e) = I, E 4 (E M ) = {8, 23, 4, 18, 17, 21}, (3) joten E 4 (E M ) C M = {8}. (4) Tämä on epätodennäköistä! 3b. Tässä salausfunktio on E 20 (e) = Y, E 20 (E M ) = {24, 13, 20, 8, 7, 11}, (5) joten E 20 (E M ) C M = {24, 8, 11}. (6) Nyt jo puolet Top-joukoista täsmää, joten yritetään avausta dekryptausfunktiolla D 20 (y) = y 20 = y + 6, (7) jolloin aluksi saadaan D 20 (A) = g, D 20 (L) = r, D 20 (Y) = e, D 20 (U) = a, D 20 (N) = t. (8) Tämä on selkokieltä, joten jatketaan avausta. Siten selkoviesti on ollut greatestcommondivisor (9) ja kryptausavain k =

16 Esimerkki 3.2. Seuraava englanninkielestä salattu viesti VCLMPCAVESVFYDVOVIZHPCYXAXGBDATYZ on muodostettu affiinilla järjestelmällä. Mikä on selkokielinen teksti ja kryptausfunktio? 1. Ylläolevan nojalla englanninkielen Top-6 kirjainjoukko on E M := {e,t,a,o,n,r} = {4, 19, 0, 14, 13, 17}. (10) 2. Salatun tekstin Top-6 joukoksi saadaan C M := {V,C,A,Y,D,Z} = {21, 2, 0, 24, 3, 25}. (11) 3. Tutkitaan miten joukko E M kuvautuu joukolle C M affiinilla kuvauksella. On todennäköistä, että: 3a. Kirjain e kuvautuu kirjaimelle V; ja 4a. Kirjain t kuvautuu kirjaimelle C; tai 4b. Kirjain a kuvautuu kirjaimelle C; tai 4c. Kirjain o kuvautuu kirjaimelle C; tai 4d. Kirjain n kuvautuu kirjaimelle C; tai Olkoon salausfunktio E(x) = ax + b, a Z 26, b Z 26. (12) Tarvitaan siis yhtälöpari lukujen a ja b ratkaisemiseen. 3a+4a Sijoitusjärjestelmẗ Edellä mainitut järjestelmät ovat erikoistapauksia yksinkertaisesta sijoitusjärjestelmästä. Siinä on avainjoukkona joukon Z n permutaatioiden muodos- 14

17 tama joukko S n, jonka alkiot σ kirjoitetaan usein muotoon ( ) n 1 σ =. σ(0) σ(1)... σ(n 1) Nämä ovat bijektioita, joten niillä on käänteiskuvaus σ 1. Yksinkertainen sijoitusjärjestelmä: P = C = Z n K = S n salausfunktio E σ (x) = σ(x) avausfunktio D σ (y) = σ 1 (y). Joukon S n alkioiden lukumäärä on n!, joten avaimia on runsaasti. Yksinkertainen sijoitusjärjestelmä on murrettavissa kirjainten esiintymistiheyksiä tutkimalla, koska kirjaimen x kuva E(x) on sama koko ajan. Tästä johtuen on kehitetty myös moniaakkosjärjestelmiä, joista esimerkkinä tarkastellaan Vigenéren järjestelmää. 3.3 Vigenéren järjestelmä Vigenéren järjestelmän avain koostuu useasta Caesarin menetelmän avaimesta, joita sovelletaan jaksollisesti. Oletetaan, että k 1, k 2,..., k r Z n. Jaetaan selväkielinen teksti r:n pituisiin osiin x 1 x 2... x r. Kunkin osan i:s kirjain x i salakirjoitetaan Caesarin salausfunktion E ki avulla: selvä x i E ki (x i ) = x i + k i = y i sala. Vastaava avausfunktio on D ki (y i ) = y i k i. Avaimet k i annetaan usein avainsanan avulla. Vigenéren järjestelmässä sama kirjain kuvautuu eri kirjaimiksi paikasta riippuen, joten yksinkertainen kirjainten esiintymistiheyteen perustuva analyysi ei toimi. Kuitenkin, jos avaimen pituus r selviää, voidaan kukin k i murtaa erikseen kuten Caesarissa. Myös avaimen pituuden määrittämiseksi on olemassa menetelmiä. 15

18 3.4 Salakirjoitus matriiseilla Jos viestiyksikön pituus on r > 1 kirjainta, on luontevaa tarkastella viestiyksikköjä joukon Z r n vektoreina ja käyttää salauksessa r r-matriiseja. Rajoitutaan seuraavassa tapaukseen r = 2. Kerrataan lyhyesti matriisien laskusääntöjä: [ ] x Joukon Z 2 n alkiot ovat. y [ ] a b 2 2-matriisit ovat. c d Kaksi matriisia ovat identtiset, jos ja vain jos niissä samoilla paikoilla olevat alkiot ovat identtiset, ts. [ ] [ ] a11 a 12 b11 b 12 = a ij = b ij kaikilla i, j {1, 2}. a 21 a 22 b 21 b 22 Yhteenlasku on määritelty seuraavasti: [ ] [ ] [ ] [ ] [ ] [ ] x u x + u a b x u a + x b + u + =, + =. y v y + v c d y v c + y d + v Skalaarilla kertominen on määritelty seuraavasti: [ ] [ ] [ ] [ ] x ax a b ua ub a =, u =. y ay c d uc ud Kertolasku on määritelty seuraavasti: [ ] [ ] [ ] [ ] [ ] [ ] a b x ax + by a b x u ax + by au + bv =, =. c d y cx + dy c d y v cx + dy cu + dv Kertolasku ei ole vaihdannainen. [ ] 1 0 Yksikkömatriisi I = on kertolaskun neutraalialkio

19 [ ] a b Matriisin A = käänteismatriisi on matriisi A 1, jolle AA 1 = c d A 1 A = I, mikäli tällainen matriisi on olemassa. Voidaan osoittaa, että A 1 on olemassa, jos ja vain jos D = ad bc Z n. Tällöin [ ] d b A 1 = D 1. c a [ ] [ ] a b e Lause 3.3. Jos A =, a, b, c, d Z n, ad bc Z n ja B = c d f Z 2 n, niin affiini kuvaus E : Z 2 n Z 2 n, E(X) = AX + B, on bijektio, jonka käänteiskuvaus on D : Z 2 n Z 2 n, D(Y ) = A 1 (Y B). Matriisisalakirjoitus: { [ ] x } P = C = Z 2 n = x, y Zn y [ ] [ ] a b e avain {A, B}, A =, ad bc Z n, B = c d f salausfunktio E(X) = AX + B avausfunktio D(Y ) = A 1 Y A 1 B. Z 2 n Huomautus 3.4. Jos valitaan A = I = [ ], niin E(X) = X + B, joten kyseessä on Vigenéren järjestelmä, missä r = 2. Vastaavasti matriisisalakirjoituksen erikoistapauksena saadaan yleinen Vigenéren järjestelmä, jos tarkastellaan r r-matriiseja. Tarkastellaan nyt matriisisalakirjoituksen murtamista. Oletetaan ensin, että B = [ 0 0 ] ja tunnetaan kaksi paria selväkielistä tekstiä ja vastaavat salakirjoitukset. Tämä on mahdollista esimerkiksi niin, että sieppaaja onnistuu jotenkin lähettämään tekstiä tarkasteltavan kanavan kautta. Olkoot tunnetut selväkieliset tekstit P 1 = [ p11 p 21 ] ja P 2 = 17 [ p12 p 22 ]

20 sekä vastaavat salakirjoitukset ] ] C 1 = [ c11 c 21 ja C 2 = [ c12 Tällöin C 1 = AP 1 ja C 2 = AP 2 eli [ ] ] p11 p 12 C = AP, missä P = [P 1 P 2 = ja p 21 p 22 [ ] ] c11 c 12 C = [C 1 C 2 =. c 21 c 22 Jos nyt P 1 ja P 2 on valittu niin, että detp Z n, niin P 1 on olemassa. Tällöin saadaan A = CP 1, A 1 = P C 1 ja järjestelmä on murrettu. Tapauksessa B = [ ] 0 0 murtamiseen tarvitaan vielä kolmas pari P3 ja C 3 : C 1 = AP 1 + B, C 2 = AP 2 + B, C 3 = AP 3 + B. Tällöin päästään yllä olevan kaltaiseen tilanteeseen vähentämällä kolmas yhtälö kahdesta ensimmäisestä: C 1 C 3 = A(P 1 P 3 ), C 2 C 3 = A(P 2 P 3 ). Jos tästä saadaan A, niin sen jälkeen B = C 1 AP 1. Esimerkki 3.5. Olkoot tunnetut selväkieliset tekstit [ ] [ ] 3 4 P 1 = ja P 2 = 4 7 sekä vastaavat salakirjoitukset [ ] [ ] 2 1 C 1 = ja C 2 =. 1 2 a) Murra järjestelmä eli määrää käytetty salausmatriisi ja sitä vastaava avausmatriisi. b) Dekryptaa salattu viesti [ ] 3 C 3 =. 2 c

21 4 Julkisen avaimen salakirjoitus (public key cryptography) 4.1 Yleinen periaate Nykyaikaisissa tiedonvälitysjärjestelmissä perinteisillä salakirjoitusmenetelmillä on esimerkiksi seuraavat ongelmat: Avaimista sopiminen ja niiden välittäminen. Jos verkossa on n käyttäjää, tarvitaan ( n 2) = n(n 1)/2 avainta. Jos joku käyttäjä haluaa vaihtaa avaimensa (tai uusi käyttäjä liittyy verkkoon), tarvitaan n 1 (tai n) sopimusta uusista avaimista. Allekirjoitusongelma, koska normaali allekirjoitus on korvattava jotenkin. Aikaisemmin, kun salausta käytettiin lähinnä sotilaallisissa tai diplomaattisissa tarkoituksissa, nämä seikat eivät tuottaneet suurta ongelmaa. Vuonna 1976 Diffie ja Hellman esittivät ajatuksen julkisen avaimen järjestelmistä, joissa yllä mainitut ongelmat on selvitetty. Tällaisessa järjestelmässä kukin käyttäjä U muodostaa oman salausmenettelynsä E U D U, jotka toteuttavat ehdon ja avausmenettelynsä D U (E U (m)) = m kaikilla selväkielisillä viestiyksiköillä m. (13) Kukin käyttäjä U julkaisee salausmenettelynsä E U kaikkien käytettävissä. Avausmenettelyn D U avainkirjassa, joka on käyttäjä U pitää vain omana tietonaan. Jos A haluaa lähettää selväkielisen viestiyksikön m käyttäjälle B, hän etsii avainkirjasta käyttäjän B salakirjoitusmenettelyn E B ja salakirjoittaa viestinsä sen avulla, ts. c = E B (m). Kun B saa salakirjoitetun viestin c, hän saa ehdon (13) avulla viestin m selville käyttämällä (salaista) avausmenettelyään D B : D B (c) = D B (E B (m)) = m. 19

22 Jotta menettely olisi toimiva ja salaisuus säilyisi, tarvitaan seuraavat ehdot, joiden tulee olla voimassa kaikille käyttäjille U: Menettelyt E U ja D U ovat nopeita eivätkä tarvitse liian paljon muistia. Menettelyn E U avulla on käytännössä mahdotonta määrittää menettelyä DU, jolle DU(E U (m)) = m kaikilla m P. (14) (15) Ominaisuus (15) säilyttää järjestelmän salaisena ja mahdollistaa salausmenettelyn julkaisemisen avainkirjassa. Jos joku käyttäjistä vaihtaa avaimensa, riittää vaihtaa uusi E U avainkirjaan. Uuden käyttäjän mukaantulo on yhtä yksinkertaista. Edellä mainittu menettely muodostetaan usein käyttämällä yksisuuntaista funktiota tai salaovifunktiota. Määritelmä 4.1. Funktiota f sanotaan yksisuuntaiseksi, jos sen arvot ovat helposti laskettavissa ja käänteisfunktion f 1 (joka on olemassa) määrääminen on hyvin vaikeaa. Yksisuuntaista funktiota sanotaan salaovifunktioksi, jos sen käänteisfunktio on helppoa määrätä jonkin lisätiedon (salaovi, trapdoor) avulla. Funktiota ei yleensä onnistuta todistamaan yksisuuntaiseksi, joten joudutaan käyttämään funktioita, joiden uskotaan olevan yksisuuntaisia. Tällaisten funktioiden muodostaminen perustuu usein vaikeisiin ja paljon tutkittuihin lukuteorian ongelmiin, esimerkiksi RSA-järjestelmässä suurten lukujen tekijöihin jakamisen vaikeuteen. Jos käytössä on salaovifunktioita f U, niin voidaan muodostaa ehdot (13) (15) toteuttava järjestelmä valitsemalla E U = f U ja D U = f 1 U. Tarkastellaan nyt allekirjoitusongelmaa, jonka ratkaisemiseksi asetetaan kaksi uutta vaatimusta, joiden tulee olla voimassa kaikille käyttäjille U: E U (D U (c)) = c kaikilla salakirjoituksilla c. (16) Menettelyn E U avulla on käytännössä mahdotonta määrittää menettelyä D U, jolle E U (D U(c)) = c kaikilla c C. (17) 20

23 Julkisen avaimen järjestelmässä on usein P = C sama kaikilla käyttäjillä. Jos A lähettää käyttäjälle B selväkielisen viestin, hän lähettää allekirjoituksen s muodossa m = D A (s), jolloin B etsii avainkirjasta menettelyn E A ja laskee ehdon (16) avulla E A (m) = E A (D A (s)) = s. Allekirjoituksen muodostaa pari (s, D A (s)) = (s, m). Menettely edellyttää ehtoja (14), (16) ja (17), erityisesti ehto (17) varmistaa, että vain A voi toimia lähettäjänä. Käyttäjä A ei voi myöskään jälkikäteen kieltää viestiä. A s m B D A (s) = m m E A (m) = s EA Avainkirja Edellä oleva menettely voidaan toteuttaa salaovifunktiolla f valitsemalla E A = f, D A = f 1. Jos halutaan suorittaa salakirjoitus ja allekirjoitus, tarvitaan ominaisuudet (13) (17). Tällöin A muodostaa allekirjoitusosasta s tekstin c = E B (D A (s)). Käyttäjä B soveltaa tähän funktiota E A D B : E A (D B (c)) = E A (D B (E B (D A (s)))) = E A (D A (s)) = s. Menettely E A löytyy avainkirjasta, mutta vain B tuntee menettelyn D B ja voi määrittää allekirjoituksen s. Käyttäjä B käyttää A:n allekirjoituksena paria (s, D B (c)) = (s, D A (s)) kuten edellä. A s E B E B (D A (s)) = c c c B E A (D B (c)) = s Avainkirja EA Koska julkisen avaimen salakirjoitus vaatii yleensä paljon enemmän aikaa kuin perinteiset menetelmät, sitä käytetään usein perinteisen menetelmän ohella avainten vaihdossa eli käytettävän perinteisen menetelmän avaimet vaihdetaan julkisen avaimen menetelmällä. 21

24 4.2 RSA-menetelmä (Rivest, Shamir, Adleman 1978) RSA-menetelmässä salaovifunktion muodostus perustuu vuosisatoja tutkittuun lukuteorian ongelmaan: kuinka annettu (suuri) luku n jaetaan alkutekijöihin? Yksisuuntaisen funktion perusta on nyt se, että annettujen lukujen tulo on nopeasti laskettavissa, mutta tekijöiden löytäminen tulosta vaatii nopeiltakin koneilta liikaa aikaa. Olkoot p ja q kaksi eri alkulukua ja n = pq. Tällöin φ(n) = (p 1)(q 1). Valitaan sellainen luku e, 1 < e < φ(n), että syt(e, φ(n)) = 1 (mikä tahansa alkuluku e väliltä max{p, q} < e < φ(n) käy). Eukleideen algoritmin avulla löydetään ehdon 1 < d < φ(n) toteuttava luku d, jolle ed 1 (mod φ(n)). Tällöin ed = 1 + lφ(n) eräällä l N. Eulerin lauseeseen nojautuen saadaan seuraava lause. Lause 4.2. Kaikilla a Z n on a ed = a. Olkoon f : Z n Z n, f(a) = a e, ja g : Z n Z n, g(a) = a d. Tällöin g = f 1 Lauseen 4.2 perusteella ja molempien funktioiden arvot ovat nopeasti laskettavissa potenssiinkorotuksella modulo n, kun e ja d tunnetaan. Jos n ja e tunnetaan, niin f(a) on laskettavissa, mutta luvun d laskeminen ei onnistu ilman lukua φ(n), jonka löytäminen edellyttää alkulukujen p ja q tuntemista eli luvun n tekijöihinjakoa. Luku d on siis salaovi, jota ilman f 1 ei löydy, ja f on salaovifunktio. RSA-järjestelmässä kukin käyttäjä U valitsee yllä olevaan tapaan alkuluvut p U ja q U, laskee luvun n U = p U q U, valitsee sitten luvun e U, 1 < e U < φ(n U ), ja laskee luvun d U, jolle e U d U 1 (mod φ(n U )). Avainkirjassa kukin käyttäjä julkaisee avaimensa K U = (n U, e U ), mutta pitää omana tietonaan luvun d U (ja luvut p U, q U ), joka muodostaa salaoven. Kun käyttäjä A haluaa lähettää viestin käyttäjälle B, hän muuntaa viestinsä joukon Z nb alkioiksi esimerkiksi seuraavassa kappaleessa esitettävällä tavalla ja toimii edellä kuvatun yleisen periaatteen mukaisesti. Viestin m Z nb salakirjoitus on E B (m) = m e B = c Z nb. 22

25 Vain B tietää luvun d B, joten hänen avausfunktionsa on D B (c) = c d B = m e Bd B = m. Allekirjoitus onnistuu myös yleisen periaatteen mukaisesti, A lähettää allekirjoituksensa s muodossa D A (s) = s d A = m Z na. Pari (s, m) muodostaa allekirjoituksen. Jos halutaan salaus ja allekirjoitus, niin voidaan toimia yleisen periaatteen mukaisesti, jos n A < n B. Tällöin A laskee ensin rem(s d A, n A ) = m (muista, että rem(a, n) tarkoittaa lukua r, jolle 0 r < n ja a r (mod n)) ja sitten rem(m e B, n B ) = c, Salattu allekirjoitus on siis c = rem((rem(s d A, n A )) e B, n B ). Saatuaan salakirjoituksen c käyttäjä B laskee ensin rem(c d B, n B ) = rem(m e Bd B, n B ) = m ja sitten rem(m e A, n A ) = rem(s d Ae A, n A ) = s. Tämä menettely ei toimi, jos n B < n A, koska tällöin rem(m, n B ) voi olla sama usealla arvolla m. Jos n B < n A, vaihdetaan järjestystä: A laskee ensin rem(s e B, n B ) = m 1 ja sitten rem(m d A 1, n A ) = c eli c = rem((rem(s e B, n B )) d A, n A ). Vastaavasti B avaa salakirjoituksen c laskemalla ensin rem(c e A, n A ) = m 1, ja sitten rem(m d B 1, n B ) = s. 4.3 Tekstin esittäminen joukon Z n alkioina Edellä on muunnettu N symbolin aakkosto yleensä luvuiksi 0, 1,..., N 1, jotka voidaan tulkita myös joukon Z N alkioiksi. Esimerkiksi RSA-järjestelmässä toimitaan joukossa Z n, missä n on suuri. Jos N-kirjaimisella aakkostolla kirjoitettu teksti jaetaan k-pituisiin osiin a 1 a 2... a k, 0 a i < N, voidaan jokainen tällainen osa esittää kääntäen yksikäsitteisesti N-kantaisena muodossa a = a 1 N k 1 + a 2 N k a k. 23

26 Nyt a N k 1, joten jos luku k valitaan niin, että N k n, niin Nkirjaimisen aakkoston k-pituiset sanat voidaan esittää kääntäen yksikäsitteisesti joukon Z n osajoukkona luonnollisella tavalla. Jos taas n N l, niin joukon Z n jokaista alkiota vastaa eräs N-kirjaimisen aakkoston l-pituinen sana. Jos siis käytetään RSA-järjestelmää ja jokainen käyttäjä U valitsee lukunsa n U niin, että N k n U N l, k, l N, niin kaikki käyttäjät voivat valita P = {k-kirjaimiset sanat} Z nu C = Z nu {l-kirjaimiset sanat}. 4.4 Diskreetti logaritmi Reaalilukujen joukossa lukujen b x ja log b x laskeminen vaaditulla tarkkuudella on yhtä nopeaa. Tarkastellaan nyt vastaavia laskuja joukossa Z n. Jos b Z n, niin b x on laskettavissa nopeasti suurillakin x N. Oletetaan sitten, että tiedetään alkion y Z n olevan muotoa y = b x. Kuinka x = log b y saadaan selville (tässä logaritmi on ns. diskreetti logaritmi, ei joukon R + logaritmifunktio)? Tälle diskreetin logaritmin ongelmalle ei tunneta nopeaa ratkaisua yleisessä tapauksessa, joten jälleen voidaan rakentaa yksisuuntainen funktio. Määritelmä 4.3. Lukua g, 1 g n 1, sanotaan primitiivijuureksi modulo n, jos Z n = {g k k = 0, 1,..., φ(n) 1} = {1, g, g 2,..., g φ(n) 1 }. Jos g on primitiivijuuri modulo n, niin sen määräämää jäännösluokkaa sanotaan joukon Z n primitiiviseksi alkioksi. Jokaista n kohti ei löydy primitiivijuurta, vaan ainoastaan seuraavan lauseen mukaisissa tilanteissa. Lause todistetaan kurssilla Lukuteoria A. 24

27 Lause 4.4. Primitiivijuuri modulo n on olemassa, jos ja vain jos n on 2, 4, p l, 2p l, l = 1, 2,..., missä p > 2 on alkuluku. Primitiivijuuri liittyy läheisesti seuraavaksi määriteltävän kertaluvun käsitteeseeen. Määritelmä 4.5. Olkoon n 2 ja syt(a, n) = 1. Luvun a kertaluvuksi modulo n sanotaan pienintä ehdon a k 1 (mod n) toteuttavaa positiivista kokonaislukua k. Tällöin merkitään k = ord n a. Eulerin lauseen mukaan a φ(n) 1 (mod n), joten ord n a φ(n). Lause 4.6. Olkoon n 2 ja syt(a, n) = 1. Tällöin a m 1 (mod n) ord n a m. Seuraus 4.7. ord n a φ(n). Seuraus 4.8. a j a k (mod n) jos ja vain jos j k (mod ord n a). Lauseen 4.6 avulla voidaan nyt todistaa seuraava kertaluvun ja primitiivijuuren yhteys. Lause 4.9. Luku g, 1 g n 1, on primitiivijuuri modulo n, jos ja vain jos ord n g = φ(n). Edellisten lauseiden todistuksista käy myös ilmi, että jos g on primitiivijuuri modulo n, niin jokaisella y Z n on yksikäsitteinen esitys muodossa y = g k, 0 k φ(n) 1. Tähän perustuen on mielekästä asettaa seuraava määritelmä. Määritelmä Olkoon g Z n primitiivinen. Alkion y Z n diskreetiksi logaritmiksi kannan g suhteen sanotaan sellaista lukua k {0, 1,..., φ(n) 1}, että y = g k. Tätä merkitään k = log g y. Edellä valitaan usein n = p alkuluvuksi, jolloin Z p on äärellinen kunta. 25

28 4.5 Diffie Hellman-avaimenvaihto Oletetaan, että joukossa Z n on primitiivinen alkio g. Tiedonsiirtojärjestelmän avaimenvaihtomenettely voidaan hoitaa seuraavasti: kaikki käyttäjät tuntevat luvun n ja primitiivisen alkion g. Kukin käyttäjä U valitsee luvun m U {1,..., φ(n) 1} ja laskee g m U, jonka hän julkaisee. Käyttäjien A ja B keskinäisen yhteydenpidon avaimen määrää g m Am B. Käyttäjä A saa avaimen potenssiinkorotuksella (g m B ) m A = g m Am B ja käyttäjä B vastaavasti (g m A ) m B = g m Am B. Sieppaaja tuntee vain alkiot g m A ja g m B. Jos hän ratkaisisi diskreetin logaritmin ongelman, ts. luvun m A tai luvun m B, avain löytyisi. Muuten sen löytäminen ei ilmeisesti onnistu (huomaa, että g m A g m B = g m A+m B ). 4.6 Elgamal-salaus Olkoon b Z p annettu, missä p on alkuluku. Yleensä b valitaan primitiiviseksi, mutta se ei ole välttämätöntä. Kaikki käyttäjät tuntevat alkiot p ja b. Oletetaan lisäksi, että P, C Z p (usein Z p). Kukin käyttäjä U valitsee luvun m U {1, 2,..., p 2} ja pitää sen omana tietonaan. Julkiseen avainkirjaan annetaan b m U Z p. Jos joku käyttäjä haluaa lähettää viestin m Z p käyttäjälle A, hän valitsee k N ja lähettää parin (b k, mb mak ) Z p2. Koska b mak = (b m A ) k ja b m A on avainkirjassa, on pari laskettavissa nopeasti potenssiinkorotuksella. Käyttäjä A (ja vain hän) tuntee luvun m A, joten hän laskee parin ensimmäisen komponentin avulla (b k ) m A = b mak. Jakamalla näin saadulla alkiolla toisen komponentin A saa mb m Ak b m Ak = m. Jos sieppaaja ratkaisee diskreetin logaritmin ongelman, on murtaminen helppoa. Muuten on ilmeisesti vaikea saada b mak alkioista b k ja b m A. Tilanne on siis sama kuin Diffie Helman-avaimenvaihdossa. 26

29 Edellä viesti m on naamioitu alkion b m Ak avulla ja ensimmäinen komponentti b k on johtolanka, jonka avulla A (ja vain hän) voi riisua naamion. 4.7 Selkäreppuongelma Oletetaan, että on annettu k luvun joukko {v 1, v 2,..., v k } Z + ja positiivinen V Z +. Onko olemassa sellaista osajoukkoa I {1, 2,..., k}, että v i = V. i I Edellä oleva kysymys voidaan tulkita myös seuraavalla tavalla: jos selkärepun tilavuus on V ja on k esinettä, joiden tilavuudet ovat v 1, v 2,..., v k, niin voidaanko reppu pakata näillä esineillä tasan täyteen? Tätä kysymystä kutsutaan selkäreppuongelmaksi (knapsack problem). Se voidaan muotoilla myös seuraavasti: olkoot v 1, v 2,..., v k ja V annettuja positiivisia kokonaislukuja. Onko olemassa sellaisia lukuja ε i {0, 1}, i = 1,..., k, että k ε i v i = ε 1 v 1 + ε 2 v ε k v k = V? i=1 Jos k on suuri, niin on osoitettu, että selkäreppuongelma on yleisessä tapauksessa hyvin vaikea ratkaista. Eräissä erikoistapauksissa ongelma on kuitenkin helppo ratkaista. Määritelmä k-jonoa v 1, v 2,..., v k sanotaan superkasvavaksi (superincreasing), jos jokaisella j = 2,..., k pätee v j > v v j 1. Myös vastaavaa joukkoa {v 1, v 2,..., v k } ja selkäreppuongelmaa sanotaan superkasvavaksi. Superkasvava selkäreppu on helppo ratkaista seuraavasti: olkoot superkasvava joukko {v 1, v 2,..., v k } ja luku V annettu. Jos V > v 1 + v v k, 27

30 ratkaisua ei ole. Oletetaan siis, että V v 1 + v v k. Mahdollisessa ratkaisussa ε 1, ε 2,..., ε k on ε k = 1, jos ja vain jos V v k ; tämän jälkeen saadaan rekursiivisesti kaikilla j = k 1, k 2,..., 1 (tässä järjestyksessä) ε j = 1, jos ja vain jos V (ε k v k + + ε j+1 v j+1 ) v j. Näin saadaan luvut ε 1, ε 2,..., ε k {0, 1}. Jos V = ε 1 v 1 + ε 2 v ε k v k, niin selkäreppu ratkeaa ja ε 1, ε 2,..., ε k on ratkaisu. Muutoin selkäreppu ei ratkea. 4.8 Selkäreppujärjestelmä Sovitaan, että selväkieliset viestiyksiköt ovat binäärilukuja, joiden pituus on korkeintaan k (tähän päästään käyttämällä aakkostolle lukuvastineita ja muuntamalla tiettyä kirjainmäärää vastaava luku binääriluvuksi). Tyypillinen selväkielinen viestiyksikkö on siis m = (m 1 m 2... m k ) 2 = m 1 2 k 1 + m 2 2 k m k, m i {0, 1}. Kukin käyttäjä U valitsee superkasvavan k-jonon u 1, u 2,..., u k ja sellaiset kokonaisluvut n U ja a U, että n U > u 1 + u u k, 1 < a U < n U, syt(a U, n U ) = 1. (18) Tämän jälkeen U määrittää (Eukleideen algoritmilla) luvun b U, jolle a U b U 1 (mod n U ) (ts. a 1 U = b U joukossa Z n U ). (19) Seuraavaksi käyttäjä U laskee k-jonon u 1, u 2,..., u k, missä u i = rem(a U u i, n U ), i = 1, 2,..., k. Käyttäjä U pitää luvut u i, n U, a U ja b U vain omana tietonaan, mutta julkaisee k-jonon u 1, u 2,..., u k avaimenaan. Siten K U 28 = {u 1, u 2,..., u k }. Jos

31 joku haluaa lähettää käyttäjälle U viestin m = (m 1 m 2... m k ) 2, hän käyttää salausfunktiota E U (m) = m 1 u 1 + m 2 u m k u k = c, joka on helppoa laskea avaimesta K U. Avausmenettely D U koostuu kahdesta osasta. Salaoven muodostaa luku b U, jonka U tuntee. Ensimmäisessä vaiheessa U laskee kongruenssin (19) avulla b U c b U (m 1 a U u 1 + m 2 a U u m k a U u k ) m 1 u 1 + m 2 u m k u k (mod n U ). Ehdon (18) mukaisesti yllä olevasta kongruenssista seuraa yhtälö rem(b U c, n U ) = m 1 u 1 + m 2 u m k u k. Toisessa vaiheessa ratkaistaan tämä superkasvava selkäreppu ja saadaan m = (m 1 m 2... m k ) 2. Edellä kuvatun menettelyn idea on luonnollisesti siinä, että käyttäjän U superkasvava jono u 1, u 2,..., u k sotketaan luvulla a U kertomalla avainjonoksi u 1, u 2,..., u k, joka ei ole superkasvava. Sieppaajan tulisi salakirjoituksen murtamiseksi ratkaista tämän jonon avulla muodostettu yleiseltä näyttävä selkäreppuongelma m 1 u 1 + m 2 u m k u k = c. Selkäreppujärjestelmän esittivät vuonna 1978 Merkle ja Hellman ja se saavutti yksinkertaisuutensa ja nopeutensa takia suuren suosion. Kuitenkin Shamir onnistui murtamaan menetelmän jo vuonna Myös menetelmän parannuksia on murrettu, joten selkäreppujärjestelmää ei pidetä kovin turvallisena. 4.9 Huomautuksia Edellä ei ole käsitelty esiteltyjen julkisen avaimen järjestelmien heikkouksia, kuten murtamismahdollisuuksia. RSA:ta pidetään varsin turvallisena, kun p ja q ovat riittävän suuria sekä niiden valinnassa otetaan huomioon eräitä rajoituksia. Vuonna 2010 turvallisena avainpituutena pidetään 1024 bittiä 29

32 (reilut 300 numeroa 10-kanteisena). Myös 512-bittiset avaimet antavat melko hyvän suojan, vaikkeivat ne järeitä hyökkäyksiä kestäkään. On arvioitu, että parin vuosikymmenen kuluttua RSA-avaimen olisi oltava 3072-bittinen (3072 = , ) ollakseen turvallinen. Myös diskreetti logaritmi lienee luotettava, kun kunta Z p (tai yleisempi äärellinen kunta) on riittävän suuri. Voidaan myös kysyä täsmällisempää tietoa eri menetelmien vaatimien laskutoimitusten määristä eli tarvittavasta laskenta-ajasta. Luonnollisesti tulee esille myös kysymys siitä, miten esimerkiksi RSA:n tarvitsemia suuria alkulukuja on löydettävissä. Syventävien opintojen kurssilla Kryptografia tarkastellaan lähemmin näitä kysymyksiä sekä esitellään menetelmiä, jotka vaativat syvällisempiä matematiikan tietoja. 30

33 Harjoitustehtävät 1. Ystäväsi K lähettää sinulle Caesarin yhteenlaskumenetelmällä kirjoitetun viestin ÖHXHHTTLOHUPSSHSSH R. Avaa viesti. 2. Avaa Caesarin yhteenlaskumenetelmällä laadittu englanninkielinen salakirjoitus ALYUNYMNWIGGIHXCPCMIL. Mikä on ollut avain? 3. Salakirjoita viesti THIS MESSAGE IS TOP SECRET käyttämällä Caesarin yhteenlaskumenetelmää ja avainta k = Avaa Caesarin yhteenlaskumenetelmällä laadittu englanninkielinen salakirjoitus YFXMP CESPZ CJTDF DPQFW QZCPY NTASP CTYRX PDDLR PD. a) Brute de force menetelmällä (katso 3.1). b) Frekvenssianalyysilla. 5. Jaa luvut 211, 212, 213, 721 alkutekijöihin. Määritä myös lukujen binääriesitykset. 6. Esitä luku 2010 a) 5-kantaisessa, b) 8-kantaisessa, c) 32-kantaisessa lukujärjestelmässä. 7. Laske Anna myös vastaus 3-kantaisena. 8. Tarkastellaan 26-kantaista järjestelmää, missä englanninkieliset aakkoset A Z esittävät numeroita Laske (Y ES) (NO). 1

34 9. Määrää lukujen a) 101 ja 3040, b) 1690 ja 650 suurin yhteinen tekijä. 10. Etsi sellaiset kokonaisluvut x ja y, että 213x 89y = 1, 1 x, y Todista 10-kantaisille esityksille toimivat jaollisuussäännöt luvuille 2, 3, 5, 9 ja 11: 2, 5: luku on jaollinen 2:lla (vast. 5:llä), jos ja vain jos sen viimeinen numero on jaollinen 2:lla (vast. 5:llä), 3, 9: luku on jaollinen 3:lla (vast. 9:llä), jos ja vain jos sen numerosumma on jaollinen 3:lla (vast. 9:llä) (luvun L = n i=0 a i10 i numerosumma on n i=0 a i), 11: luku on jaollinen 11:llä, jos ja vain jos sen vuorotteleva numerosumma on jaollinen 11:llä (luvun L = n i=0 a i10 i vuorotteleva numerosumma on n i=0 ( 1)i a i = a 0 a ( 1) n a n ). 12. Ratkaise kongruenssit a) 3x 4 (mod 7), b) 14x 1 (mod 27), c) 2x 1 (mod p), missä p 3 on alkuluku. 13. Ratkaise kongruenssit a) 5x 1 (mod 7) ja 5x 1 (mod 5), b) 3z 3 (mod 3) ja 3z 3 (mod 9), c) 4x 2 2 (mod 7). 14. Kirjoita yhteen- ja kertolaskutaulut joukoille Z 7 ja Z 8. 2

35 15. Laske a 1, kun a) a = 15 Z 17, b) a = 16 Z 19, c) a = 3 Z a) Oletetaan, että syt(b, 35) = 1. Osoita, että b 48 1 (mod 35). b) Osoita, että (mod 33). 17. Laske rem(4 10, 5), rem(5 101, 25), rem( , 3), rem( , 9), rem(15 55, 91) ja rem( , 77). 18. Olkoon N = 26. Määritä sellaisen affiinin järjestelmän avausfunktio, jonka salausfunktio on a) E(x) = 11x + 5; b) E(x) = 13x + 10; c) E(x) = 21x Käytetään suomenkielistä aakkostoa täydennettynä välillä (=27) ja affiinia järjestelmää, jonka avain on (5, 24). Salakirjoita teksti TULKAA APUUN. Mikä on avausfunktio? 20. Esimerkissä 3.2 murrettiin affiinin kuvauksen kryptotekstiä VCLMPCAVESVFYDVOVIZHPCYXAXGBDATYZ. Määrää tapauksissa 4a, 4b, 4c ja 4d dekryptaus-funktio sekä avaa sillä kryptotekstin 5 ensimmäistä kirjainta. 3

36 21. Käytetään affiinia järjestelmää joukossa Z 26. Avaa englanninkielinen salakirjoitus CRWWZ, kun tiedetään, että selväkielinen teksti alkaa kirjaimilla HA. 22. Tehtäväsi on selvittää affiinilla järjestelmällä tehty salakirjoitus, jossa käytetään 37-kirjaimista aakkostoa, jonka kirjaimet ovat luvut 0 9 (vastaavat lukuja 0 9), englanninkieliset aakkoset A Z (vastaavat lukuja 10 35) ja väli (=36). Salakirjoitusteksti on OH7F86BB46R3627O266BB9. Tiedät, että viestin on lähettänyt 007. Mikä on viesti? 23. Ovatko funktiot a) σ(i) = i + 17; b) σ(i) = 13i + 17; c) σ(i) = 17i + 25 permutaatioita joukossa Z 26? Jos, niin anna vastaava permutaatiosymboli. 24. Laske Caesarin yhteenlasku- ja kertolaskumenetelmien sekä affiinin järjestelmän salausfunktioiden suhteelliset osuudet kaikista yksinkertaisten sijoitusjärjestelmien salausfunktioista, kun N = 26 ja yleisessä tapauksessa. 25. Käytetään avainsana-caesaria, jonka avain on (5, SYYSKUU). Salakirjoita teksti SYKSY ON TULLUT. 26. Salakirjoita teksti DOES SURJECTION BECOME INJECTION Vigenéren järjestelmällä, kun avainsana on INJECTION. 27. Valitse jokin 2-pituinen avain Vigenéren järjestelmässä. Salakirjoita jokin merkkiä pitkä teksti. Anna se toiselle harjoitusryhmän jäsenelle murrettavaksi. 4

37 28. Seuraavien matriisien alkiot ovat joukon Z N alkioita. Määritä A 1, kun [ ] 1 3 a) A = ja N = 5, 4 3 [ ] b) A = ja N = 26, 4 9 [ ] 3 6 c) A = ja N = Käytetään suomenkielistä aakkostoa, missä A Ö on 0 26 ja väli=27, joten N = 28. Salakirjoita matriisisalakirjoituksella ja tehtävän 28c matriisilla A teksti YHTEYS TOIMII. 30. Käytetään tehtävän 29 koodausta kirjaimille ja välille. Salakirjoita viesti SYYSRUSKA a) Vigenéren järjestelmällä, kun avainsana on NO, b) matriisisalauksella avaimella { [ ] [ ] } {A, B} =, Käytetään matriisisalakirjoitusta avaimella A = salaus XZIIAUCR. [ 3 17 ], B = 1 6 [ 0 0]. Avaa 32. Käytetään englanninkielistä aakkostoa, missä A Z on 0 25, väli=26,?=27 ja!=28, joten N = 29. Saat matriisisalakirjoituksella, missä B = [ 0 0 ], tehdyn viestin GFPYJP X?UYXSTLADPLW ja tiedät, että viisi viimeistä kirjainta on lähettäjän nimi KARLA. Avaa viesti. 33. Olkoon n = pq annettu, missä p ja q ovat erisuuria alkulukuja. 5

38 a) Osoita, että luvun φ(n) tunteminen on yhtäpitävää tekijöiden p ja q tuntemisen kanssa. b) Määrää p ja q, kun n = ja φ(n) = Käytetään RSA-järjestelmää ja avainta (n, e). Suorita salaus, kun viesti ja avain ovat a) SELKÄREPPU ja (91, 11) (muunna viesti kirjain kerrallaan joukon Z n alkioiksi), b) TAKE IT AWAY ja (2773, 17) (muunna viesti 2 kirjaimen osissa joukon Z n alkioiksi). Murra kumpikin salausmenettely määräämällä salaovi d, avaa salakirjoitus ja totea, että saat alkuperäisen tekstin. 35. Laske tulot , käyttäen kaavaa (a + b)(a b) = a 2 b 2. Esitä luvut , ainakin kahden tekijän tulona. 36. Tietoverkon käyttäjien A ja B RSA-avaimet ovat (n A, e A ) = (2773, 17) ja (n B, e B ) = (2047, 179). Missä muodossa A lähettää allekirjoituksensa AK B:lle? Entä salattu allekirjoitus? Selvitä samat kysymykset käyttäjän B lähettäessä allekirjoituksensa BG A:lle. Muuta allekirjoitukset numeeriseksi esittämällä ne 26-kantaisena. 37. a) Määritä primitiivijuuri modulo n, kun n = 3, 4, 5, 6, 7, 9, 10, 11. b) Laske log g ( k) joukossa Z n, kun n = 5, 9, 11, k = 1, 2 ja g on edellä saamasi primitiivijuuri. 38. Määritä joukon Z 25 primitiivinen alkio g ja laske log g ( 1), log g 2 ja log g Määrää ord 13 10, ord 10 3 ja ord Osoita, että 2 on primitiivijuuri modulo Osoita, että 2 on primitiivijuuri modulo 37 ja laske log 2 28, log 2 8, log 2 ( 10). 6

39 42. Olkoon g primitiivijuuri modulo n. Osoita, että g j on primitiivijuuri modulo n, jos ja vain jos syt(j, φ(n)) = 1. Kuinka monta primitiivijuurta modulo 31 on? Määrää ne. 43. Alla olevassa taulukossa on annettu log 2 a joukossa Z 37. a log 2 a a log 2 a Ratkaise kongruenssit a) 12x 23 (mod 37), b) 5x (mod 37), c) x (mod 37), d) 7x (mod 37). 44. Ratkaise kongruenssi x (mod 463). 45. Määrää kaikki primitiivijuuret modulo 17. Käyttäjät A ja B käyttävät Diffie Hellman-avaimenvaihtoa ja primitiivijuurta g = 3 joukossa Z 17. Käyttäjän A salainen eksponentti on m A = 7 ja käyttäjän B m B = 4. Määrää käyttäjien A ja B julkiset avaimet ja yhteinen avain. 46. Olkoon n = 37 ja g = 2. Diffie Hellman-avaimenvaihdossa käyttäjän A salainen eksponentti m A = 18 ja käyttäjän B m B = 23. Mitkä ovat käyttäjien A ja B julkaisemat alkiot ja mikä on heidän yhteinen avaimensa? 47. Käytetään Elgamal-salausta, missä p = 37 ja b = 2. Salakirjoita viesti NYT käyttäjälle A, jonka salainen eksponentti on m A = Olkoon alkuluku p = ja b = 5. Saat viestin (29095, 23846), jonka ystäväsi on lähettänyt käyttäen Elgamal-salausta kunnassa Z p ja antamaasi julkista avainta 5 m, missä salainen eksponenttisi m = Olette 7

40 sopineet, että joukon Z p alkiot muunnetaan 31-kirjaimisen aakkoston 3- pituisiksi jonoiksi esittämällä ne 31-kantaisessa muodossa (kirjaimet A Z ovat 0 25, väli=26,.=27,?=28,!=29 ja =30). Avaa saamasi viesti. 49. Käytetään Elgamal-salausta. a) B lähettää käyttäjälle A viestin m = 39828, kun A:n julkinen avain on ja toimitaan joukossa Z p primitiivijuurella b = 3, missä p = on alkuluku. Mikä on salakirjoitus, kun B valitsee k = ? b) Toimitaan joukossa Z p primitiivijuurella b = 2, missä p = on alkuluku. Käyttäjän A salainen avain on m A = A saa käyttäjältä B kolmen kirjaimen lohkoissa salakirjoitetun viestin (61745, ), (255836, ), (108147, ). Avaa salakirjoitus, kun A ja B ovat sopineet käyttävänsä kirjaimille seuraavia numerovastineita: A=11, B=12,..., Z= Tutki, onko seuraava jono superkasvava ja ratkaise annettu selkäreppuongelma: a) {2, 3, 7, 20, 35, 69}, V = 45, b) {4, 5, 10, 30, 50, 101}, V = 186, c) {1, 2, 2 2,..., 2 k 1 }, V < 2 k, k N {0}. 51. a) Muodosta superkasvavasta 5-jonosta 2, 3, 7, 15, 31 käyttäjälle U julkinen avainjono, kun n U = 61 ja a U = 7. b) Salakirjoita teksti YÖLLÄKÖ, missä kirjaimet A Ö vastaavat binääriluvuiksi muunnettuja lukuja c) Avaa salakirjoitus 65, 141, 99, 99, Muodosta superkasvavasta 10-jonosta 1, 3, 5, 11, 21, 44, 87, 175, 349, 701 käyttäjälle U julkinen avainjono, kun n U = 1590 ja a U = 43. Salakirjoita teksti KNAPSACK. 8

41 53. Oletetaan, että selvätekstin yksiköt ovat 3 kirjaimen jonoja 32 kirjaimisessa aakkostossa, missä A Z on 0 25, väli=26,?=27,!=28,.=29, =30 ja $=31. Olet antanut selkäreppujärjestelmän julkisen avainjonon 24038, 29756, 34172, 34286, 38334, 1824, 18255, 19723, 143, 17146, 35366, 11204, 32395, 12958, 6479, jonka muodostamisessa olet käyttänyt lukuja n = ja a, missä a 1 = b = Avaa saamasi viesti , , 68546, , Asetetaan englanninkielisen aakkoston kirjaimet ja väli vastaamaan lukuja seuraavasti: väli=0, A=1, B=2,..., Z=26. Alicen julkinen selkäreppujärjestelmän avain on {17, 51, 33, 48, 27}. Sieppaat hänelle tulevan viestin 33, 78, 81, 81, 78, 75, 77, 84, 50. Koska avainjono on lyhyt, salaus murtuu helposti. Avaa viesti! 55. Avaa salakirjoitus KOKOOKOKOONKOKOKOKKOKOKOKOKKOKOKOKOKOKKO. 9

Harjoitustehtävät. Laskarit: Ti KO148 Ke KO148. Tehtävät viikko. VIIKON 42 laskarit to ko salissa IT138

Harjoitustehtävät. Laskarit: Ti KO148 Ke KO148. Tehtävät viikko. VIIKON 42 laskarit to ko salissa IT138 Harjoitustehtävät Laskarit: Ti 12 14 KO148 Ke 12 14 KO148 Tehtävät viikko 37 : 3, 4, 5, 9a, 10, 11 38 : 18a, b, 20, 21, 23a, b, 26, 28b 39 : 17, 29, 31, 32, 33, 35 40 : 8, 16, 34, 37, 38a, b 41 : 40, 42,

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

Salausmenetelmät 2015/Harjoitustehtävät

Salausmenetelmät 2015/Harjoitustehtävät Salausmenetelmät 2015/Harjoitustehtävät 1. Ystäväsi K lähettää sinulle Caesarin yhteenlaskumenetelmällä kirjoitetun viestin ÖHXHHTTLOHUPSSHSSH R. Avaa viesti. 2. Avaa Caesarin yhteenlaskumenetelmällä laadittu

Lisätiedot

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

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

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

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

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

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

RSA-salausmenetelmä LuK-tutkielma Tapani Sipola Op. nro Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2017 RSA-salausmenetelmä LuK-tutkielma Tapani Sipola Op. nro. 1976269 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2017 Sisältö Johdanto 2 1 Salausmenetelmien yleisiä periaatteita 3 2 Määritelmiä ja

Lisätiedot

SALAUSMENETELMÄT A, 4 op

SALAUSMENETELMÄT A, 4 op Luentorunko SALAUSMENETELMÄT 801346A, 4 op Pohjautuu Leena Leinosen, Marko Rinta-ahon, Tapani Matala-ahon ja Keijo Väänäsen luentoihin Sisältö 1 Johdanto 2 2 Perinteisiä salakirjoitusmenetelmiä 4 2.1 Caesar

Lisätiedot

a ord 13 (a)

a ord 13 (a) JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 4, MALLIRATKAISUT Tehtävä 1. Etsi asteet ord p (a) luvuille a 1, 2,..., p 1 kun p = 13 ja kun p = 17. (ii) Mitkä jäännösluokat ovat primitiivisiä juuria (mod

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

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

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

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

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

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

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT Tehtävä 1. (i) Olkoot n, d 1 ja d n. Osoita, että (k, n) d jos ja vain jos k ad, missä (a, n/d) 1. (ii) Osoita, että jos (m j, m k ) 1 kun

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

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

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

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

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

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

RSA-salakirjoitus. Simo K. Kivelä, Apufunktioita

RSA-salakirjoitus. Simo K. Kivelä, Apufunktioita Simo K. Kivelä, 25.1.2005 RSA-salakirjoitus Ron Rivest, Adi Shamir ja Leonard Adleman esittivät vuonna 1978 salakirjoitusmenettelyn, jossa tietylle henkilölle osoitetut viestit voidaan salakirjoittaa hänen

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

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

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

Esko Turunen Luku 3. Ryhmät

Esko Turunen Luku 3. Ryhmät 3. Ryhmät Monoidia rikkaampi algebrallinen struktuuri on ryhmä: Määritelmä (3.1) Olkoon joukon G laskutoimitus. Joukko G varustettuna tällä laskutoimituksella on ryhmä, jos laskutoimitus on assosiatiivinen,

Lisätiedot

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

n (n 1) avainten vaihtoa. Miljoonalle käyttäjälle avainten vaihtoja tarvittaisiin 3. RSA Salausjärjestelmien käytön perusongelma oli pitkään seuraava: Kun Liisa ja Pentti haluavat vaihtaa salakirjoitettuja viestejä keskenään ja jos heidän käyttämänsä salausmenetelmä on symmetrinen,

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

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

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) LUKUTEORIAA JA ALGORITMEJA 3. Kongruenssit à 3.4 Kongruenssien laskusääntöjä Seuraavassa lauseessa saamme kongruensseille mukavia laskusääntöjä.

Lisätiedot

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

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 6 (8 sivua) OT. 1. a) Määritä seuraavat summat: Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 6 (8 sivua) 21.2.-25.2.2011 OT 1. a) Määritä seuraavat summat: [2] 4 + [3] 4, [2] 5 + [3] 5, [2] 6 + [2] 6 + [2] 6, 7 [3]

Lisätiedot

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

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1) Approbatur 3, demo, ratkaisut Sovitaan, että 0 ei ole luonnollinen luku. Tällöin oletusta n 0 ei tarvitse toistaa alla olevissa ratkaisuissa. Se, pidetäänkö nollaa luonnollisena lukuna vai ei, vaihtelee

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

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

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

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

Jäännösluokat. Alkupala Aiemmin on tullut sana jäännösluokka vastaan. Tarkastellaan Jäännösluokat LUKUTEORIA JA TODIS- TAMINEN, MAA Alkupala Aiemmin on tullut sana jäännösluokka vastaan. Tarkastellaan lukujoukkoja 3k k Z =, 6, 3, 0, 3, 6, 3k + k Z =,,,,, 7, 3k + k Z =,,,,, 8, Osoita,

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

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

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

(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9) 1. Pätevätkö seuraavat kongruenssiyhtälöt? (a) 40 13 (mod 9) (b) 211 12 (mod 2) (c) 126 46 (mod 3) Ratkaisu. (a) Kyllä, sillä 40 = 4 9+4 ja 13 = 9+4. (b) Ei, sillä 211 on pariton ja 12 parillinen. (c)

Lisätiedot

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

802354A Lukuteoria ja ryhmät Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Juha-Matti Tirilä, Antti Torvikoski, Topi Törmä 802354A Lukuteoria ja ryhmät Luentorunko Kevät 2014 Työryhmä: Markku Niemenmaa, Kari Myllylä, Juha-Matti Tirilä, Antti Torvikoski, Topi Törmä Sisältö 1 Ekvivalenssirelaatio 3 2 Lukuteoriaa 4 2.1 Lukuteorian

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

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

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

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

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

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

Äärellisesti generoitujen Abelin ryhmien peruslause

Äärellisesti generoitujen Abelin ryhmien peruslause Tero Harju (2008/2010) Äärellisesti generoitujen Abelin ryhmien peruslause Merkintä X on joukon koko ( eli #X). Vapaat Abelin ryhmät Tässä kappaleessa käytetään Abelin ryhmille additiivista merkintää.

Lisätiedot

802320A LINEAARIALGEBRA OSA I

802320A LINEAARIALGEBRA OSA I 802320A LINEAARIALGEBRA OSA I Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LINEAARIALGEBRA 1 / 72 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä

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

SALAUSMENETELMÄT. Osa 2. Etätehtävät

SALAUSMENETELMÄT. Osa 2. Etätehtävät SALAUSMENETELMÄT Osa 2 Etätehtävät A. Kysymyksiä, jotka perustuvat luentomateriaaliin 1. Määrittele, mitä tarkoitetaan tiedon eheydellä tieoturvan yhteydessä. 2. Määrittele, mitä tarkoittaa kiistämättömyys

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

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

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

Ennakkotehtävän ratkaisu

Ennakkotehtävän ratkaisu Ennakkotehtävän ratkaisu Ratkaisu [ ] [ ] 1 3 4 3 A = ja B =. 1 4 1 1 [ ] [ ] 4 3 12 12 1 0 a) BA = =. 1 + 1 3 + 4 0 1 [ ] [ ] [ ] 1 0 x1 x1 b) (BA)x = =. 0 1 x 2 x [ ] [ ] [ 2 ] [ ] 4 3 1 4 9 5 c) Bb

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

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141 Lineaarialgebra ja matriisilaskenta II LM2, Kesä 2012 1/141 Kertausta: avaruuden R n vektorit Määritelmä Oletetaan, että n {1, 2, 3,...}. Avaruuden R n alkiot ovat jonoja, joissa on n kappaletta reaalilukuja.

Lisätiedot

1. Esitä rekursiivinen määritelmä lukujonolle

1. Esitä rekursiivinen määritelmä lukujonolle Matematiikan laitos Johdatus Diskrettiin Matematiikkaan Harjoitus 4 24.11.2011 Ratkaisuehdotuksia Aleksandr Pasharin 1. Esitä rekursiivinen määritelmä lukujonolle (a) f(n) = (2 0, 2 1, 2 2, 2 3, 2 4,...)

Lisätiedot

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

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 9 (6 sivua) OT Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 9 (6 sivua) 28.3.-1.4.2011 OT 1. a) Osoita, että rengas R = {[0] 10, [2] 10, [4] 10, [6] 10, [8] 10 } on kokonaisalue. Mikä

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

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

Matematiikan ja tilastotieteen laitos Algebra I - Kesä 2009 Ratkaisuehdoituksia harjoituksiin 8 -Tehtävät 3-6 4 sivua Heikki Koivupalo ja Rami Luisto

Matematiikan ja tilastotieteen laitos Algebra I - Kesä 2009 Ratkaisuehdoituksia harjoituksiin 8 -Tehtävät 3-6 4 sivua Heikki Koivupalo ja Rami Luisto Matematiikan ja tilastotieteen laitos Algebra I - Kesä 2009 Ratkaisuehdoituksia harjoituksiin 8 -Tehtävät 3-6 4 sivua Heikki Koivupalo ja Rami Luisto 3. Oletetaan, että kunnan K karakteristika on 3. Tutki,

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

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

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

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

Esimerkki A1. Jaetaan ryhmä G = Z 17 H = 4 = {1, 4, 4 2 = 16 = 1, 4 3 = 4 = 13, 4 4 = 16 = 1}. Jaetaan ryhmä G = Z 17 n H = 4 sivuluokkiin. Ratkaisu: Koska 17 on alkuluku, #G = 16, alkiona jäännösluokat a, a = 1, 2,..., 16. Määrätään ensin n H alkiot: H = 4 = {1, 4, 4 2 = 16 = 1, 4 3 = 4 = 13, 4

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

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

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

renkaissa. 0 R x + x =(0 R +1 R )x =1 R x = x

renkaissa. 0 R x + x =(0 R +1 R )x =1 R x = x 8. Renkaat Tarkastelemme seuraavaksi rakenteita, joissa on määritelty kaksi assosiatiivista laskutoimitusta, joista toinen on kommutatiivinen. Vaadimme näiltä kahdella laskutoimituksella varustetuilta

Lisätiedot

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Jarmo Niemelä. Primitiivisistä juurista ja. alkuluokkaryhmistä

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Jarmo Niemelä. Primitiivisistä juurista ja. alkuluokkaryhmistä TAMPEREEN YLIOPISTO Pro gradu -tutkielma Jarmo Niemelä Primitiivisistä juurista ja alkuluokkaryhmistä Matematiikan, tilastotieteen ja filosofian laitos Matematiikka Marraskuu 2000 2 TAMPEREEN YLIOPISTO

Lisätiedot

Johdatus matematiikkaan

Johdatus matematiikkaan Johdatus matematiikkaan Luento 6 Mikko Salo 6.9.2017 Sisältö 1. Kompleksitaso 2. Joukko-oppia Kompleksiluvut Edellisellä luennolla huomattiin, että toisen asteen yhtälö ratkeaa aina, jos ratkaisujen annetaan

Lisätiedot

Testaa taitosi 1: Lauseen totuusarvo

Testaa taitosi 1: Lauseen totuusarvo Testaa taitosi 1: Lauseen totuusarvo 1. a) Laadi lauseen A (B A) totuustaulu. b) Millä lauseiden A ja B totuusarvoilla a-kohdan lause on tosi? c) Suomenna a-kohdan lause, kun lause A on olen vihainen ja

Lisätiedot

9 Matriisit. 9.1 Matriisien laskutoimituksia

9 Matriisit. 9.1 Matriisien laskutoimituksia 9 Matriisit Aiemmissa luvuissa matriiseja on käsitelty siinä määrin kuin on ollut tarpeellista yhtälönratkaisun kannalta. Matriiseja käytetään kuitenkin myös muihin tarkoituksiin, ja siksi on hyödyllistä

Lisätiedot

802328A LUKUTEORIAN PERUSTEET Merkintöjä ja Algebrallisia rakenteita

802328A LUKUTEORIAN PERUSTEET Merkintöjä ja Algebrallisia rakenteita 802328A LUKUTEORIAN PERUSTEET Merkintöjä ja Algebrallisia rakenteita Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LUKUTEORIA 1 / 25 Lukujoukkoja N = {0, 1, 2,..., GOOGOL 10,...} = {ei-negatiiviset

Lisätiedot

LUKUTEORIA 1 JYVÄSKYLÄN YLIOPISTO

LUKUTEORIA 1 JYVÄSKYLÄN YLIOPISTO LUKUTEORIA 1 JYVÄSKYLÄN YLIOPISTO Matemaatikot eivät ole tyytyväisiä tietäessään asioita neljästä miljoonasta tai neljästä miljardista kokonaisluvusta. He haluavat tietää asioita jokaisesta äärettömän

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

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

a) Mitkä seuraavista ovat samassa ekvivalenssiluokassa kuin (3, 8), eli kuuluvat joukkoon Matematiikan johdantokurssi, syksy 08 Harjoitus 3, ratkaisuista. Kokonaisluvut määriteltiin luonnollisten lukujen avulla ekvivalenssiluokkina [a, b], jotka määrää (jo demoissa ekvivalenssirelaatioksi osoitettu)

Lisätiedot

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

Algebran perusteet. 44 ϕ(105) = (105). Näin ollen Algebran perusteet Harjoitus 4, ratkaisut kevät 2016 1 a) Koska 105 = 5 21 = 3 5 7 ja 44 = 2 2 11, niin syt(44, 105) = 1 Lisäksi ϕ(105) = ϕ(3 5 7) = (3 1)(5 1)(7 1) = 2 4 6 = 48, joten Eulerin teoreeman

Lisätiedot

Eräitä RSA-salauksen haavoittuvuuksia

Eräitä RSA-salauksen haavoittuvuuksia Eräitä RSA-salauksen haavoittuvuuksia Helinä Anttila Matematiikan pro gradu Jyväskylän yliopisto Matematiikan ja tilastotieteen laitos Kevät 206 Tiivistelmä: Helinä Anttila, Eräitä RSA-salauksen haavoittuvuuksia,

Lisätiedot

ALKULUVUISTA (mod 6)

ALKULUVUISTA (mod 6) Oulun Yliopisto Kandidaatintutkielma ALKULUVUISTA (mod 6) Marko Moilanen Opiskelijanro: 1681871 17. joulukuuta 2014 Sisältö 1 Johdanto 2 1.1 Tutkielman sisältö........................ 2 1.2 Alkulukujen

Lisätiedot

6. Tekijäryhmät ja aliryhmät

6. Tekijäryhmät ja aliryhmät 6. Tekijäryhmät ja aliryhmät Tämän luvun tavoitteena on esitellä konstruktio, jota kutsutaan tekijäryhmän muodostamiseksi. Konstruktiossa lähdetään liikkeelle jostakin isosta ryhmästä, samastetaan alkioita,

Lisätiedot

Johdatus matemaattiseen päättelyyn

Johdatus matemaattiseen päättelyyn Johdatus matemaattiseen päättelyyn Maarit Järvenpää Oulun yliopisto Matemaattisten tieteiden laitos Syyslukukausi 2015 1 Merkintöjä 2 Todistamisesta 2 3 Joukko-oppia Tässä luvussa tarkastellaan joukko-opin

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

4. Eulerin ja Fermat'n lauseet

4. Eulerin ja Fermat'n lauseet 4. Eulerin ja Fermat'n lauseet 4.1 Alkuluokka ja Eulerin φ-funktio Yleensä olemme kiinnostuneita vain niistä jäännösluokista modulo m, joiden alkiot ovat suhteellisia alkulukuja luvun m kanssa. Näiden

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

RSA-salaus ja sen lukuteoreettinen pohja

RSA-salaus ja sen lukuteoreettinen pohja TAMPEREEN YLIOPISTO Pro gradu -tutkielma Pekka Larja RSA-salaus ja sen lukuteoreettinen pohja Informaatiotieteiden yksikkö Matematiikka Toukokuu 2011 Tampereen yliopisto Informaatiotieteiden yksikkö LARJA,

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

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

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

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

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A000 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2..205 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x x 2 =

Lisätiedot

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut 33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut 1. Kutsutaan (eri) positiivisten kokonaislukujen joukkoa merkitykselliseksi, jos sen jokaisen äärellisen epätyhjän osajoukon aritmeettinen ja geometrinen

Lisätiedot

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2

Lisätiedot

Ongelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa?

Ongelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa? Ongelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa? 2012-2013 Lasse Lensu 2 Ongelma 2: Miten tietoa voidaan (uudelleen)koodata tehokkaasti? 2012-2013 Lasse Lensu

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 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

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

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta: MATP00 Johdatus matematiikkaan Ylimääräisten tehtävien ratkaisuehdotuksia. Osoita, että 00 002 < 000 000. Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa. Lähdetään sieventämään epäyhtälön

Lisätiedot